Wie konvertiere ich ein Shapefile nach WKT?

12

Im folgenden Beispiel wird versucht, ein Shapefile in das einfache WKT-Format (Well Known Text) zu konvertieren (von http://en.wikipedia.org/wiki/Well-known_text ).

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

Ich weiß, dass ich QGIS verwende, um das Shapefile als CSV zu speichern, und ich kann ogr2ogr verwenden, um eine beliebige Anzahl von Konvertierungen durchzuführen. In der Tat ogr2ogr -f CSV out.wkt source.shp -lco GEOMETRY=AS_WKTbringt mich so nah wie ich bisher gekommen bin, aber nicht ganz da. Irgendwelche Vorschläge?

ps Wie von Mapperz, dieser Thread zu sehr ähnlich ist diese . Dieser Thread hat diese besondere Herausforderung nicht gelöst, obwohl er den oben erwähnten ogr2ogr-Ansatz lieferte. Die Ogr2ogr-Ausgabe, die ich erhalte, sieht folgendermaßen aus (ich habe die Zeilen abgeschnitten). Anscheinend habe ich gerade nicht herausgefunden, wie man ogr2ogr dazu bringt, Multipolygon zu verwenden.

WKT,AREA,PERIMETER,PINUPOND_,PINUPOND_I,CODE
"POLYGON ((-120.630531650950061 50.838562484449184, . . .
"POLYGON ((-123.206067372148397 51.038984074378327, . . .
Gregory
quelle
Was ist das Problem mit der Ausgabe von ogr2ogr?
til_b
@ Bis_b: In Bearbeitung adressiert.
Gregory
1
Ist Ihre Form MULTIPOLYGON?
Jürgen Zornig
@ JürgenZornig: Wie kann ich das sagen? Es wäre sinnvoll, wenn es sich um ein Multipolygon handeln würde, aber ich würde das gerne überprüfen.
Gregory

Antworten:

10

Bekannter Text ist nicht zum Speichern von Ebenen wie Formdateien gedacht, die aus vielen Objekten bestehen. WKT definiert, wie die Geometrie eines Objekts dargestellt wird. Diese Geometrie kann ein- oder mehrteilig sein. Mehrteilige Geometrien bedeuten, dass die Geometrie eines Objekts aus vielen Teilen besteht. Beispielsweise könnten Hawaii-Inseln als ein Objekt dargestellt werden, das jedoch aus vielen Geometrien besteht.

Die Formdatei ist eine Sammlung dieser Art von Objekten. Objekte haben normalerweise auch einige Attributinformationen, die ebenfalls Teil einer Formdatei sind.

Ihr ogr2ogr-Ansatz konvertiert diese Objekte in das csv-Format mit WKT-Geometrie (und Textdarstellungen der Attribute). Wenn Sie wirklich alle Geometrien zu einem MULTIPOLYGON kombinieren möchten, müssen Sie zuerst alle Objekte in eine Multi-Geometrie konvertieren. Das können Sie in QGIS tun. Wählen Sie aus dem Vektor-Menü Geometriewerkzeuge und dann Einzelteile zu Multiparts. Dann kannst du das mit ogr2ogr in wkt konvertieren.

Hoffentlich macht das Sinn.

LauriK
quelle
Das macht Sinn und ich werde es in Kürze versuchen.
Gregory
Okay, in QGIS habe ich Vector / Geometry Tools / Single Parts zum Multiparting verwendet. Ich habe die Ausgabe als neues Shapefile gespeichert, aber wenn ich diese Datei in QGIS geladen habe, erscheint sie leer und die Attributtabelle ist vollständig leer (möglicherweise wäre eine leere Beschreibung besser, da es auch keine Header gibt).
Gregory
Haben Sie @pyrogerg ein eindeutiges Feld ausgewählt, als das Tool dies anforderte? Das bedeutet, dass das Tool alle Features "gruppiert", die in diesem Feld denselben Wert haben. Wenn Sie kein Feld haben, das Sie eindeutig definieren möchten, können Sie mit dem Feldrechner ein Feld erstellen. Sie können über die Attributtabelle darauf zugreifen. Stellen Sie sicher, dass sich die Ebene im Bearbeitungsmodus befindet (Stiftsymbol). Wählen Sie dann den Feldrechner und "berechnen" Sie zum Beispiel den Wert 1 für jede Zeile eines neuen Feldes.
LauriK
1
+1 Ich habe mir erlaubt, Ihre Bearbeitung weiter zu präzisieren, indem ich ausdrücklich erwähnte, dass die Ausgabe die Attribute enthält.
whuber
4

Ich habe ein QGIS-Plugin geschrieben, das die aktive Ebene sofort in einer WKT-Datei speichert.

Der Name des Plugins ist "WktExport". Sie können im standardmäßigen QGIS-Plug-in-Bereich danach suchen.

Übrigens, der Link zur Plugin-Seite lautet:

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

Das Plugin "WktExport" für QGIS erstellt einen Ordner mit dem Namen "WktExport", in dem sich der ursprüngliche SHP befindet, und fügt in den Ordner eine WKT-Datei ein, die die Elemente im WKT-ASCII-Format aller Objekte von SHP (aber auch KML oder einer anderen ursprünglichen Datei) enthält Format).

Der Name der .wkt-Datei enthält das Datum und die Uhrzeit des Speicherns. Wenn Sie sie also mehrmals speichern, haben Sie viele Versionen derselben Datei.

Dies kann nützlich sein, um Animationen eines kartografischen Arbeitsfortschritts zu erstellen oder den aktuellen Status einer Datei zu dokumentieren.

Bitte senden Sie eine Nachricht an die Liste qgis-developer, insbesondere wenn Sie wktexport nützlich finden.

Geo DrinX
quelle
Die Projektverbindung ist unterbrochen.
Luke Hutchison