[QGIS-it-user] Esportazione DXF - Unità di misura

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à :slight_smile:
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