シェープファイルをWKTに変換する方法は?


12

次の例(http://en.wikipedia.org/wiki/Well-known_textから)で、シェープファイルを単純なWell Known Text(WKT)形式に変換しようとしています。

MULTIPOLYGON (((40 40, 20 45, 45 30, 40 40)),
((20 35, 45 20, 30 5, 10 10, 10 30, 20 35),
(30 20, 20 25, 20 15, 30 20)))

QGISを使用してシェープファイルをCSVとして保存し、ogr2ogrを使用してあらゆる変換を実行できることを知っています。実際のogr2ogr -f CSV out.wkt source.shp -lco GEOMETRY=AS_WKTところ、私はこれまで来たのと同じように私を近づけますが、そこまでは行きません。助言がありますか?

psマッパーズが述べたように、このスレッドはこれと非常によく似てます。このスレッドは、前述のogr2ogrアプローチを提供しましたが、この特定の課題を解決しませんでした。私が取得しているogr2ogrの出力は次のようになっています(行を切り捨てています)。どうやら、ogr2ogrでマルチポリゴンを使用する方法がわかりません。

WKT,AREA,PERIMETER,PINUPOND_,PINUPOND_I,CODE
"POLYGON ((-120.630531650950061 50.838562484449184, . . .
"POLYGON ((-123.206067372148397 51.038984074378327, . . .


ogr2ogr出力の問題は何ですか?
til_b

@til_b:編集で対処しました。
グレゴリー

1
あなたの形はマルチポリゴンですか?
ユルゲンゾルニグ

@JürgenZornig:どうすればわかりますか?それがマルチポリゴンであることは理にかなっていますが、私はそれを確認したいと思います。
グレゴリー

回答:


10

Well Known Textは、多くのオブジェクトで構成されるシェイプファイルなどのレイヤーを保存するためのものではありません。WKTは、1つのオブジェクトのジオメトリを表現する方法を定義します。そのジオメトリは、単一または複数の部分になります。マルチパートジオメトリとは、1つのオブジェクトのジオメトリが多くのパーツで構成されることを意味します。たとえば、ハワイ諸島は1つのオブジェクトとして表すことができますが、多くのジオメトリで構成されています。

シェープファイルは、これらの種類のオブジェクトのコレクションです。通常、オブジェクトにはシェイプファイルの一部でもある属性情報があります。

ogr2ogrアプローチは、これらのオブジェクトをWKTジオメトリ(および属性のテキスト表現)を含むcsv形式に変換します。すべてのジオメトリを1つのMULTIPOLYGONに本当に結合したい場合は、まずすべてのオブジェクトを1つのマルチジオメトリに変換する必要があります。QGISでそれを行うことができます。[ベクター]メニューの[ジオメトリツール]から[シングルパートからマルチパート]を選択します。次に、ogr2ogrを使用してwktに変換できます。

うまくいけば、これは理にかなっています。


それは理にかなっており、私はすぐにそれを試す機会があります。
グレゴリー

さて、QGISでは、Vector / Geometry Tools / Single part to multipartを使用しました。出力を新しいシェープファイルとして保存しましたが、そのファイルをQGISに読み込むと空になり、属性テーブルが完全に空になります(ヘッダーがないため、おそらくvoidの方が良いでしょう)。
グレゴリー

ツールが要求したときに、@ pyrogergは一意のフィールドを選択しましたか?つまり、ツールは、そのフィールドに同じ値を持つすべての機能を「グループ化」します。一意にするフィールドがない場合は、フィールド計算機で作成できます。属性テーブルからアクセスできます。レイヤーが編集モードであることを確認します(ペンアイコン)。次に、フィールド計算機を選択し、新しいフィールドのすべての行に対して、たとえば値1を「計算」します。
LauriK

1
+1出力に属性が含まれることを明示的に述べることで、編集をさらに明確にする自由を取りました。
whuber

4

アクティブなレイヤーをすぐに.wktファイルに保存するQGISプラグインを作成しました。

プラグインの名前は「WktExport」です。デフォルトのQGISプラグインパネルで検索できます。

ところで、プラグインページへのリンクは次のとおりです。

https://plugins.qgis.org/plugins/wktexport/

QGISの「WktExport」プラグインは、元のSHPがある「WktExport」という名前のフォルダーを作成し、SHPのすべてのオブジェクトのWKT ascii形式の要素を含む.wktファイルを挿入します(KMLまたは他の元のファイルも)フォーマット)。

.wktの名前は保存日時内にあるため、何度も保存すると、同じファイルの多くのバージョンがあります。

これは、カーソグラフの作業進捗のアニメーションを作成したり、ファイルの現在のステータスを文書化するのに役立ちます。

特にwktexportが役立つと思う場合は、リストqgis-developerにメッセージを送信してください。


プロジェクトリンクが壊れています。
ルークハッチソン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.