Come convertire un file di forma in WKT?


12

Sto provando a convertire un file di forma nel semplice formato Well Known Text (WKT) nell'esempio seguente (da 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)))

So che uso QGIS per salvare lo shapefile come CSV e posso usare ogr2ogr per fare qualsiasi numero di conversioni. In effetti ogr2ogr -f CSV out.wkt source.shp -lco GEOMETRY=AS_WKTmi avvicina quanto sono arrivato finora, ma non proprio lì. Eventuali suggerimenti?

ps Come notato da Mapperz, questo thread è molto simile a questo . Quella discussione, sebbene fornisse l'approccio ogr2ogr che ho notato sopra, non ha risolto questa particolare sfida. L'output di ogr2ogr che sto ottenendo assomiglia a questo (ho troncato le linee). Apparentemente, non ho ancora capito come ottenere ogr2ogr per usare il multipoligono.

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


Qual è il problema con l'output di ogr2ogr?
fino al

@til_b: risolto in modifica.
Gregory

1
La tua forma è MULTIPOLYGON?
Jürgen Zornig,

@ JürgenZornig: come posso dirlo? Avrebbe senso che fosse un multipoligono, ma vorrei verificarlo.
Gregory

Risposte:


10

Il testo noto non è pensato per il salvataggio di livelli come file di forma costituiti da molti oggetti. WKT definisce come rappresentare la geometria di un oggetto. Quella geometria potrebbe essere singola o multiparte. Le geometrie multiparte indicano che la geometria di un oggetto è composta da molte parti. Ad esempio, le Isole Hawaii possono essere rappresentate come un unico oggetto ma sono composte da molte geometrie.

Il file Shape è una raccolta di questo tipo di oggetti. Gli oggetti di solito hanno anche alcune informazioni sugli attributi che fanno anche parte di un file di forma.

L'approccio ogr2ogr converte questi oggetti in formato CSV con la geometria WKT (e le rappresentazioni testuali degli attributi). Se vuoi davvero combinare tutte le geometrie in un MULTIPOLYGON devi prima convertire tutti gli oggetti in una multi geometria. Puoi farlo in QGIS. Selezionare dal menu Vettore Strumenti geometria e quindi Parti singole in Multiparti. Quindi puoi convertirlo in wkt con ogr2ogr.

Speriamo che abbia senso.


Questo ha senso e avrò la possibilità di provarlo a breve.
Gregory

Ok, in QGIS ho usato Vector / Geometry Tools / Single parts in multipart. Ho salvato l'output come nuovo shapefile, ma quando ho caricato quel file in QGIS appare vuoto e la tabella degli attributi è completamente vuota (forse void sarebbe una descrizione migliore, dato che non ci sono intestazioni).
Gregory

Hai @pyrogerg selezionato un campo univoco quando lo strumento lo ha richiesto? Ciò significa che lo strumento "raggruppa" tutte le funzionalità che hanno lo stesso valore in quel campo. Se non si dispone di alcun campo che si desidera univoco, è possibile crearne uno con il calcolatore di campo. Puoi accedervi dalla tabella degli attributi. Assicurati che il livello sia in modalità modifica (icona penna). Quindi selezionare il calcolatore di campo e "calcolare" per esempio il valore 1 per ogni riga di un nuovo campo.
LauriK,

1
+1 Mi sono preso la libertà di chiarire ulteriormente la tua modifica menzionando esplicitamente che l'output includerà gli attributi.
whuber

5

Ho scritto un plug-in QGIS che salva immediatamente il livello attivo in un file .wkt.

Il nome del plugin è "WktExport". Puoi cercarlo nel pannello plugin predefinito di QGIS.

A proposito, il link alla pagina del plugin è questo:

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

Il plugin "WktExport" per QGIS crea una cartella, denominata "WktExport" in cui si trova l'SHP originale, e inserisce nella cartella un file .wkt contenente gli elementi nel formato ascii WKT di tutti gli oggetti di SHP (ma anche KML o altri file originali formato).

Il nome del .wkt ha la data e l'ora del salvataggio, quindi salvandolo molte volte, avrai molte versioni dello stesso file.

Ciò potrebbe essere utile per creare animazioni di un progresso lavorativo cartografico o per documentare lo stato corrente di un file.

Per favore, invia un messaggio all'elenco qgis-developer, specialmente se ritieni che wktexport sia utile.


Il collegamento al progetto è interrotto.
Luke Hutchison,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.