緯度経度をUTMにバッチ変換しますか?


11

緯度と経度の長いリストを含む.csvファイルがあります。リストを投影されたUTM座標系にバッチ変換する効率的な方法はありますか?

回答:


8

おそらく最も簡単な方法は、QGISとその区切りテキストプラグインのようなものを使用して、データをインポートおよびエクスポートすることです。コマンドラインとスケーラブルな何かを探しているなら、Sasaが述べたVRTアプローチが良い方法です。

また、ファイルの入力および出力を使用してそれを行うことができますgdaltransform

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

さらにプログラムによる結果へのアクセスが必要な場合は、pyroj使用して関連する質問についてgeographikaの回答を確認してください。


QGISでデータをエクスポートする方法をもっと具体的に教えてください。インポートしたレイヤーをポイントで右クリックし、[名前を付けて保存...]をクリックして、UTM 16Nを投影座標系として指定しようとしました。しかし、結果のファイルは変更されませんでした!
hpy

CSVを読み込んだ後、レイヤールーラーをポイントして、[名前を付けて保存]、[選択したcrs]、[変換するシステムの選択]、[保存]の順に選択します。あなたはその後、CSVに戻りたい場合はdfsfsd
yair suari

いくつかの編集上の問題。csvに戻りたい場合は、属性計算機を使用して、geometry functionsdの$ xおよび$ y値を計算して、nes crsの場所を再度csvとして保存します
yair suari

9

arcmap
を使用して、csvを追加し、lat long を使用してイベントテーブルを作成します。(右クリックレイヤー> [XYデータの表示])

これにより、テーブルとポイントレイヤーを持つイベントレイヤーが作成されます(実際のポイントレイヤーではなく、後でエクスポートする必要があります)

ディスプレイxy

ドキュメントの投影(データフレームプロパティ)をファイルの目的の出力に設定します。(「目次」の「レイヤー」を右クリックし、「プロパティー」>「座標系」タブを選択します)。

ドック小道具

希望する投影

TOCのレイヤーを右クリック>データのエクスポート

書き出す

「データフレームと同じ座標系を使用する」オプションを使用します

書き出す


7

ogr2ogrはこれを処理できるはずです(FWToolsをダウンロードしてクイックインストールを行うことができます)。

このスレッドは、CSVデータを再投影する方法を示しています。要約すると、CSV列への参照を含むVRTファイルを作成する必要があります。

<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をUTM座標系に適したEPSGコードに置き換える必要があります。


4

Corpsconは、米国陸軍工兵隊の無料ツールで、lat / longをUTMに/からバッチ変換することができます。これは米国に限定されており、カナダでも機能する可能性があることに注意してください。




3

私が理解しているように、単にファイルを再投影するのではなく、座標自体を変換して、新しい座標を持つ新しいファイルを作成する必要があります。Googleで「lat / lonからutmに変換」すると、この変換を実行するExcelスプレッドシートが見つかります(ウィスコンシン大学グリーンベイ校、または上記のwhuberの回答)。または、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データが2番目と3番目の列である場合、これは機能します。入力x / yが最初の2列にあるため、インデックスを少し調整する必要がありました。とても明確で、拡張可能で、再利用可能です!
アーメドファシ

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 >にあります。入力データ、および世界規模のデータに対応するゾーン1-WGS84でのみ機能しますが、ゾーンを設定できます。lat / lonまたはlon / latから適切なオプションを選択するだけです。Zonumsツールは正しい結果を提供し、スクリプトなどをいじるよりも確かに使いやすいです。
イアンズ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.