回答:
おそらく最も簡単な方法は、QGISとその区切りテキストプラグインのようなものを使用して、データをインポートおよびエクスポートすることです。コマンドラインとスケーラブルな何かを探しているなら、Sasaが述べたVRTアプローチが良い方法です。
また、ファイルの入力および出力を使用してそれを行うことができますgdaltransform
:
gdaltransform -s_srs epsg:4326 -t_srs epsg:25832 < space-delimited-coordinates.txt
さらにプログラムによる結果へのアクセスが必要な場合は、pyrojを使用して関連する質問についてgeographikaの回答を確認してください。
arcmap
を使用して、csvを追加し、lat long を使用してイベントテーブルを作成します。(右クリックレイヤー> [XYデータの表示])
これにより、テーブルとポイントレイヤーを持つイベントレイヤーが作成されます(実際のポイントレイヤーではなく、後でエクスポートする必要があります)
ドキュメントの投影(データフレームプロパティ)をファイルの目的の出力に設定します。(「目次」の「レイヤー」を右クリックし、「プロパティー」>「座標系」タブを選択します)。
TOCのレイヤーを右クリック>データのエクスポート
「データフレームと同じ座標系を使用する」オプションを使用します
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コードに置き換える必要があります。
Corpsconは、米国陸軍工兵隊の無料ツールで、lat / longをUTMに/からバッチ変換することができます。これは米国に限定されており、カナダでも機能する可能性があることに注意してください。
http://www.gpsy.com/gpsinfo/geotoutm/には、作業用のスプレッドシートやその他のソースコード(Fortran、C ++など)があります (1996年も引き続き有効です)。
座標をバッチ変換できる商用の(しかし手頃な価格の)スタンドアロンデスクトップアプリケーションがあります。詳細については、http: //geomaticsolutions.com/products/geo-suite/geo-calcをご覧ください。
無料のオンラインサービスを使用して、シングルポイント変換を実行することもできます。 http://georepository.com/home.html
私が理解しているように、単にファイルを再投影するのではなく、座標自体を変換して、新しい座標を持つ新しいファイルを作成する必要があります。Googleで「lat / lonからutmに変換」すると、この変換を実行するExcelスプレッドシートが見つかります(ウィスコンシン大学グリーンベイ校、または上記のwhuberの回答)。または、AllTransやFranson Coordtransなどのソフトウェアを購入できます。これらのソフトウェアは、さまざまな座標系との間でバッチ変換を行います。
または、単純ではありませんが、より教育的な方法は、gdalまたはFWToolsの構文を学ぶことです。
スクリプトソリューションの場合、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()
ARCソリューションには行きません。これらの一般的な変換には、http: //www.hamstermap.comなどの多くのオンラインツールがあります。座標のリストをコピーして貼り付けるだけで、すぐに変換されます。