Creazione di CSV con geometria come WKT in QGIS (con la scelta del delimitatore di campo)


13

C'è un modo per scegliere il delimitatore di campo quando si esporta un CSV con geometria come wkt in QGIS?

Ho uno shapefile con buchi di ciambella e vorrei esportarlo come CSV. È per un partner il cui DB non supporta i dati spaziali.

Ho seguito la metodologia di Greg Krakow per aggiungere un campo WKT al mio file esportato (quando esporti in CSV, aggiungi GEOMETRY=AS_WKTnel campo "Livello", ma il delimitatore di campo esportato è una virgola: CSV con campo WKT

Il problema è che ogni coppia di coordinate dei miei poligoni (e sospetto che sarà la stessa per le linee) sono separate anche da una virgola, quindi non posso importare nuovamente i dati in QGIS

Con il file shapefile, funziona come un fascino.

Qualcuno sa se posso scegliere il mio campo delimitato durante l'esportazione in CSV? Scegli un punto e virgola per esempio?

Cerco sul web e la documentazione di QGIS ma non ho trovato nulla.


2
Hai già controllato la pagina di aiuto: gdal.org/ogr/drv_csv.html . Descrive come cambiare il separatore.
Underdark

Stavo cercando QGIS in particolare ... non pensavo di cercare l'aiuto di GDAL. Grazie!!
fgcartographix,

Risposte:


17

Sono stato in grado di esportare in CSV, usando altro che una virgola, separando le opzioni di creazione del livello nella finestra di dialogo Salva con nome .. con le interruzioni di riga.

Né la virgola, né la separazione di spazi (anche quando erano tra virgolette) ha funzionato, ma le interruzioni di riga hanno funzionato. A sottolineare..

QUESTO APPROCCIO FUNZIONA (separato da interruzioni di riga):

GEOMETRY=AS_WKT
SEPARATOR=SEMICOLON
LINEFORMAT=CRLF

Ma questi approcci NON hanno funzionato ...

(opzioni separate da spazio):

GEOMETRY=AS_WKT SEPARATOR=SEMICOLON

(opzioni separate da virgola):

GEOMETRY=AS_WKT, SEPARATOR=SEMICOLON

(tra virgolette e LCO separati da spazio o virgola):

"GEOMETRY=AS_WKT", "SEPARATOR=SEMICOLON"

Come notato da @underdark, ci sono alcune opzioni aggiuntive discusse nella pagina del driver CSV OGR di cui potresti voler essere a conoscenza. In particolare, il SEPARATORparametro accetterà SEMICOLONo TABin aggiunta a COMMA. Inoltre, potresti voler sperimentare il LINEFORMATparametro, che supporta CRLF(dos / windows) o LF(unix).

Un'immagine dice più di mille parole, quindi ecco una schermata. :)

inserisci qui la descrizione dell'immagine


Grazie! Sta funzionando. Non so perché, ma quando provo a importare il mio CSV in QGIS, dice che non è un livello valido e può essere aggiunto alla mappa ...? Ho provato con un semplice poligono (linestring e poligono) e non ha funzionato neanche :( Quindi immagino che sia un'altra domanda ora ...;)
fgcartographix

...interessante. Non sono sicuro di come spiegarlo. Ho provato ad aggiungere quello che ho creato sulla mappa e ha funzionato. Quindi ho provato ad aggiungerne uno nuovo, come lo ha creato (cioè tramite l'opzione "Aggiungi file salvato alla mappa"), e ha anche funzionato. Quale versione di QGIS? 1.8?
elrobis

1.8.0-Lisboa. Funziona quando uso il "Aggiungi file salvato alla mappa", non quando uso il pulsante "Aggiungi livello di testo delimitato". Il delimitatore punto e virgola è check e il mio campo "WKT" è stato selezionato per la geometria ... Ha funzionato con uno strato di punti prima ...
fgcartographix

1
Ahh .. prova a passare attraverso il pulsante "Aggiungi livello vettoriale .." (come se dovessi aggiungere uno shapefile), quindi naviga nella cartella con il tuo .csv. Nella parte inferiore della finestra di dialogo "Apri livello vettoriale supportato OGR", imposta "Tipo file:" su Comma Separated Value [OGR]. Quindi .csvdovresti apparire e scommetto che funzionerà.
elrobis,

Puoi scommettere bene! Ha funzionato con il "Aggiungi livello di testo delimitato" dopo che ho aperto il mio CSV in Excel e l'ho salvato di nuovo ... Strano, ma se funziona con il pulsante "Aggiungi livello vettoriale", sono d'accordo. Strano comportamento però ...
fgcartographix,

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.