Пакетное преобразование длинных лат в UTM?

11

У меня есть файл .csv, который содержит длинный список точек широты и долготы. Есть ли эффективный способ пакетного преобразования списка в спроектированную систему координат UTM?

HPY
источник

Ответы:

8

Возможно, самый простой способ - использовать что-то вроде QGIS и его текстовый плагин с разделителями для импорта и экспорта данных. Если вы ищете что-то командное и масштабируемое, тогда упомянутый Sasa подход VRT является хорошим.

Вы также можете сделать это с помощью файловых входов и выходов, используя gdaltransform:

gdaltransform -s_srs epsg:4326 -t_srs epsg:25832 < space-delimited-coordinates.txt

И если вам нужен более программный доступ к результатам, проверьте ответ geographika, используя pyroj для соответствующего вопроса.

SCW
источник
Можете ли вы более подробно рассказать о том, как мне экспортировать данные в QGIS? Я попытался щелкнуть правой кнопкой мыши на импортированном слое с точками, выбрать «Сохранить как ...» и указал UTM 16N в качестве проецируемой системы координат. Но полученный файл не был изменен!
hpy
Я могу. После того, как вы загрузите CSV, просто укажите на линейку слоя, затем сохраните как> выбранные crs> выберите систему для преобразования в> и сохраните. если вы хотите вернуться к CSV dfsfsd
yair suari
некоторые проблемы с редактированием. Если вы хотите вернуться к csv, используйте калькулятор атрибутов и вычислите значения $ x и $ y для геометрических функций
d,
9

С помощью arcmap
добавьте csv и используйте значения long long для создания таблицы событий. (щелкните правой кнопкой мыши слой> «Показать данные XY»)

Это создает слой событий с таблицей и точечным слоем (не реальный точечный слой, его необходимо экспортировать позже)

дисплей ху

установите проекцию документа (свойства фрейма данных) на желаемый выходной файл. (щелкните правой кнопкой мыши слои "в оглавлении"> свойства> вкладка системы координат).

Док проп

желаемый прогноз

щелкните правой кнопкой мыши слой в оглавлении> Экспорт данных

экспорт

Используйте опцию «использовать ту же систему координат, что и фрейм данных»

экспорт

Брэд Несом
источник
7

ogr2ogr должен быть в состоянии справиться с этим (вы можете скачать FWTools для быстрой установки).

Этот поток иллюстрирует, как перепроектировать данные CSV. Подводя итог, вам нужно создать файл VRT, который содержит ссылки на столбцы CSV:

<OGRVRTDataSource>
    <OGRVRTLayer name="test">
        <SrcDataSource>test.csv</SrcDataSource>
        <GeometryType>wkbPoint</GeometryType>
        <GeometryField encoding="PointFromColumns" x="RW" y="HW"/>
    </OGRVRTLayer>
</OGRVRTDataSource>

А затем запустите ogr2ogr для перепроектирования:

ogr2ogr -s_srs "epsg:31466" -t_srs "epsg:25832" -f "CSV" -lco GEOMETRY=AS_XY -sql "SELECT PNR FROM test" temp_dir test.vrt

Вам нужно заменить epsg: 31466 на соответствующий код EPSG для вашей системы координат UTM.

Саша Иветик
источник
4

Corpscon , бесплатный инструмент от Инженерного корпуса армии США, позволит вам конвертировать lat / long в / из UTM. Обратите внимание, что он ограничен США и может работать в Канаде .


источник
3

Рабочие таблицы и другой исходный код (Fortran, C ++ и т. Д.) Можно найти по адресу http://www.gpsy.com/gpsinfo/geotoutm/ Отличный ресурс за 1996 год (и до сих пор работает)!

Whuber
источник
3

У нас есть коммерческое (но доступное) отдельное настольное приложение, которое позволит вам конвертировать ваши координаты в пакетном режиме. Более подробную информацию можно найти по адресу: http://geomaticsolutions.com/products/geo-suite/geo-calc

Вы также можете использовать наш бесплатный онлайн-сервис для выполнения одноточечных преобразований. http://georepository.com/home.html

Энди
источник
3

Насколько я понимаю, вы не хотите просто перепроектировать файл, вы хотите преобразовать координаты сами и получить новый файл с новыми координатами. Если вы Google «конвертируете широту / долготу в utm», вы должны найти таблицы Excel, которые будут выполнять эту конвертацию (например, в Университете Висконсин-Грин-Бэй или в ответе Whuber выше). Или вы можете приобрести программное обеспечение, такое как AllTrans или Franson Coordtrans, которое выполняет пакетное преобразование во многие различные системы координат.

Или, менее простым, но более образовательным, является изучение синтаксиса для gdal или FWTools.

Rudi
источник
3

Для решения сценариев вы можете использовать pyproj :

import sys
import csv
import pyproj

# example invocation
# ./reproj.py ./file.csv 32619 4326

if (len(sys.argv) != 4):
    print '%s <csvfile> <epsg_code_in> <epsg_code_out>' % sys.argv[0]
    sys.exit(1)
else:
    p1 = pyproj.Proj(init='epsg:%s' % sys.argv[2])
    p2 = pyproj.Proj(init='epsg:%s' % sys.argv[3])

    f = open(sys.argv[1], 'r')
    table = csv.reader(f)
    for row in table:
        print '%s %s' % (row[1], row[2])
        newxy = pyproj.transform(p1, p2, row[1], row[2])
        print '%s %s' % (row[0], newxy[0], newxy[1])
    f.close()
tomkralidis
источник
Спасибо, товарищ программист! NB: это будет работать, если ваш CSV-файл имеет более 3 столбцов, а ваши xy данные являются вторым и третьим столбцами. Мне просто пришлось немного откорректировать индексы, поскольку мои входные данные х / у находятся в первых двух столбцах. Такой понятный, расширяемый и многократно используемый!
Ахмед Фасих
2

Следующий новый сайт конвертирует файлы онлайн. (Использует pyproj)

Он также генерирует KML, и входной файл часто можно оставить «как есть» и не переформатировать для соответствия программе преобразования.

Sorry i cant post a numeric domain so have to wrap it in a code block!
http://54.251.49.75/XYZ_tools

Пожалуйста, вырезайте и вставляйте ссылку, чтобы перейти по ней.

Ninga
источник
Убрал это. Обойдется мне в 120 долларов в год + время администратора при слишком малом количестве пользователей. Сожалею.
Нинга
1

Я бы не пошел на решение ARC; для таких распространенных конверсий существует множество онлайн-инструментов, таких как http://www.hamstermap.com - просто скопируйте и вставьте список координат, и вы получите их мгновенно конвертированные.

Петра Хауэрландова
источник
Лучший онлайн пакетный конвертер для Lon / Lat в UTM находится по адресу < zonums.com/online/coords/cotrans.php?module=13 > Кажется, инструмент hamstermap меняет входные координаты, тогда как инструмент zonums не портит входные данные, а также зоны, которые используются для данных по всему миру - только в WGS84, но позволяют установить зону. Просто следите за тем, чтобы выбрать правильный вариант из широты / долготы или долготы / широты. Инструмент Zonums дает правильные результаты и, безусловно, его проще использовать, чем возиться со скриптами или чем-то еще.
Янв