Rumah >Java >javaTutorial >Bagaimana untuk Menukar Latitud dan Longitud kepada Koordinat Piksel Unjuran Mercator?
Menukar Latitud dan Longitud kepada Koordinat Piksel Unjuran Mercator
Untuk memaparkan koordinat geografi pada imej unjuran Mercator, anda perlu menukar latitud dan longitud nilai ke dalam koordinat piksel yang sepadan.
Sifat Unjuran Mercator
Unjuran Mercator ialah unjuran peta konform yang mengekalkan sudut antara garis bersilang. Latitud diwakili oleh garis lurus mendatar, manakala longitud diwakili oleh garis lurus menegak.
Formula Penukaran
Untuk memperoleh koordinat Timur (x) dan Utara (y) daripada latitud dan longitud, formula berikut boleh digunakan:
E = R * (λ - λₒ) N = R * ln[tan(π/4 + φ/2)]
di mana:
Mempermudahkan formula untuk unjuran Mercator sfera:
x = R * λ y = R * ln[tan((π/4) + (φ/2))]
Pelaksanaan Kod
Berikut ialah contoh dalam Python yang melakukan penukaran:
import math earth_radius = 6371000 # in meters def mercator_projection(latitude, longitude, map_width, map_height): """Converts latitude and longitude to Mercator projection pixel coordinates. Args: latitude (float): Latitude in degrees. longitude (float): Longitude in degrees. map_width (float): Width of the map image in pixels. map_height (float): Height of the map image in pixels. Returns: tuple: A tuple containing the x and y pixel coordinates. """ # Convert latitude and longitude to radians latitude_radians = math.radians(latitude) longitude_radians = math.radians(longitude) # Calculate x and y pixel coordinates x = (longitude_radians + math.pi) * (map_width / (2 * math.pi)) y = (map_height / 2) - (map_height * math.log(math.tan((math.pi / 4) + (latitude_radians / 2))) / (2 * math.pi)) return x, y
Contoh Penggunaan
map_width = 991 map_height = 768 latitude = 58.07 longitude = -5.93 x, y = mercator_projection(latitude, longitude, map_width, map_height) print(f"x: {x}, y: {y}")
Ini akan memaparkan koordinat piksel pada imej unjuran Mercator untuk latitud dan longitud yang ditentukan.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Latitud dan Longitud kepada Koordinat Piksel Unjuran Mercator?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!