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_WKT
bringt 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, . . .
Antworten:
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.
quelle
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.
quelle