Java
javaTutorial
Bagaimana untuk Menukar Latitud dan Longitud kepada Koordinat Piksel Menggunakan Unjuran Mercator?
Bagaimana untuk Menukar Latitud dan Longitud kepada Koordinat Piksel Menggunakan Unjuran Mercator?

Penukaran Piksel Unjuran Mercator
Unjuran Mercator digunakan secara meluas dalam pemetaan, terutamanya untuk carta navigasi. Ia menukar koordinat latitud dan longitud kepada grid segi empat tepat, menjadikannya ideal untuk memaparkan peta dunia pada permukaan rata.
Penerbitan Formula
Unjuran Mercator diperolehi daripada unjuran silinder. Formula untuk menukar latitud dan longitud kepada koordinat segi empat tepat ialah:
E = FE + R (λ – λ0) N = FN + R ln[tan(π/4 + φ/2)]
di mana:
- E ialah koordinat Timur
- N ialah koordinat Utara
- FE dan FN ialah nilai timur palsu dan utara palsu
- R ialah jejari Bumi
- λ ialah longitud
- λ0 ialah longitud asal semula jadi
- φ ialah latitud
Dalam unjuran Mercator sfera, FE dan FN tidak digunakan, jadi formula dipermudahkan kepada:
x = (λ + 180) * (mapWidth / 360) y = (mapHeight / 2) - (mapWidth * ln(tan((PI / 4) + (latRad / 2))) / (2 * PI))
di mana:
- x ialah koordinat Timur dalam piksel
- y ialah koordinat Utara dalam piksel
- latRad ialah latitud dalam radian
- mapWidth dan mapHeight ialah dimensi imej peta dalam piksel
Pelaksanaan
Di Java, anda boleh melaksanakan penukaran unjuran Mercator seperti berikut:
public static void main(String[] args) {
double latitude = 41.145556;
double longitude = -73.995;
double mapWidth = 200;
double mapHeight = 100;
// Convert latitude from degrees to radians
double latRad = latitude * Math.PI / 180;
// Calculate Easting and Northing coordinates
double x = (longitude + 180) * (mapWidth / 360);
double y = (mapHeight / 2) - (mapWidth * Math.log(Math.tan((Math.PI / 4) + (latRad / 2))) / (2 * Math.PI));
System.out.println("Easting: " + x);
System.out.println("Northing: " + y);
}Atas ialah kandungan terperinci Bagaimana untuk Menukar Latitud dan Longitud kepada Koordinat Piksel Menggunakan Unjuran Mercator?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!
Alat AI Hot
Undress AI Tool
Gambar buka pakaian secara percuma
Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik
AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.
Clothoff.io
Penyingkiran pakaian AI
Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!
Artikel Panas
Alat panas
Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma
SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan
Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa
Dreamweaver CS6
Alat pembangunan web visual
SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)
Penanda aras prestasi benang maya java
Jul 21, 2025 am 03:17 AM
Benang maya mempunyai kelebihan prestasi yang signifikan dalam senario yang sangat konkurensi dan intensif, tetapi perhatian harus dibayar kepada kaedah ujian dan senario yang berkenaan. 1. Ujian yang betul harus mensimulasikan perniagaan sebenar, terutamanya senario menyekat IO, dan menggunakan alat seperti JMH atau Gatling untuk membandingkan benang platform; 2. Jurang throughput adalah jelas, dan boleh beberapa kali hingga sepuluh kali lebih tinggi daripada 100,000 permintaan serentak, kerana ia lebih ringan dan cekap dalam penjadualan; 3. Semasa ujian, adalah perlu untuk mengelakkan membabi buta mengejar nombor konvensional yang tinggi, menyesuaikan diri dengan model IO yang tidak menyekat, dan memberi perhatian kepada petunjuk pemantauan seperti latensi dan GC; 4.
Melaksanakan senarai yang dipautkan di Java
Jul 20, 2025 am 03:31 AM
Kunci untuk melaksanakan senarai yang dipautkan adalah untuk menentukan kelas nod dan melaksanakan operasi asas. ①First Buat kelas nod, termasuk data dan rujukan kepada nod seterusnya; ② Kemudian buat kelas LinkedList, melaksanakan fungsi penyisipan, penghapusan dan percetakan; Kaedah tambahan digunakan untuk menambah nod pada ekor; ④ Kaedah PrintList digunakan untuk mengeluarkan kandungan senarai yang dipautkan; ⑤ Kaedah DeletewithValue digunakan untuk memadam nod dengan nilai tertentu dan mengendalikan situasi yang berbeza dari nod kepala dan nod perantaraan.
Java Microservices Perkhidmatan Mesh Integrasi
Jul 21, 2025 am 03:16 AM
ServiceMesh adalah pilihan yang tidak dapat dielakkan untuk evolusi seni bina microservice Java, dan terasnya terletak pada decoupling logik rangkaian dan kod perniagaan. 1. ServiceMesh mengendalikan pengimbangan beban, fius, pemantauan dan fungsi lain melalui agen sidecar untuk memberi tumpuan kepada perniagaan; 2. INTOR ISTIO sesuai untuk projek sederhana dan besar, dan Linkerd lebih ringan dan sesuai untuk ujian berskala kecil; 3. Java microservices harus menutup, reben dan komponen lain dan menyerahkannya kepada Istiod untuk penemuan dan komunikasi; 4. Memastikan suntikan automatik sidecar semasa penempatan, perhatikan konfigurasi peraturan lalu lintas, keserasian protokol, dan pembinaan sistem penjejakan log, dan mengamalkan penghijrahan tambahan dan perancangan pemantauan pra-kawalan.
Bagaimana menangani transaksi di Java dengan JDBC?
Aug 02, 2025 pm 12:29 PM
Untuk mengendalikan transaksi JDBC dengan betul, anda mesti terlebih dahulu mematikan mod komit automatik, kemudian melakukan pelbagai operasi, dan akhirnya melakukan atau mengembalikan semula hasilnya; 1. Panggil Conn.SetAutOcommit (palsu) untuk memulakan transaksi; 2. Melaksanakan pelbagai operasi SQL, seperti memasukkan dan mengemaskini; 3. Panggil Conn.Commit () jika semua operasi berjaya, dan hubungi conn.rollback () jika pengecualian berlaku untuk memastikan konsistensi data; Pada masa yang sama, cuba-dengan-sumber harus digunakan untuk menguruskan sumber, mengendalikan pengecualian dengan betul dan menutup sambungan untuk mengelakkan kebocoran sambungan; Di samping itu, adalah disyorkan untuk menggunakan kolam sambungan dan menetapkan mata simpan untuk mencapai rollback separa, dan menyimpan urus niaga sesingkat mungkin untuk meningkatkan prestasi.
Menguasai Suntikan Ketergantungan di Jawa dengan Spring dan Guice
Aug 01, 2025 am 05:53 AM
DependencyInjection (DI) isadesignpatternwhereBjectsReceivedependencys ke luar, promotingloosecouplingandeasieSierTestthroughconstructor, setter, orfieldInjection.2.springframeworkusesannotationsike@component,@service, dan@autowwithjava yang berasaskan@autowwithjava
Pengoptimuman Rangka Kerja Koleksi Lanjutan
Jul 20, 2025 am 03:48 AM
Untuk meningkatkan prestasi Rangka Kerja Koleksi Java, kami dapat mengoptimumkan dari empat mata berikut: 1. Pilih jenis yang sesuai mengikut senario, seperti akses rawak yang kerap ke ArrayList, carian cepat ke hashset, dan serentak untuk persekitaran serentak; 2. Menetapkan kapasiti dan faktor beban yang munasabah semasa permulaan untuk mengurangkan overhead pengembangan kapasiti, tetapi elakkan sisa memori; 3. Gunakan set yang tidak berubah (seperti list.of ()) untuk meningkatkan keselamatan dan prestasi, sesuai untuk data tetap atau baca sahaja; 4. Mencegah kebocoran memori, dan gunakan rujukan lemah atau perpustakaan cache profesional untuk menguruskan set survival jangka panjang. Butiran ini memberi kesan ketara kepada kestabilan dan kecekapan program.
Membandingkan kerangka Java: Spring Boot vs Quarkus vs Micronaut
Aug 04, 2025 pm 12:48 PM
Pra-formancetartuptimemoryusage, quarkusandmicronautleadduetocompile-timeprocessingandgraalvsupport, withquarkusoftenperforminglightbetterine serverless scenarios.tyvelopecosyste,
Membina API Restful di Jawa dengan Jakarta EE
Jul 30, 2025 am 03:05 AM
SetupaMaven/gradleprojectwithjax-rsdependencyiSejersey; 2.createarescresourceUsingAnnotationssuchas@pathand@get; 3.configuretheapplicationviaapplicationsubclassorweb.xml;


