Bagaimana mengkonversi 6 & 7 digit koordinat ke derajat lintang & bujur

8

Saya agak baru di seluruh dunia GIS, dan meskipun saya membuat kemajuan besar menggambar poligon dan semacamnya di Bing Maps, saya saat ini terjebak. Dalam data spasial SQL kami, saya menemukan data MULTIPOLYGON, di mana semua nilai koordinat adalah angka yang sangat besar (6 digit dan 7 digit untuk apa yang seharusnya lintang dan bujur, sebelum desimal). Saya menemukan metode SQL untuk membongkar multi-poligon menjadi beberapa poligon, tetapi nilai-nilai besar itu tidak berfungsi di Bing Maps atau Google Maps. Jadi saya telah mencari sebuah algoritma untuk mengkonversi angka-angka besar ke apa yang saya anggap sebagai angka garis lintang / bujur biasa, seperti 45.19167 -93.58328 (yang berfungsi pada peta online).

Dengan itu, dapatkah seseorang tolong tunjukkan atau arahkan saya ke arah yang bagus untuk belajar bagaimana mengonversi 631456,83, 3816200,79 menjadi sesuatu yang bisa saya gunakan online. Saya tahu koordinatnya jatuh di suatu tempat di Arizona.

Jonathan Hansen
sumber
1
Anda perlu mengonversi data itu dari satu sistem koordinat ke yang lain. Jangan gunakan algoritma, gunakan perpustakaan. Atau aplikasi desktop GIS. Atau OGR. alastaira.wordpress.com/ogr2ogr-patterns-for-sql-server
Alex Leith
3
Harap perbarui pertanyaan dengan lokasi data / titik sampel Anda (kota, kabupaten, dll). Seperti yang disiratkan @radar, data Anda berada dalam sistem referensi koordinat yang diproyeksikan, bukan geografis. Mungkin UTM, tetapi bisa juga sesuatu yang lain. Mengetahui di mana data akan memungkinkan seseorang untuk mengetahui zona UTM mana, atau jika ada ProjCRS lain yang mungkin.
mkennedy
1
Pertanyaan duplikat pada SO (dengan sampel poligon): stackoverflow.com/q/20552567
Antonio Falciano
Saya tidak menyadari situs ini ada sampai saya diposting di StackOverflow dan mendapat semua jenis tanggapan dari orang-orang yang tampaknya sama bingungnya dengan saya. :-)
Jonathan Hansen
Ada beberapa kebingungan di sini karena Anda tampaknya telah mencampuradukkan makna lintang dan bujur.
whuber

Jawaban:

9

Koordinat Anda kemungkinan berada di Timur dan Utara UTM (Universal Transverse Mercator).

Anda dapat mengonversi koordinat UTM ke lat / long online menggunakan banyak situs berbeda. Di sini, di satu . Anda juga dapat melakukan perhitungan ini di excel atau di dalam database jika Anda bisa mengerjakan rumus. Atau Anda dapat melakukan konversi di dalam GIS seperti QGIS atau ArcGIS.

Sebelum Anda dapat mengonversi koordinat ke lat / long, Anda perlu mengetahui zona UTM mana yang menjadi koordinat Anda.

Ini adalah contoh untuk Amerika Utara:

masukkan deskripsi gambar di sini

Dalam contoh ini, sebagian besar Florida berada dalam zona UTM 17N.

Saya menemukan halaman ini dengan mencari 'batch convert UTM to lat / long'.

Radar
sumber
3
Jika lintang memiliki enam digit dan bujur tujuh, itu hampir pasti bukan koordinat UTM.
whuber
1
Zona UTM hanyalah beberapa dari banyak Sistem Koordinat yang Diproyeksikan sehingga penanya mungkin perlu meneliti yang mana yang telah digunakan jika inversi sederhana X dan Y-nya tidak mulai masuk akal bagi UTM.
PolyGeo
Perusahaan tempat saya bekerja telah menggunakan aplikasi pihak ke-3 untuk memproses tampilan GIS mereka, tetapi aplikasi tersebut sangat lambat dan ketinggalan zaman, dan saya ditugaskan untuk melihat apakah solusi khusus dapat dikembangkan untuk menampilkan peta GIS ini di Bing Maps, karena bagian dari layanan online kami. Saya tahu bahwa semua koordinat berada dalam batas Amerika Serikat.
Jonathan Hansen
Saya tahu Negara bagian dan Kabupaten mana koordinat, bersama dengan berapa banyak total hektar, bersama dengan bidang yang saya anggap FarmNumber dan TractNumber. Semoga dengan data ini saya bisa menentukan Zone.
Jonathan Hansen
Radar, itu menempatkan saya ke kondisi yang benar. Terima kasih banyak untuk menjelaskan hal ini kepada saya. Sekarang saya perlu mencari cara untuk menentukan Zona secara dinamis, berdasarkan pasangan Negara / Kabupaten ... tapi itu terdengar menyenangkan.
Jonathan Hansen
7

Coba yang ini:

http://cs2cs.mygeodata.eu/

atau gunakan "proj" (baris perintah di bawah ini dengan asumsi zona UTM 17 selatan dan wgs84):

# geographical coordinates (ie. longitude,latitude) to utm
proj -f "%.4f" +proj=utm +zone=17 +south +ellps=WGS84 < myfile

# utm to geographical coordinates (ie. longitude,latitude)
proj -f "%.4f" +proj=utm +zone=17 +south +ellps=WGS84 -I < my file

Dalam kasus Anda (yaitu, 631456.83356859628, 3816200.7961099017; yang merupakan koordinat UTM Easting dan Northing masing-masing sebagai METER), Anda perlu mengetahui ZONA utm dan HEMISPHERE utm (seperti ZONA 17 SELATAN di atas). Data Anda kemungkinan harus dalam WGS84.

Pada akhirnya jika Anda tidak tahu zona UTM Anda, saya hanya akan berputar di atas zona UTM USA (mis. 10-19) untuk mendapatkan koordinat geografis, dan kemudian memplot koordinat yang dihasilkan untuk melihat mana yang benar. :

for ((utmZone=10;utmZone<20;utmZone++))
do
  echo 631456.83356859628 3816200.7961099017 | proj -f "%.4f" +proj=utm +zone=$utmZone +north +ellps=WGS84 -I
done

mendapatkan:

-121.5685       34.4790
-115.5685       34.4790
-109.5685       34.4790
-103.5685       34.4790
-97.5685        34.4790
-91.5685        34.4790
-85.5685        34.4790
-79.5685        34.4790
-73.5685        34.4790
-67.5685        34.4790

di mana "% .4f" mengontrol jumlah desimal.

Semoga ini membantu,

Gery
sumber