Formatų failo struktūra

 

Formatų failo pavadinimas turi būti “formats.ini”. Šiame faile gali būti saugoma vieno arba kelių formatų aprašymai. Kiekvieno formato aprašymas pradedamas eilute:

[INDENTIFIKATORIUS]=KampaiAtstumaiKodo_reikšmė

 

Šioje eilutėje:

      “INDENTIFIKATORIUS” – Nurodomas formato pavadinimas. Šis pavadinimas matomas, vykdant importavimo komandą, failo pasirinkimo dialogo eilutėje Files of type.

      “Kampai” – nurodoma kokiais matavimų vienetais informacija bus pateikiama ėjimų lyginimo dialogo lange. Galimos reikšmės:

0 - Lai/min/sek;

1 - Lai/min.dalys;

2 - Laipsn.dalys;

3 - Gradai;

      “Atstumai” – pagal tai, koks matavimų vienetas bus nurodytas formatų faile, taip duomenis interpretuos programa.

0 – Metrai (jei bus nustatytas šis parametras, programa interpretuos, kad importuojami duomenys nurodomi metrais).

1 – Milimetrai (jei bus nustatytas šis parametras, programa interpretuos, kad importuojami duomenys nurodomi milimetrais ir padalins iš 1000).

      „Kodo_reikšmė“ – požymis, kuris nurodo, kad importuojant būtų įsimenamas paskutinis kodas ir priskiriamas sekantiems taškams, kol nebus aptiktas sekantis kodas.

1 – įsimenama kodo reikšmė.

Jei nieko neįrašyta, kodo reikšmė neįsimenama.

 

 

Identifikavimo eilutės pavyzdys:

[GEODIMETER]=20

 

Ši pavyzdinė eilutė reiškia, kad:

      atsidarę importuojamo failo pasirinkimo dialogą lauke Files of type matysime užrašą GEODIMETER;

      importuojamame faile kampai matuojami laipsniais ir jų dalimis (tai žymi skaičius 2), o atstumai matuojami metrais (tai žymi skaičius 0);

      importavus duomenis matavimų dialoge bus pakeistos matavimo vienetų reikšmės.

Kiekvieno formato duomenų importavimo taisyklės aprašomos naudojant formatų eilutes. Viena formato eilutė aprašo taisykles, kaip iš importuojamo failo nuskaityti informaciją apie vieną tašką, t.y.:

      kai importuojamos koordinatės, nuskaitome taško vardą, koordinates ir kodą.

      kai importuojame matavimų duomenis, nuskaitome stoties vardą, stoties aukštį, vizuojamo taško vardą, vizuojamo taško aukštį, pamatuotus vertikalų ir horizontalų kampus, atstumą ir vizuojamo taško kodą.

Taisyklės gali būti formuojamos taip, kad būtų nuskaitomi tik reikalingi duomenys (pvz., nuskaitomos tik taško koordinatės).

Suformuotos formato eilutės pagalba importuojami visi duomenys, kurie atitinka eilutėje aprašytoms taisyklėms. Jeigu importuojamame faile yra duomenų apie taškus, neatitinkančius taisyklėms, aprašytoms formato eilutėje, formatų faile reikia sukurti tiek skirtingų eilučių, kad jų pagalba būtų galima importuoti visus reikalingus duomenis.

Formato eilutės struktūra:

$EilTipas”Formatas”=Argumentai

 

Šioje eilutėje:

      “EilTipas” – nurodo kokią komandą vykdant turi būti importuojami duomenys ir ką programa turi daryti su importuotais duomenimis. Galimos reikšmės:

“S” – šiuo identifikatoriumi aprašytos eilutės yra importuojamos vykdant Geo → Ėjimų lyginimas funkciją  Importas. Importuojami duomenys užpildo Geodezinio pagrindo taškų sąrašą dialoge Matavimų duomenys. Šis identifikatorius taip pat naudojamas vykdant komandą  Geo → Taškų importas. Pagal importuotų duomenų informaciją paklojami piketai (pagrindo taškai). Galimas maksimalus pagrindo taškų kiekis 200.

“P” – šiuo identifikatoriumi aprašytos eilutės yra importuojamos vykdant Geo → Ėjimų lyginimas funkciją Importas. Importuojami duomenys užpildo Matavimų žurnalo sąrašą dialoge Matavimų duomenys.

