ogr2ogrを使用してWKTデータのCSVファイルをシェープファイルに変換しますか?


8

この質問は、シェープファイルからテキスト(ASCII)ファイルへの変換に関連していますか?

1列のCSVファイルがあり、すべての行がWKT POLYGON()に対応しています。

WKT
POLYGON(...)
POLYGON(...)
...

シェープファイルからwktに変換する方法は知っていますが、逆の方法をとる必要があります。このタスクを実行する方法は?

ogr2ogrの設定/フラグをいじってみましたが、実際には何も役に立ちませんでした。

QGISを使用してこれを実行できることも知っていますが、データセットがかなり大きいため、フリーズ/クラッシュします。

回答:



16

私は今日同じ問題を解決しなければならなかったので、これが完全な解決策を与える私の答えです。

次のようなデータを含むlineWKT.csvファイルがF:\Data\フォルダーに保存されています。

id,gm
0,"LINESTRING (30 10 0, 10 30 0, 40 40 5)"

次のtest.vrtようなファイルがあります。

<OGRVRTDataSource>
    <OGRVRTLayer name="lineWKT">
       <SrcDataSource>F:\Data\lineWKT.csv</SrcDataSource>
      <GeometryType>wkbLineString25D</GeometryType>
 <LayerSRS>PROJCS["WGS_1984_Lambert_Conformal_Conic",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",1000000.0],PARAMETER["False_Northing",1000000.0],PARAMETER["Central_Meridian",85.875],PARAMETER["Standard_Parallel_1",24.625],PARAMETER["Standard_Parallel_2",27.125],PARAMETER["Latitude_Of_Origin",25.8772525],UNIT["Meter",1.0]]</LayerSRS>
 <GeometryField encoding="WKT" field='gm' > </GeometryField >
     </OGRVRTLayer>
</OGRVRTDataSource>

この構成では、次のコマンドでシェープファイルを作成できます。

ogr2ogr line.shp test.vrt


1
素晴らしいそして働く方法!同様にいくつかのコードを共有していただきありがとうございます。
umbe1987
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.