##===== Commenti ===========================================================##
//
// Questo e` un commento, inizia con "//" e termina con il fine
riga.
;; Anche questo e` un commento, inizia con ";;" e termina con il
fine riga.
## Un commento che inizia con questi due caratteri (oppure con
una coppia di
"%") puo` essere di lunghezza illimitata, puo` essere
distribuito su piu`
righe, e deve terminare con una coppia di caratteri
uguale a quella che
lo ha iniziato. Tutti i tipi di commento sono ignorati
dal programma di
importazione, e servono unicamente per rendere piu`
comprensibile
all'utente la lettura del file. ##
%% Nota: nel seguito, per comodita`, le parole chiave sono indicate
sia in
italiano che in inglese (internazionale). Le parole
chiave in inglese
precedono quelle in italiano e sono indicate come
commento. Le parole
chiave italiane sono indicate direttamente con un
esempio. Il programma di
importazione e` in grado di interpretare sia le parole
in inglese che
quelle in italiano (riconoscendone automaticamente
la lingua e commutando
sulla relativa tabella delle parole chiave).
%%
##===== Dati Catastali =====================================================##
// !!!! NON ANCORA IMPLEMENTATI !!!!
// !!!! I DATI CATASTALI SONO PER IL MOMENTO IGNORATI,
IN IMPORT,
// !!!! E GENERATI "VUOTI" IN EXPORT
// !!!! ---- SONO POSSIBILI CAMBIAMENTI NELLA DEFINIZIONE
---- !!!!
//
// Si tratta di dichiarazioni facoltative, e sono soltanto
memorizzate a
// scopo di archivio; non sono utilizzate a fini elaborativi,
salvo la
// definizione del'ingresso, rappresentato nella grafica.
// Occorre dichiarare un punto caposaldo come ingresso, e
i dati catastali
// dichiarati nel seguito si riferiranno a tale ingresso.
// I dati catastali devono essere dichiarati, non importa
in quale ordine,
// dopo la definizione dell'ingresso a cui si riferiscono,
anche inframezzate
// da altre informazioni appartenenti ad altre categorie,
ma devono
// concludersi prima del successivo gruppo di misure di segmenti.
Non
// sono ammessi dati catastali definiti dopo un gruppo di
dati, o
// all'inizio, senza che sia stato definito un punto di ingresso.
// In assenza di dati di catasto, il processo di importazione
assegna
// "vuoti" i rispettivi campi. Nuovi dati catastali si possono
dichiarare
// per ogni nuovo ingresso definito.
// In assenza della definizione dell'ingresso, nella grafica
non apparira`
// esplicitamente nessun ingresso. Il primo ingresso dichiarato
definisce
// il punto di riferimento metrico (0,0,0). Il primo segmento
incontrato
// nel seguito, avente come estremo il primo ingresso dichiarato
risultera`
// posizionato al punto (0,0) delle proiezioni Pianta e Profilo.
//
// Entrance=
Ingresso= Punto01
;; Il Punto caposaldo che voglio sia considerato
;; come "ingresso".
;; Viene acquisito solo il testo presente fino
;; alla fine della riga, eventualmente troncato
;; alla lunghezza massima dei nomi dei punti.
// Name=
Nome= Grotta del Pipolo ;; Il nome della grotta, ed
eventuali sinonimi,
;; in riferimento all'ingresso prima definito.
;; Viene acquisito solo il testo presente fino
;; alla fine della riga. Eventualmente troncato
;; alla lunghezza massima di 128 caratteri.
// Number=
Numero= 4555Li/SV
;; Il numero di catasto, ed eventuali altri
;; identificatori, riferito all'ingresso prima
;; definito. E` memorizzato come testo, e
;; viene acquisito solo il testo presente fino
;; alla fine della riga. Eventualmente troncato
;; alla lunghezza massima di 32 caratteri.
// Site=
Sito= Monte Mao, SV ;; Nome
e altri dati della localita` ove si apre
;; l'ingresso, eventuale breve itinerario. Viene
;; acquisito solo il testo presente fino alla fine
;; della riga. Eventualmente troncato alla lunghezza
;; massima di 128 caratteri.
// Position=
Posizione= +4°12'40"00 +44°19'23"00
;; Posizione geografica dell'ingresso prima definito,
;; anche in piu` sistemi di coordinate. Viene
;; acquisito solo il testo presente fino alla fine
;; della riga. Eventualmente troncato alla lunghezza
;; massima di 96 caratteri.
// Altitude=
Quota= +425 m slm
;; Quota geografica dell'ingresso prima definito.
;; Viene acquisito solo il testo presente fino alla
;; fine della riga. Eventualmente troncato alla
;; lunghezza massima di 32 caratteri.
// Ground=
Terreno= Calcare dolomitico triassico
;; Terreno geologico della zona dell'ingresso prima
;; definito. Viene acquisito solo il testo presente
;; fino alla fine della riga. Eventualmente troncato
;; alla lunghezza massima di 96 caratteri.
##===== Rilevatori, Strumenti, Precisione e Descrizione Tratta =============##
// !!!! NON ANCORA IMPLEMENTATI !!!!
// !!!! QUESTI DATI RIGUARDANTI LA TRATTA DI RILIEVO SONO
// !!!! PER IL MOMENTO IGNORATI, IN IMPORT, E GENERATI
"VUOTI" IN EXPORT
// !!!! ---- SONO POSSIBILI CAMBIAMENTI NELLA DEFINIZIONE
---- !!!!
//
// Si tratta di dichiarazioni facoltative; in loro assenza,
il programma di
// importazione le assegna "vuote". Queste, al contrario
delle precedenti,
// possono comparire piu` volte, e definiscono/ridefiniscono
valori che si
// applicano alle misure seguenti la dichiarazione.
//
// Team=
Squadra= A.Bianchi, B.Rossi, C.Verdi
;; Elenco dei rilevatori. E` memorizzato come
;; testo, e viene acquisito solo il testo presente
;; fino alla fine della riga. Eventualmente
;; troncato alla lunghezza massima di 96 caratteri.
// Instr=
Strumenti= Squadro centesimale, bindella, eclimetro suunto
;; Strumenti utilizzati. E` memorizzato come
;; testo, e viene acquisito solo il testo presente
;; fino alla fine della riga. Eventualmente
;; troncato alla lunghezza massima di 96 caratteri.
// Precision=
Precisione= 5B
;; Sigla o commento sulla precisione. E` memorizzato
;; come testo, e viene acquisito solo il testo
;; presente fino alla fine della riga. Eventualmente
;; troncato alla lunghezza massima di 32 caratteri.
// Description=
Descrizione= Molto fango ;; Descrizione sintetica e/o nota
sulla tratta e
;; le condizioni in cui si e` svolto il rilievo.
;; E` memorizzata come testo, e viene acquisito
;; solo il testo presente fino alla fine della
;; riga. Eventualmente troncato alla lunghezza
;; massima di 96 caratteri.
##===== Dati di Declinazione Magnetica, riferita alla data di Rilievo
======##
//
// Si tratta di dichiarazioni facoltative; in loro assenza,
il programma di
// importazione assegna dei default. Questi dati possono
comparire piu`
// volte, e si applicano alle misure che seguono la dichiarazione.
// DateDMY=
DataGMA= 25/4/1984 ;;
Data in formato giorno/mese/anno (3 numeri
;; separati da qualunque carattere che non sia a
;; sua volta un numero o una lettera. Va ad esempio
;; bene anche 25 04 1984 oppure 25.4.1984 (l'anno
;; deve essere sempre di 4 cifre).
// DateMDY=
DataMGA= 4/25/1984 ;;
Come sopra, ma in formato mese/giorno/anno.
// Declin=
Declin= 3° 00' 00" 00 ;; Declinazione:
gradi/minuti/secondi/centesimi.
;; Accetta fino a 4 numeri separati da qualunque
;; carattere: va bene ad esempio anche 0 0 0 0,
;; oppure 3-45-56,66.
;; I numeri possono essere anche di meno, sono
;; sempre interpretati nell'ordine gradi / minuti
;; / secondi / centesimi.
// DeclinNotes=
NoteDeclin= Ramo Scisti ;; Note in merito al valore
di declinazione.
;; Viene acquisito solo il testo presente fino alla
;; fine della riga (eventualmente troncato alla
;; lunghezza massima di 64 caratteri).
// NOTE: Se non si definisce nessuno di questi dati (declinazione,
data,
// note) i segmenti importati vengono riferiti alla registrazione
di
// default (la "0") presente nel file in cui si importa la
tratta.
// Se si definisce anche uno solo tra i dati di cui sopra
(declinazione,
// data, o note), che sia diverso dal valore presente nella
registrazione
// di default di cui sopra, viene impostata una nuova registrazione
di
// declinazione (declinazione, data, e note). Le "note",
se non definite
// esplicitamente, sono lasciate in bianco; se e` definita
solo la data,
// la declinazione e` assunta d'ufficio pari a quella del
valore presente
// nella registrazione di default; se e` definita solo la
declinazione,
// viene impostata una data pari a quella corrente.
##===== Impostazione del punto decimale ====================================##
// DecPoint=
Virgola= ,
;; Direttiva impartita al programma per indicare
;; quale carattere viene utilizzato come separatore
;; decimale per i valori delle misure. I caratteri
;; ammessi sono il punto "." e la virgola "," .
;; Se non si specifica nulla, il default e` il
;; punto. Se si e` specificato la virgola, il
;; carattere "," non viene piu` accettato come
;; separatore tra i campi delle misure. La virgola
;; e` invece regolarmente accettata come separatore
;; tra i campi dati quando si usa il "." come
;; separatore decimale. E` un campo facoltativo,
;; puo` comparire piu` volte.
##===== Unita` di misura ===================================================##
//
// Si tratta di dichiarazioni facoltative; in loro assenza,
il programma di
// importazione assegna dei default. Questi dati possono
comparire piu`
// volte, e si applicano alle misure che seguono la dichiarazione.
// Length=
Distanze= m
;; Unita` di misura delle distanze. Sono ammessi
;; i metri ('m') e i centimetri ('cm'). NON SONO
;; ANCORA AMMESSE, al momento, ma sono previste,
;; le unita` pollici ('in') e piedi ('ft').
;; E` un campo facoltativo, per default = 'm', e
;; puo` comparire piu` volte.
// Bearing=
Azimut= S
;; Unita` di misura degli azimut. Sono ammessi
;; i gradi sessagesimali ('S') e i gradi
;; centesimali ('C').
;; E` un campo facoltativo, per default = 'S',
;; puo` comparire piu` volte.
// Angle=
Angoli= S
;; Unita` di misura degli angoli tacheometrici.
;; Sono ammessi i gradi sessagesimali ('S') e i
;; gradi centesimali ('C').
;; E` un campo facoltativo, per default = 'C',
;; puo` comparire piu` volte.
// Dip=
Pendenze= S
;; Unita` di misura delle pendenze.
;; Sono ammessi i gradi sessagesimali ('S') e i
;; gradi percentuali ('%').
;; E` un campo facoltativo, per default = 'S',
;; puo` comparire piu` volte.
##===== Dati definiti come "parametri" =====================================##
//
// Si tratta di dichiarazioni facoltative; in loro assenza,
il programma di
// importazione assegna dei default. Questi parametri possono
comparire piu`
// volte, e si applicano alle misure che seguono la dichiarazione.
// Se uno di questi parametri e` invece presente come "campo"
nell'ordine
// delle misure assegnato con la direttiva 'Ordine= (....',
l'impostazione
// "esterna" del parametro e` ignorata. In ogni caso, quando
uno di questi
// parametri non figura (o non figura piu`) nell'ordine delle
misure,
// viene applicato il default o l'ultimo valore ad esso assegnato
con la
// relativa dichiarazione.
// CutPnt=
PuntoSez= Dal
;; Dichiarazione impartita al programma per indicare
;; a quale punto si riferisce la sezione trasversa
;; indicata nei valori delle misure che compaiono
;; nel seguito.
;; Codici: 'Dal', 'Al' (oppure 'From','To').
;; Abbreviazioni: 'D', 'A' (oppure 'F','T').
;; Default = 'Dal' ('From').
// Prof=
Prof= Dx
;; Dichiarazione impartita al programma per indicare
;; che i segmenti di poligonale descritti dalle
;; misure che compaiono nel seguito devono essere
;; riportati in sezione longitudinale rivolti verso
;; destra oppure verso sinistra.
;; Codici: 'Dx' = Destra, 'Sin' = Sinistra
;; (abbreviazioni: 'D', 'S'), oppure
;; 'R'= Right, 'L'= Left (default = 'Dx').
// Qual=
Qual= 50
;; Dichiarazione impartita al programma per indicare
;; che i segmenti di poligonale descritti dalle misure
;; che compaiono nel seguito devono ricevere il
;; giudizio di qualita` dichiarato. Questo valore e`
;; internamente utilizzato soltanto se il segmento
;; fa parte di un anello chiuso di poligonale.
;; Codici: numeri da 0 a 100 .
;; Questo campo e` facoltativo, deve precedere i
;; valori delle misure e puo` comparire piu` volte.
;; Default = 50 (qualita` "normale").
##===== Ordinamento e selezione dei campi dati =============================##
//
// Esempio di "definizione" dell'ordine con cui compariranno i
valori delle
// misure. Questa definizione e` obbligatoria, e deve precedere
i valori
// delle misure. Si puo` ripetere ogni volta che lo si ritiene
necessario.
// Lo standard di coordinate utilizzato viene ricavato automaticamente
dal
// programma, sulla base del tipo di campi impostati.
// I nomi dei campi ammessi sono riportati nel seguito. Nell'elenco,
devono
// essere separati tra di loro almeno da uno <spazio>, o da
un carattere di
// <tabulazione>, o da una <virgola>, oppure da un <accapo>.
// Nella definizione dell'ordine si intende implicitamente incluso,
come
// ultimo campo, un campo "note segmento", che non deve essere
specificato
// nell'ordinamento. La parentesi chiusa ')' termina la lista dei
campi.
// Order=
Ordine= ( Dal, Al, Dist, Azimut, Pend )
// CAMPI ELENCABILI
//
// (in italiano)=== (in inglese)======
// Dal, Al,
From, To, ;;
I punti estremi "Dal" e "Al"
// Dist, /Dist, Length, /Length,
;; Distanza diretta e inversa
// Azimut, /Azimut, Bearing, /Bearing, ;; Azimut diretto
e inverso
// Pend, /Pend, Dip, /Dip,
;; Pendenza diretta e inversa
// Pianta, /Pianta, Plan, /Plan,
;; Dist. planare diretta e inversa
// Disliv, /Disliv, DifLev, /DifLev, ;;
Dislivello diretto e inverso
// Est, Nord, East, North,
;; Spostamenti cartesiani Est/Nord
// RifDal,
RefFrom,
;; Punto di riferimento tacheometrico
// RifAl,
RefTo,
;; per il punto "Dal" e quello "Al"
// AngDal,
AngFrom,
;; Angoli tacheometrici, misurati sui
// AngAl,
AngTo,
;; punti "Dal" e "Al", riferiti ai
//
;; punti di riferimento corrispondenti
// PuntoSez, CutPnt,
;; Sezione sul punto "Dal" o "Al"
// Sopra, Sotto, Up, Down,
;; Valori della sezione trasversa
// Dx, Sin,
Right, Left,
// Prof,
Prof,
;; 'Dx', 'Sin' oppure 'R','L'
// Qual,
Qual
;; Qualita` misura: numeri 0..100
//
##===== Dati di Misura =====================================================##
//
// L'elenco ordinato delle misure eseguite. Deve corrispondere
con quanto
// definito in precedenza con la definizione dell' <Ordine=>
// La parentesi chiusa termina l'elenco delle misure.
// Il primo segmento elencato definisce il punto di riferimento
metrico:
// il punto "Dal" ("From") assumera` le coordinate (0,0,0).
//
// Data=
Dati = (
// Dal Al Dist Azimut Pend
Note
2 3 2.10
123.0 -25.0 Nota specifica del primo segmento
3 4 1.80
220.0 -48.0
4 5 2.11
106.0 -84.6
5 6 3.80
106.0 -14.0
)
##===== Note sul Formato dei Dati ==========================================##
##
- Per i "nomi dei punti" e i "dati di misura", accettiamo i caratteri
normalmente validi "a video", nei campi dei nomi dei punti
e delle misure.
- Nomi dei punti: '-', '.', '/', ':', '_', 'A'..'Z', 'a'..'z',
'0'..'9'.
- Dati di misura: '+', '-', '.', '0'..'9'.
La virgola nei numeri e` accettata solo se la si e` definita
come separatore
decimale, con la parola chiave <Virgola> (oppure <DecPoint>),
altrimenti e`
soltanto considerata come separatore (opzionale) tra i dati
e i nomi punto.
Il separatore decimale di default e` il "punto" (all'inglese).
- Un dato che non si intende fornire (come ad esempio un Azimut
inutile
se il segmento e` verticale) deve essere riportato ugualmente
in modo
fittizio, mettendo al suo posto un asterisco ' * ', come
"segnaposto".
I campi omessi mediante l'asterisco '*' risultano "vuoti",
per i campi misure
veri e propri, o pari al valore del segmento precedente,
per i parametri
"PuntoSez" ("CutPnt", o punto di sezione trasversa), "Prof"
("Prof", o
orientazione del profilo longitudinale), "Qual" ("Qual",
o qualita` della
misura).
- Il campo "Sopra" ("Up") puo` contenere l'altezza totale della
sezione: cio`
avviene quando il numero e` seguito, senza spazi in mezzo,
da "t" o "T" (per
es: 1.25t ). Questo vale sia in italiano che in codice internazionale.
- Posso "ricordare" l'ordine dei campi inserendo ogni tanto un
commento, ma
per cambiare l'ordine devo prima "chiudere" i dati con una
parentesi chiusa,
ri-definire il nuovo ordine, e poi "aprire" un nuovo elenco
di misure.
- La parentesi chiusa deve comparire dopo un set completo di dati,
altrimenti
viene generato "errore".
- Qualunque stringa individuata dopo l'ultimo campo previsto dalla
direttiva
<Ordine=> viene interpretata come "nota" da registrare
"privatamente"
insieme ai dati del segmento.
La "nota privata del segmento" termina:
1) alla fine della riga, oppure
2) con l'inizio di un commento inserito prima della fine
riga, oppure
3) con l'incontro della parentesi di chiusura. Se la nota
include una
parentesi chiusa che non deve essere intesa
come "chiusura dei dati",
e` necessario riportarla doppia, ad esempio
come "))": sara` poi
memorizzata come una sola.
Attenzione che la "nota" privata del segmento e` riconosciuta
a patto che
segua direttamente, sulla stessa riga, l'ultimo dato di
misura previsto
per quel segmento, a parte l'eventuale virgola di separazione,
ignorata; non
si puo` mettere la "nota" sulla riga successiva.
Una "nota" puo` essere lunga al massimo 64 caratteri.
- E` possibile inserire ovunque dei commenti, che non saranno acquisiti.
Fa eccezione l'eventuale commento inserito prima di una
"nota privata del
segmento", poiche` il commento stesso concluderebbe l'acquisizione
dei dati
di quel segmento, causando il tentativo, da parte dell'interprete,
di
interpretare quelle che dovrebbero essere "note" come dati
di un segmento
successivo.
- Attenzione! Se una serie di segmenti e` stata introdotta definendone
l'ordinamento dei campi con la parola chiave in una data
lingua ("Order=",
"Ordine="), il nome dei campi elencati deve essere introdotto
nella stessa
lingua. La stessa regola vale per quei campi dati che prevedono
parole
chiave, come ad esempio l'orientamento nel profilo longitudinale
('Dx'='R'),
o la definizione del punto di sezione trasversa ('Dal'=
'From').
La lingua di queste deve essere uguale a quella della parola
chiave che
introduce i dati ("Data=", "Dati=").
- ATTENZIONE: il modo "tacheometrico" non e` ancora supportato.
- ATTENZIONE: i "Dati Catastali" e i dati riguardanti i "Rilevatori,
Strumenti,
Precisione e Descrizione Tratta" non sono ancora implementati
nel programma,
e quindi l'importatore li ignora (non da "errore", ma non
li usa).
##