QGIS: DXF 3D da shp (2D/3D)

Facebook è una fonte inesauribile di ispirazione, ecco un quesito posto nel gruppo pubblico ‘QGIS SICILIA‘:

ESPORTAZIONE DXF 3D
Con Grass riuscivo ad esportare le curve di livello generate all’interno del programma portandomi dietro le informazioni altimetriche. In sostanza un DXF 3d, utilizzando il comando v.out.ogr e non il v.out.dxf (che le schiacciava su quota zero). In QGis non risco a trovare il modo per uscire con un DXF 3D e non riesco neanche a trovare il comando Grass v.out.ogr. Gis 2.12.1 – Lyon su Mac osx El Capitan.

In QGIS esistono vari modi per esportare uno shapefile in DXF, utilizzando procedure native di QGIS, utilizzando il Processing o la shell di OSGEO4W:

  1. Procedure native di QGIS:
    1. da Progetto => Esportazione DXF…;
    2. selezionando il layer: Salva con nome… e poi si seleziona il formato DXF;
  2. utilizzando il Processing (geo-algoritmi GRASS):
    1. v.out.dxf;
  3. shell di OSGEO4W:
    1. ogr2ogr -f "DXF" {outfile} {infile} {-zfield ColumnWithZValue};

ognuno di queste procedure ha delle particolarità, tutte tranne due  permettono di ottenere, in output, un DXF 3D ma sotto certe ipotesi di partenza; analizziamole una per una.

Esportazione DXF …

dal menù Progetto => Esportazione DXF …

Immagine 5
finestra di dialogo Esportazione in DXF

questa procedura, nativa di QGIS, permette di esportare uno o più layer presenti nel progetto (appiattendo eventuali shapefile 3D) ottenendo solo DXF 2D.

NB: con la QGIS 2.16 L’ESPORTAZIONE IN DXF  conserva la geometria, quindi se lo shapefile di partenza è 3D si otterrà un DXF 3D!!!

Salva con nome …

selezionando un layer nella TOC e con tasto desto del mouse selezioniamo ‘salva con nome’:

Immagine 6
Finestra di dialogo – salva con nome…

questa procedure, nativa di QGIS, utilizza GDAL quindi in output otterremo la stessa natura del file di ingresso: cioè se lo shapefile è 3D otterremo un DXF 3D.

Processing:

v.out.dxf

Immagine 8
Finestra di dialogo processing – v.out.dxf

questa procedura, avviata da processing, esporta lo shapefile sempre in 2D, ma è possibile sfruttare le altre caratteristiche del processing come l’iterazione e il bacth processing.

shell di OSGEO4W e OGR2OGR:

ogr2ogr -f "DXF" {outFile} {inFile} -zfield {ColumnWithZValue}

in questo caso anche se lo shapefile è 2D è possibile avere un output 3D se la tabella degli attributi dello shape contiene una colonna con valori di quota; per esempio se utilizzassimo il comando Raster => Estrazione => Curve di livello

Immagine 9
Finestra di dialogo – Curve di livello

tabella attributi:

Immagine 10
tabella attributi con campo ALTIT

Note finali: non avendo mai usato un Mac non saprei se è possibile usare la shell e quindi OGR2OGR. Per quanto riguarda il geo-algoritmo di GRASS v.out.dxf (Processing) per come è configurato non è possibile ottenere un output 3D, ma con opportune modifiche si potrebbe raggiungere lo scopo? da Grass Gis si!!!


 

Advertisements

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...