Як перетворити координати площини держави в широту-довготу?


Відповіді:


19

Вам потрібно буде відхилити їх для обробки цього перетворення.

Proj.4 - це дуже стандартна бібліотека, яка використовується великою кількістю програмного забезпечення для репроекцій.

Одним із способів використання цього буде використання такої утиліти, як gdaltransform, щоб зробити перетворення за вас.


9

Якщо ви знаєте , відповідні EPSG коди або параметри proj.4, як gdaltransformі proj.4 в cs2cs( сторінка керівництва ) хороший маршрут, як уже згадувалося Рід.

Тим НЕ менше, якщо ви опиняєтеся без цієї інформації, спробуйте spatialreference.org : вона забезпечує параметри, а також веб - карта робить широту / довготу для перетворення координат системи ( приклад з фазової площині IL ). Оскільки у багатьох проекціях площин стану відсутній код EPSG, використовуйте sr.org для пошуку рядка proj.4, який gdaltransformрозуміє. Ось приклад перетворення з площинної зони V штату Каліфорнія в WGS84 лат / довгі пари:

gdaltransform -s_srs '+proj=lcc +lat_1=34.03333333333333 \ 
+lat_2=35.46666666666667 +lat_0=33.5 +lon_0=-118 +x_0=2000000 +y_0=500000 \ 
+ellps=GRS80 +units=m +no_defs' -t_srs epsg:4326

Після цього введення тексту 1815241.25377291 557301.336190851має повернутися -120 33.9999999999996.


Це правильно, але є помилка друку, аргумент -s_srs наводиться двічі. Команда повинна закінчуватися на -t_srs:gdaltransform -s_srs '+proj=lcc +lat_1=34.03333333333333 +lat_2=35.46666666666667 +lat_0=33.5 +lon_0=-118 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m +no_defs' -t_srs epsg:4326
alvin

@alvin, я виправив помилку, дякую за голову!
scw

8

Клієнт чи сервер? Мова специфічна? Одноразові чи об'ємні?

Напр. - для клієнтської сторони - з JavaScript - використовуйте OpenLayers + Proj4js.

0) Імпортуйте всі відповідні вкладки

1) створити свою точку

var lonlat = new OpenLayers.LonLat( ....)

2) перетворити його

lonlat.transform( new OpenLayers.Projection("epsg:XXXX"), new OpenLayers.Projection("epsg:4326"));

тепер lonlat.lon та lonlat.lat знаходяться у значеннях WGS84 lon / lat.


Це працює, але вимагає спеціальної розробки. Не впевнений, чи хотів ОП просто користуватися інструментом.
Рід Копсей

1
Правильно, я наводив лише один приклад - на стороні клієнта, javascript у коді. ОП не вказав, що він шукав. Навіть прийнята відповідь - це бібліотека. Існує також безліч веб-сайтів, які дають вам просту форму для ручного введення коордів та дозволяє трансформувати.
Вадим

6

Одна безкоштовна і надзвичайно проста програма - це CorpsCon, який конвертуватиме одиничні точки, партії точок у текстові файли та має DLL, який можна використовувати із програмних середовищ, таких як python.

2014-07-09: оновлене посилання http://www.agc.army.mil/Missions/Corpscon.aspx Натиснувши "Завантажити CorpsCon", ви перейдете на сторінку, яка виглядає дещо дивною та тимчасовою, але працює.


Посилання не працює. Вам хтось подібний?
Scott_B

Мені цікаво використовувати Corpscon dll в python, чи є там документація, яку я не бачив на сайті corpscon.
Гері Лестер,


Нещодавно я почав використовувати pyproj для всіх перетворень всередині python в кінці публікації, переліченої нижче, ви можете побачити, як це можна зробити дуже легко лише за пару рядків. dshimer.blogspot.com/2012/11/…
Денніс

3

Якщо ви хочете побудувати його самостійно, ось документ Національного геодезичного обстеження, який описує перетворення:

http://www.ngs.noaa.gov/PUBS_LIB/ManualNOSNGS5.pdf

Вам все одно потрібно знати конкретні параметри для прогнозування, що цікавить.


2

Інший варіант (але лише для NAD83) - SPCS83 за адресою http://www.ngs.noaa.gov/PC_PROD/SPCS83 . Він працює у вікні командного рядка на ПК та перетворює або інтерактивно, або з введення текстового файлу. Він включає вихідний код, якщо ви просто хочете алгоритм. Джерелом є Fortran, який може бути болючим у використанні, але досить простий для розшифровки, щоб вивести алгоритми. Також див. Www.metzgerwillard.us/spcge/spcge.html, який є передньою частиною для SPCS83 в Google Планета Земля.


2

Перевірте безкоштовну послугу перекладу. Завантажте свої дані та вкажіть потрібну систему координат виводу. Вибравши той самий формат для виводу, що і вхід, ви ефективно робите репроекцію.

Службу можна знайти на веб-сайті http://fmeserver.com/userweb/sharper/Portal/EasyTranslator/index.html

і базується на продукті FME. Також є безкоштовна 14-денна пробна версія цього питання. www.safe.com



Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.