Пакетне перетворення Lat Longs в UTM?


11

У мене є .csv файл, який містить довгий список точок широти та довготи. Чи є ефективний спосіб пакетного перетворення списку в проектовану систему координат UTM?

Відповіді:


8

Можливо, найпростішим способом є використання чогось на зразок QGIS та його розділеного текстового плагіна для імпорту та експорту даних. Якщо ви шукаєте щось командне коло та масштабоване, то VRT-підхід, про який говорив Саса, є хорошим.

Ви також можете це зробити з файловими входами та виходами, використовуючи gdaltransform:

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

І якщо вам потрібен більш програмний доступ до результатів, ознайомтеся з відповіддю географіки, використовуючи pyroj для відповідного питання.


Чи можете ви бути більш конкретними щодо того, як я повинен експортувати дані в QGIS? Я спробував правою кнопкою миші на імпортований шар з точками, натисніть Зберегти як ... і вказав UTM 16N як свою проектовану систему координат. Але отриманий файл не змінено!
hpy

Я можу. Після завантаження CSV просто вкажіть на лінійку шарів, а потім збережіть як> вибрані crs> виберіть систему для перетворення в> та збережіть. якщо ви хочете повернутися до CSV dfsfsd
yair suari

деякі проблеми з редагуванням. якщо ви хочете повернутися до csv, використовуйте калькулятор атрибутів і обчисліть значення $ x і $ y на геометрії
функційd,

9

За допомогою arcmap
додайте csv та використовуйте lat longs для створення таблиці подій. (шар правою кнопкою миші> "Відображення даних XY")

Це створює шар події з шаром таблиці та точок (не реальний точковий шар, його потрібно експортувати пізніше)

відображення xy

встановіть проекцію документа (властивості кадру даних) на потрібний вихід файлу. (шари клацніть правою кнопкою миші "на TOC"> властивості> вкладка системи координат).

Док. Опор

бажана проекція

клацніть правою кнопкою миші шар в TOC> Експорт даних

експорт

Скористайтеся опцією "використовувати ту саму систему координат, що і: кадр даних"

експорт


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

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

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


3

Наскільки я це розумію, ви не хочете просто відтворювати файл, ви хочете перетворити самі координати і мати новий файл з новими координатами. Якщо ви "конвертуєте lat / lon в utm", ви повинні знайти таблиці Excel, які здійснюватимуть це перетворення (наприклад, в Університеті Вісконсина Грін-Бей або у відповіді Ваубера вище). Або ви можете придбати програмне забезпечення на зразок AllTrans або Franson Coordtrans, яке пакетне перетворення в різні системи координат і з них.

Або менш простою, але більш навчальною, є вивчення синтаксису для gdal або FWTools.


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()

Дякую, товариш програміст! Примітка: це спрацює, якщо ваш файл CSV містить 3+ стовпців, при цьому ваші дані xy є другим та третім стовпцями. Мені просто довелося трохи відкоригувати індекси, оскільки мій вхід x / y знаходиться в перших двох стовпцях. Так чітко, розширюється та багаторазово використовувати!
Ахмед Фасіх

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

Виріжте та вставте посилання, щоб перейти за ним.


Вилучили його. Коштує мені 120 доларів на рік + час адміністратора з надто малою кількістю користувачів. Вибачте.
Нінга

1

Я б не пішов на рішення ARC; Для цих загальних перетворень існує безліч онлайн-інструментів, таких як http://www.hamstermap.com - просто скопіюйте та вставте список координат, і ви отримаєте їх негайно перетворити.


Кращий інтернет-пакетний перетворювач для Lon / Lat в UTM знаходиться на < zonums.com/online/coords/cotrans.php?module=13 > Інструмент хом'яків, здається, змінює вхідні координати, тоді як інструмент zonums не псує. вхідні дані, а також zonums, який працює для даних у всьому світі - лише в WGS84, але це дозволяє встановлювати зону. Просто слідкуйте, щоб вибрати правильний варіант з lat / lon або lon / lat. Інструмент Zonums дає правильні результати, і, звичайно, простіший у використанні, ніж возитися зі сценаріями чи будь-яким іншим.
Ян Ян
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.