Rumah > Java > javaTutorial > Bagaimanakah anda menukar latitud dan longitud kepada unjuran Mercator?

Bagaimanakah anda menukar latitud dan longitud kepada unjuran Mercator?

Barbara Streisand
Lepaskan: 2024-11-08 18:31:02
asal
214 orang telah melayarinya

How do you convert latitude and longitude to Mercator projections?

Unjuran Mercator: Menukar Latitud/Longitud kepada Unjuran Mercator

Unjuran Mercator ialah unjuran peta yang selaras dan sama jarak di sepanjang garis tertentu. Ia mengekalkan bentuk tetapi bukan kawasan dan digunakan secara meluas untuk carta navigasi.

Menukar Latitud/Longitud kepada Unjuran Mercator

Untuk menukar titik latitud/longitud kepada Unjuran Mercator, kami menggunakan formula berikut:

E = FE + R (λ – λₒ)
N = FN + R ln[tan(π/4 + φ/2)] 
Salin selepas log masuk

di mana:

  • E ialah unjuran Timur
  • N ialah unjuran Utara
  • λ ialah longitud
  • φ ialah latitud
  • FE ialah false easting
  • FN ialah false northing
  • λₒ ialah longitud asal semula jadi

Untuk Sfera Mercator, FE dan FN ialah 0, memudahkan formula kepada:

E = R * (λ – λₒ)
N = R * ln[tan(π/4 + φ/2)]
Salin selepas log masuk

Contoh Kod

Dalam pseudo kod, kami menukar latitud dan longitud kepada unjuran Mercator seperti berikut:

latitude    = 41.145556; // (φ)
longitude   = -73.995;   // (λ)

mapWidth    = 200;
mapHeight   = 100;

// get x value
x = (longitude+180)*(mapWidth/360)

// convert from degrees to radians
latRad = latitude*PI/180

// get y value
mercN = ln(tan((PI/4)+(latRad/2)));
y     = (mapHeight/2)-(mapWidth*mercN/(2*PI));
Salin selepas log masuk

Dengan menggunakan formula ini dan menukar daripada radian kepada darjah mengikut keperluan, kami boleh menukar titik latitud/longitud kepada unjuran Mercator dengan tepat. Pengetahuan ini penting untuk memaparkan data pada peta yang diunjurkan Mercator.

Atas ialah kandungan terperinci Bagaimanakah anda menukar latitud dan longitud kepada unjuran Mercator?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan