[QGIS-it-user] Salvataggio di un file DXF in Shapefile.
Marco Guiducci
marco.guiducci a regione.toscana.it
Mer 26 Feb 2020 05:26:14 PST
Il 26/02/2020 09:04, Luca Mastrangelo ha scritto:
> Buongiorno. Utilizzo la 3.4 madeira.
>
> Ho provato in diversi modi. Considerate che il file non è posizionato
> correttamente sulla mappa al quale fa riferimento ( anche li non so
> perché dato che dovrebbe derivare da quella) e quindi lo debbo
> traslare poi con vecror bender.
>
su questo tema forse il problema è questo, e loche avevo segnalato un
paio di anni fa (riporto sotto). nel frattempo non ho avuto più
occasione di eseguire questa procedura, quindi non so se Gdal nel
frattempo ha cambiato strategia.
brevemente: quando si esporta da qgis in dxf, viene utilizzato il driver
gdal che scrive di default le unità a pollici. quando qgis rilegge il
dxf legge il tag delle unità di misura e quindi interpreta i metri come
pollici.
nello scritto sotto c'è la soluzione.
----
Buongiorno,
vorrei scrivere una piccola nota sulla unità di misura scritta nel file
dxf che si può ottenere tramite esportazione utilizzando le funzioni
gdal (ovvero da QGis: salva con nome formato dxf), non avendo trovato
sul web molto al riguardo e sperando di fare cosa gradita.
Nel file header del dxf c'è la sezione INSUNITS:
$INSUNITS
70
0
il valore dopo 70 indica in che unità di misura valutare le coordinate
delle entità.
I valori possibili sono [1]:
0 = Unitless; 1 = Inches; 2 = Feet; 3 = Miles; 4 = Millimeters;
5 = Centimeters; 6 = Meters; 7 = Kilometers; 8 = Microinches;
9 = Mils; 10 = Yards; 11 = Angstroms; 12 = Nanometers;
13 = Microns; 14 = Decimeters; 15 = Decameters;
16 = Hectometers; 17 = Gigameters; 18 = Astronomical units;
19 = Light years; 20 = Parsecs
L'header che scrive la gdal è quello contenuto qui: \share\gdal\header.dxf
che si può bypassare indicandone un altro in fase di esportazione.
In quel file la $INSUNITS è impostata al valore 1, come anche indicato
in [2], in fondo, ma proprio in fondo alla pagina.
Un paio di mie considerazioni: può darsi che alcuni software che leggono
dxf non tengano conto di quel parametro e che quindi l'utente non si
accorga di niente. Ma Autocad, ovviamente, lo usa, con il risultato che
un dxf che contiene coordinate metriche, che almeno nel mio caso sono la
stragrande maggioranza, vengano considerate in pollici. Sarebbe
opportuno che quel valore fosse impostato di default a zero.
Anche QGis lo usa, infatti il dxf caricato in mappa starà in altra parte
del mondo.
Ma visto che "At the moment GDAL writes DXF to report the measurement
units as "English - Inches", occorre cambiare a mano il valore, una
volta per sempre.
Scusate la prolissità
marcog
[1]
https://www.autodesk.com/techpubs/autocad/acad2000/dxf/header_section_group_codes_dxf_02.htm
[2] http://www.gdal.org/drv_dxf.html
--
Marco Guiducci - 055 4383194
SITA - Sistema informativo territoriale e ambientale
Regione Toscana - Via di Novoli 26 - 50127 Firenze
Maggiori informazioni sulla lista
QGIS-it-user