Modulo Python per le trasformazioni di coordinate
Struttura dell'oggetto
I parametri di una trasformazione di coordinate sono memorizzati in un dizionario, che deve essere pensato come un oggetto.
Ad esempio una TCP5 è rappresentata da un dizionario del tipo
{'tx': 242032.53405839, 'ty': 4936118.46936767, 'lamby': 1.00006149961841,
'lambx': 1.00009089353098, 'alpha': -2.50136243348923, 'ttype': 'tcp5'}
Struttura dei file
Gli oggetti TRACO possono essere caricati da file TXT e salvati in file TXT, come ad esempio
Coordinate UV: esempio_coord_cs_rsm.txt
Coordinate XY: esempio_coord_utm_rsm.txt
Calcolata il: 2012-06-07, 13:37:54
_tx_: 242033.706917
_ty_: 4936120.060382
_alpha_ [grad]: -2.501849035
_lamb_: 1.000078850
_ttype_: tcp4
Regole
Le prime 5 righe costituiscono l'header e contengono dati descrittivi: possono essere vuote, ma devono esserci.
Dalla sesta riga devono trovarsi i dati, in formato a colonne, separate da spazi.
I dati contengono su ogni riga un tag, per esempio _tx_ e un valore numerico, come nella riga
_tx_: 242033.706917
I tag veri non hanno i caratteri di unserscore (_) prima e dopo. In altri termini, il tag 'tx' viene scritto su file TXT come
'_tx_', ma i programmi che leggono i file depurano i dati da tali caratteri, che sono inseriti per evitare false identificazioni.
Possono essere inseriti commenti, come l'annotazione [grad]. Il carattere ':' è indispensabile e separa i commenti dal valore del parametro.
Da notare il tag 'ttype' che dice esplicitamente il tipo della trasformazione.
Funzioni di base
read: carica in un dizionario il contenuto di un file TXT
disp: lista a video
write: scrive su file txt
Applicazione
apl_tcp3: applicazione di una TCP3
apl_tcp4: applicazione di una TCP4
apl_tcp5: applicazione di una TCP5
apl: applicazione di una qualunque trasformazione, fra quelle conosciute; viene scelta in base al tag ttype
Stima
calc_tcp4: stima ai MQ di una TCP4
Matrici di rotazione
matrot: matrice delle rotazioni antiorarie nel piano
matrot_x: matrice delle rotazioni antiorarie attorno a x nello spazio
matrot_y: matrice delle rotazioni antiorarie attorno a y nello spazio
matrot_z: matrice delle rotazioni antiorarie attorno a z nello spazio
Funzioni di servizio
key_parser: fa il parsing nel file testo per trovare valori dei parametri
lower_dict: rende minuscoli i nomi delle chiavi dei dizionari
Funzioni che lavorano direttamente su file
Le funzioni normalmente hanno come parametri di input e output variabili di memoria.
Ve ne sono alcune che leggono direttamente l'input su file txt e scrivono i risultati su nuovi file txt.
apl_fn_fn: applica una qualunque fra le trasformazioni conosciute
calc_tcp4_fn: stima una TCP4