“C” – šiuo identifikatoriumi aprašytos eilutės yra importuojamos vykdant komandą Geo → Taškų importas. Pagal importuotų duomenų informaciją paklojami piketai.

      “Formatas“ – aprašomas šablonas, pagal kurį programa ieško duomenų, kuriuos reikia importuoti. Formato šablonas sudaromas iš vienos arba kelių žemiau parodytų sekų (laužtiniuose skliaustuose pažymėti argumentai gali būti praleisti):

[skyrikliai]%[-][plotis][.tikslumas]Tipas[skyrikliai]

“Skyrikliai” – nurodomi duomenų eilutės seką sudarantys nereikšminiai simboliai, kurie kartojasi visose nuskaitomose duomenų eilutėse. Šių simbolių pagalba identifikuojama ar tikrinama importuojamų duomenų seka mums tinka. Duomenys apie tašką gali būti saugomi keliose importuojamo failo eilutėse, norint kad duomenys būtų skaitomi iš kelių eilučių reikia naudoti skyriklį ‘\n’- nauja eilutė.

“%” – nurodo, kad nagrinėjami duomenys turi būti importuojami į programą.

“Tipas” – nurodo kokio tipo duomenys turi būti nuskaitomi:

§ s – nuskaitoma bet kokia simbolinė informacija

§ d – nuskaitomi sveikieji skaičiai

§ f – nuskaitomi skaičiai su reikšmėmis po kablelio

§ l – nuskaitomi sveikieji skaičiai ir iš jų suformuojami skaičiai su reikšmėmis po kablelio

„–“ – nurodo, kad prieš skaitmenį turi būti nuskaitomas ženklas.

“Plotis” – nurodo kiek simbolių reikia nuskaityti ir importuoti į programą. Jei šis argumentas nenaudojamas nuskaitoma simbolių seka esanti tarp tarpų arba visas nurodyto tipo skaičius.

“Tikslumas” – nurodo kiek turi būti nuskaitoma skaitmenų po kablelio. Naudojamas kai duomenų tipas f arba l.

      “Argumentai” – nurodoma kokia tvarka ir kokie duomenys apie tašką turi būti importuojami į programą. Argumentų seka yra sudaryta:

Arg1Arg2…ArgN – argumentų identifikatoriai.

 

Argumentų skaičius turi sutapti su formatą sudarančių sekų skaičiumi (% skaičiumi formato dalyje).

Argumento vieta nurodo kurios formato sekos duomenys turi būti importuojami (Pirmam  argumentui bus priskirtos pirmos sekos reikšmės, antram argumentui bus priskirtos antros sekos reikšmės).

Argumentai identifikatoriai surašomi vienas po kito be tarpų. Argumento identifikatorius nurodo į kokį duomenų lauką turi būti importuojami duomenys. Galimi argumentų identifikatoriai:

Kai eilutės tipas C, nustatomos piketų koordinatės ir priskiriamos piketų atributų reikšmės:

§ 13 – Taško vardas. Užpildomas piketo atributas Numeris;

§ 14 – Taško koordinatė X. Nustatoma klojamo piketo X koordinatė;

§ 15 – Taško koordinatė Y. Nustatoma klojamo piketo Y koordinatė;

§ 16 – Taško koordinatė Z. Užpildomas piketo atributas Aukštis;

§ 17 – Pamatuoto objekto kodas (sutartinis ženklas). Užpildomas piketo atributas Kodas. Pagal kodo reikšmę parenkamas reikalingas sutartinis ženklas;

§ 00 - nereikšminiai duomenys, kurių buvimas svarbus identifikuojant nuskaitomų duomenų eilutę. Šie duomenys niekur nenaudojami.

Kai eilutės tipas S, pildomi Matavimų duomenų dialogo Geodezinio pagrindo taškų sąrašo laukai:

§ 13 – Taško vardas. Pildomas laukas Vardas;

§ 14 – Taško koordinatė X. Pildomas laukas “X”;

§ 15 – Taško koordinatė Y. Pildomas laukas “Y”;

§ 16 – Taško koordinatė Z. Pildomas laukas “Z”;

§ 17 – Pamatuoto objekto kodas (sutartinis ženklas). Pildomas laukas Kodas; Pagal kodo reikšmę parenkamas reikalingas sutartinis ženklas;

§ 00 - nereikšminiai duomenys, kurių buvimas svarbus identifikuojant nuskaitomų duomenų eilutę. Šie duomenys niekur nenaudojami.

