Учитывая конкретную систему координат плоскости состояния (NAD27 или NAD83), есть ли какие-либо ресурсы для преобразования в широту-долготу?
Учитывая конкретную систему координат плоскости состояния (NAD27 или NAD83), есть ли какие-либо ресурсы для преобразования в широту-долготу?
Ответы:
Вам нужно будет перепроектировать их для обработки этого преобразования.
Proj.4 - очень стандартная библиотека, используемая многими программами для перепроецирования.
Одним из способов использования этого было бы использование утилиты, подобной gdaltransform, для выполнения преобразования за вас.
Если вы знаете соответствующие коды EPSG или параметры proj.4, оба, gdaltransform
и proj.4 cs2cs
( man-страница ), являются хорошим маршрутом, как упоминал Рид.
Тем не менее, если вы оказались без этой информации, попробуйте пространственные ссылки.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
.
Клиент или сервер? Конкретный язык? Разовая или основная?
Например, на стороне клиента - с 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.
Одна из бесплатных и чрезвычайно простых программ - CorpsCon, которая преобразует отдельные точки, пакеты точек в текстовые файлы и имеет библиотеку DLL, которую можно использовать в среде программирования, такой как python.
2014-07-09: обновленная ссылка http://www.agc.army.mil/Missions/Corpscon.aspx Нажатие «Загрузить CorpsCon» приведет вас на страницу, которая выглядит немного странной и временной, но работает.
Если вы хотите построить его самостоятельно, вот документ из Национальной геодезической службы, в котором описаны преобразования:
http://www.ngs.noaa.gov/PUBS_LIB/ManualNOSNGS5.pdf
Вам все равно нужно будет знать конкретные параметры для проекции интереса.
Другой вариант (но только для NAD83) - это SPCS83 на http://www.ngs.noaa.gov/PC_PROD/SPCS83 . Он запускается в окне командной строки на ПК и конвертируется либо в интерактивном режиме, либо из ввода текстового файла. Он включает в себя исходный код, если вы действительно хотите алгоритм. Источником является Фортран, который может быть проблематичным в использовании, но его достаточно легко расшифровать, чтобы получить алгоритмы. Также см. Www.metzgerwillard.us/spcge/spcge.html, который является интерфейсом для SPCS83 в Google Планета Земля.
Проверьте бесплатный сервис перевода. Загрузите ваши данные, а затем укажите желаемую выходную систему координат. Выбрав тот же формат для вывода, что и для ввода, вы фактически делаете перепроецирование.
Служба находится по адресу http://fmeserver.com/userweb/sharper/Portal/EasyTranslator/index.html.
и основан на продукте FME. Существует также бесплатная 14-дневная пробная версия этого. www.safe.com
Этот сайт может помочь, если вы просто хотите конвертировать одну точку. Это не сработало для меня, но, похоже, работает для большинства областей.
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