Organizzazione dei dati
Questa pagina è una “traduzione” parziale della pagina Data organization a cura di Bruce Mutton con qualcosa in più che è farina del mio sacco (marco, dic. 2010).
Queste note non sono definitive, ma sono solo indicative. Nella pagina di Bruce trovi anche i link per scaricare i template.
Convezione sui nomi
Non appena la grotta su cui lavori diviene qualcosa di meglio che un “buco”, ti trovi a gestire tanti oggetti (cartelle, file, rilievi, scrap, mappe, etc.). Per non perdersi è bene darsi delle regole di gestione:
- una o due cose (o gruppi di cose) in ogni oggetto
- il nome dell'oggetto deve descrivere ciò che contiene
- i nomi dovrebbero esser scelti in modo da essere utilmente ordinabili
- evita spazi e altri delimitatori se non è necessario, UsaLeInizialiMaiuscole
Esempi di nomi
- A-IngressoG1.th contiene la poligonale dell'ingresso della grotta G1 e le definizioni delle map che uniscono gli scrap relativi
- Per le date usa l'ordine AAAAMMGG, es. 20100521 (21 maggio 2010)
- A-IngressoG1Pianta.th2 contiene gli scrap della pianta. Questi hanno nome A-IngressoG1Pianta-s1, A-IngressoG1Pianta-s2, etc. I nomi per le sezioni trasversali sono A-IngressoG1PiantaX-s1, etc.
- Ad un livello superiore si usano file che raggruppano i singoli rilievi. Il file IndexG1.th contiene il survey “G1” che raggruppa i survey “IngressoG1” etc. e definisce le mappe che raggruppano quelle dei survey individuali.
- Se un solo livello non basta, si può fare ulteriori livelli di gerarchia. Questo diventa inevitabile non appena la grotta è un poco complessa, oppure per mettere insieme più grotte di un sistema.
- È conveniente organizzare rilievi e gruppi di rilievi in cartelle, in modo che l'organizzazione gerarchica delle cartelle riproduce quella (logica) del rilievo della grotta. In tal modo, mettendo dei file di configurazione in ogni cartella si possono fare compilazioni “parziali”, cioe` di parte del rilievo.
Anche i layout sono convenientemente organizzati gerarchicamente. Anzi è bene mettere i “template” di layout in una cartella ed usarli per tutte le grotte.
- Layout.thc contiene le regole di formattazione comuni a tutti i rilievi
- LayoutAtlas.thc contiene le regole generali per gli atlanti
- LayuotScale.thc contiene regole specifiche per le diverse scale di restituzione
- LayoutMapG1Pianta.thc contiene le regole specifiche alla pianta della grotta G1
- LayoutMapG1Sezione.thc contiene quelle per la sezione longitudinale
- LayoutMapG1Sez290.thc contiene quelle per la sezione verticale con angolo di vista 290N
- LayoutG1Annotazioni.thc contiene le regole di formattazione per i map-comment specifiche alla grotta G1
- LayoutAtlasG1Pianta.thc contiene le regole specifiche alla grotta G1, par l'atlante della pianta
A questi si aggiungono i singoli file di configurazione thconfig (di cui non ho ben capito l'organizzazione).
Nomi dei layout
I layout vengono tenuti in file separati, raggruppati per argomento, in modo da poter essere usati facilmente. In generale un file LayoutXXX.thc dovrebbe contenere il layout “LayoutXXX” cioè con lo stesso nome del file, o dei layout con nomi simili a quello del file. Vedi ad esempio il file LayoutAtlasPaperSizes.thc. Usa un comando standard per definire l'“export”. Per esempio il comando
export map -projection plan \ -layout LayoutMapPianta \ -layout LayoutMapG1Pianta \ -output ./Rilievi/G1_Pianta.pdf
fa riferimento a due layout, uno con formattazioni comuni a tutte la mappe 2D, ed uno per questa particolare mappa. Percio` le convenzioni di nome sono
Layout | 2D output | Nome grotta | Projezione | .thc |
---|---|---|---|---|
Map (pdf) | Grotta | (niente) | ||
Atlas (pdf) | Pianta | |||
Sezione | ||||
Sez290 |
L'uso del nome generico Grotta facilita il riutilizzo del file, in quanto nel contesto della cartella in cui se ne fa riferimento.
Concetti
Il seguente insieme di concetti e convenzioni, parte da quelli suggeriti dagli autori di Therion, e ne aggiunge alcuni, sperando di render più facile costruire piccoli dataset che poi possono essere accresciuti.
Tipo file Concetto e gerarchia *.th survey | |-- centerline map (collezione di grotte) |-- map (singola grotta) |--map (parte di grotta) *.th2 !-- scrap (disegno di parte di grotta) *.thc thconfig |-- layout
I dati raccolti durante una sessione di rilievo, sono messi in una o più centerline. che contengono i nomi dei rilevatori (team), le coordinate degli ingressi (fix), il sistema di coordinate (cs), i dati (ovviamente), etc.
Gli oggetti “map” sono gli elementi fondamentali con cui si definisce ogni tipo di output. Possono contenere scrap, survey e altre map, ma se contengono scrap, devono avere solo scrap. Gli scrap sono gli elementi base per i disegni negli output 2D. Essi definiscono anche la forma dell'output 3D.
Il file di configurazione (thconfig) seleziona gli oggetti map con cui costruire l'output. Il tipo di output viene definito nel comando “export” (mappa 2D, modello 3D, o lista testuale).
I layout definiscono come deve apparire l'output 2D: scala, simbologia, intestazioni, grafica, sistemi di coordinate (che possono differire da quelli usati nei survey).
Ogni map può contenere solo map, o solo scrap, o solo survey. Perciò quando decidi dove iniziare e finire uno scrap tieni presente che gli scrap determinano dove iniziano e finiscono le map, comprese le map preview e la map con offset. In parte questo vale anche per i survey anche se questi possono poi essere modificati facilmente in un secondo tempo. Inoltre Therion unisce (join) le map molto meglio nelle gallerie semplici senza tanti dettagli, né aree con simboli (acqua, sabbia, argilla, etc.) e passaggi laterali.
Un output 2D può essere una mappa oppure un atlante. Una mappa è il disegno in un solo foglio, la cui dimensione è abbastanza grande da contenere il disegno alla scala prescelta. Ci sono diversi formati, ma PDF sembra essere il più comprensivo. Le mappe PDF possono includere grafica, e.g., foto, logo o altri pdf.
Nell'output ad atlante la mappa viene ritagliata in rettangoli in base alla dimensione delle pagine dell'atlante, e su ogni pagina viene aggiunto un pannello di “navigazione” con link navigabili. Differenti capitoli vengono automaticamente generati, uno per ogni grotta, oppure per ogni “livello” della grotta (i livelli sono specificati nelle map). Anche i livelli sono collegati da link. L'unico formato per atlanti è il PDF, e non è possibile includere grafica.
In teoria potresti produrre ogni tipo di output tutte le volte che esegui Therion. In pratica generare gli output 2D e 3D richiede molto tempo se la grotta o il sistema sono complessi. Perciò è una buona idea commentare (preporre il carattere '#') le righe degli output che non sono necessari.
Ordine di chiamata delle funzioni di layout
Con così tanti file di layout è inevitabile che dei parametri vengono cambiati e poi modificati ancora man mano che i vari layout vengono caricati.
- l'ordine in cui i layout sono specificati nel comando di export (per es. con un comando copy) determina i valori dei parametri: l'ultima modifica è qualla che ha effetto
- l'ordine (o la presenza) dei comandi di input, per leggere i file dei layout, non ha effetto sull'ordine delle modifiche dei parametri. Il comando di input specifica solo in che file cercare i layout
Con i miei dati, uso due layout chiamati nei comandi export. Questi due layout, a loro volta, chiamano altri layout con il comando copy. In generale il mio ordine di chiamate è
- nel layout LayoutMappaGrotta o LayoutAtlanteGrotta
- copy water-blue # comment out for default hatching
- copy sump-blue # comment out for default cross hatching
- copy scalebar-with-text # comment out for default with no scale id
- copy LayoutStandard # imposta la maggior parte dei parametri
- copy LayoutScale
- copy LayoutCave_Annotation
- nel layout LayoutMappaGrottaPianta, LayoutAtlanteGrottaSezione, etc.
- copy LayoutShowContinuationQmarkOnly
- copy LayoutStatisticsNormal
- copy LayoutAtlasPortraitA4 # imposta dimensione pagina