Kai eilutės tipas P, pildomi Matavimų duomenų dialogo Matavimų žurnalo sąrašo laukai:

§ 01 – Stoties vardas. Pildomas laukas Stotis;

§ 02 – Matuojamo taško vardas. Pildomas laukas Kryptis;

§ 03 – Horizontalus kampas tarp stoties ir matuojamo taško. Pildomas laukas “H.*”;

§ 04 – Horizontalaus kampo minutės ir jų dalys. Pildomas horizontalaus kampo laukas ;

§ 05 – Horizontalaus kampo sekundės ir jų dalys. Pildomas horizontalaus kampo laukas ;

§ 06 – Vertikalus kampas tarp matuojamo taško ir prietaiso aukščio. Pildomas laukas “V.*”;

§ 07 – Vertikalaus kampo minutės ir jų dalys. Pildomas vertikalaus kampo laukas ’;

§ 08 – Vertikalaus kampo sekundės ir jų dalys. Pildomas vertikalaus kampo laukas ;

§ 09 – Horizontalus atstumas nuo stoties iki matuojamo taško. Pildomas laukas Atstumas;

§ 10 – Atstumas nuo stoties iki matuojamo taško. Pildomas laukas Atstumas;

§ 11 – Reflektoriaus aukštis. Pildomas laukas Krypt.H;

§ 12 – Stoties aukštis. Pildomas laukas St.H;

§ 17 – Pamatuoto objekto kodas (sutartinis ženklas). Pildomas laukas Kodas; Pagal kodo reikšmę parenkamas reikalingas sutartinis ženklas;

§ 18 – Horizontalus kampo laipsniai, minutės, sekundės: tarkime turime kampo aprašymą iš aparato 245.4537. Iki taško duomenys bus nuskaityti kaip laipsniai, du simboliai po taško kaip minutės, 3-4 simboliai po taško kaip sekundės.  Tinka tik tokiam aprašymui, kai po taško yra keturi skaitmenys ir pirmi du vaizduoja kampo minutes, o trečias ir ketvirtas sekundes.

§ 19 – Vertikalaus kampo laipsniai, minutės, sekundės. Analogiškai kaip 18.

§ 00 – nereikšminiai duomenys, kurių buvimas svarbus identifikuojant nuskaitomų duomenų eilutę. Šie duomenys niekur nenaudojami.

Formatų eilutės pavyzdys:

$P"5=%s\n4=%s\n6=%f\n7=%f\n8=%f\n9=%f"=021711181909

Ši eilutė reiškia, kad:

      Ši eilutė bus naudojama vykdant komandą Importas iš dialogo Matavimų duomenys ir bus užpildytas Matavimų žurnalas.

      Programa ieškos taip atrodančios informacijos sekos:

5=%s (čia gali būti bet koks tekstas ar skaičius);

4=%s (čia gali būti bet koks tekstas ar skaičius);

6=%f (čia gali būti bet koks skaičius su reikšmėm po kablelio);

7=%f (čia gali būti bet koks skaičius su reikšmėm po kablelio);

8=%f (čia gali būti bet koks skaičius su reikšmėm po kablelio);

9=%f (čia gali būti bet koks skaičius su reikšmėm po kablelio);

      Kai programa suras informacijos seką, ji užpildys matavimų žurnalą tokia tvarka:

Reikšmė esanti po „5=“ bus įrašyta  kaip Kryptis  į  Matavimų žurnalą ;

Pagal reikšmę esančią po „4=“ bus parinktas sutartinio ženklo aprašymas ir įrašytas į Matavimų žurnalą;

Reikšmė esanti po „6=“ bus įrašyta kaip horizontali kryptis į Matavimų žurnalą;

Reikšmė esanti po „7=“ bus įrašyta kaip horizontalus kampas į Matavimų žurnalą. Struktūra: skaičiai iki taško – laipsniai, po taško 2 skaitmenys – minutės, trečias ir ketvirtas skaitmenys po taško – sekundės;

Reikšmė esanti po „8=“ bus įrašyta kaip vertikalus kampas į Matavimų žurnalą. Struktūra: skaičiai iki taško – laipsniai, po taško 2 skaitmenys – minutės, trečias ir ketvirtas skaitmenys po taško – sekundės;

Reikšmė esanti po „9=“ bus įrašyta kaip atstumas į Matavimų žurnalą;

      Kartojant veiksmus bus importuoti visi reikalingi duomenys.