Formato sudarymas

 

1.  Atsidarykite duomenų, kuriuos norite importuoti, failą. Pvz.: Geodim2.txt:

2=63S

37=60634.150

38=44621.060

62=TR.JU

37=70509.930

38=41619.960

21=343.0548

5=T1

4=1

6=0

7=245.4528

8=90.1726

9=486.112

37=60434.555

38=44177.819

39=-2.450

2=T111

37=60434.555

38=44177.820

39=168.000

62=TR.JU

37=70509.930

38=41619.960

39=0

21=345.4518

3=1.500

5=2

4=1

6=1.800

7=109.0532

8=92.4726

9=8.952

37=60431.630

38=44186.270

39=167.264

5=3

4=1

6=1.800

7=112.5214

8=95.1516

9=19.078

37=60427.171

38=44195.324

39=165.952

5=4

4=6

6=1.800

7=111.2152

8=95.3216

9=28.981

37=60424.046

38=44204.683

39=164.903

5=5

4=13

6=1.800

7=114.2420

8=94.4142

 

2.  Nustatykite  aparato aprašyme, kokie kampų ir atstumų matavimo vienetai naudojami:

      Šiame faile kampai aprašomi laipsniais, minutėmis, sekundėmis (pvz. 7=245.4528 reiškia, kad kampas yra 245 laipsniai, 45 minutės ir 28 sekundės); atstumai aprašomi metrais ir jų dalimis (pvz. 9=486.112 reiškia, kad atstumas 486 metrai, 11 centimetrų ir 2 milimetrai).

PASTABA: skirtingi prietaisai naudoja skirtingus matavimo vienetų aprašymo formatus. Skaičius 245.4528 galėtų reikšti laipsnius ir laipsnių dalis, arba minutes ir minučių dalis, arba sekundes ir sekundės dalis, arba tokį formatą, kaip aprašyta aukščiau.

3.  Nuspręskite kokius duomenis norite importuoti:

      Tvirtus taškus

      Matavimus

      Pamatuotų taškų koordinates

Importuosime tvirtus taškus ir matavimus.

4.  Išanalizuokite importuojamų duomenų failo struktūrą ir nustatykite, kaip atrodo seka, aprašanti vieno taško duomenis.

      Nustatykite kaip seka sudaryta:

      Nustatykite kurie duomenys sekoje pastoviai kartojasi, jie turėtų būti skyrikliai.

      Nustatykite kurie duomenys yra reikšminiai, jų informaciją reikės importuoti.

      Nustatykite ar visiems duomenims importuoti užteks vienos formatų eilutės

Pastaba: pasinaudojus geodezinio prietaiso, iš kurio importuojami duomenys, dokumentacija surandame reikšmes, kurios yra užkoduotos importuojamame pavyzdiniame faile:

2=stoties vardas, 4=pamatuoto objekto kodas, 5=matuojamas taškas, 6=reflektoriaus aukštis, 7=horizontalus kampas, 8=vertikalus kampas, 9= pamatuotas atstumas, 11=horizontalus atstumas nuo stoties iki matuojamo taško, 37=x koordinatės,  38=y koordinatės, 39=z koordinatės,  62=nulinamas taškas. Žinant šias reikšmes, lengvai galime nustatyti sekas aprašančias taškus. Keleto sekų pvz.:

 

 

Pirmiausia nustatome kiek yra skirtingu sekų:

 

2=63S                                         Seka aprašanti geodezinio pagrindo taškus

37=60634.150

38=44621.060

 

Šioje sekoje skyrikliai yra: 2=, 37=, 38=.

 

2=T111                                        Seka aprašanti geodezinio pagrindo taškus

37=60434.555

38=44177.820

39=168.000

 

Šioje sekoje skyrikliai yra: 2=, 37=, 38=,39=.

 

5=T1                      Seka aprašanti matavimo duomenis (pamatuotus taškus)

4=1

6=0

7=245.4528

8=90.1726

9=486.112

 

Šioje sekoje skyrikliai yra: 5=, 4=, 6=, 7=, 8=, 9=.

 

2=63S                                         Seka aprašanti matavimo duomenis (pamatuotus taškus)

37=60634.150

38=44621.060

62=TR.JU

37=70509.930

38=41619.960

21=343.0548

 

Šioje sekoje skyrikliai yra: 2=, 37=, 38=, 62=, 37=, 38=, 21=.

 

2=T111                                        Seka aprašanti matavimo duomenis (pamatuotus taškus)

37=60434.555

38=44177.820

39=168.000

62=TR.JU

37=70509.930

38=41619.960

39=0

21=345.4518

3=1.500

 

Šioje sekoje skyrikliai yra: 2=, 37=, 38=, 62=, 37=, 38=, 39=, 21=, 3=.

 

5.  Atsidarykite failą “formats.ini”

6.  Suformuokite formatą identifikuojančia eilutę:

      Identifikatoriaus pavadinimą reikėtų sudaryti iš prietaiso pavadinimo ir formatą apibūdinančių unikalių savybių, kad pagal jį lengvai galėtumėte išsirinkti jums reikalingą formatą. Šiuo atveju pavadinkime [Geodimetras2]

      Įrašykite nustatytų faile naudojamų matavimo vienetų identifikatorius Šiuo atveju [Geodimetras2]=00, 0 - kampų matavimo vienetai laip/min/sek; 0 - atstumai metrais.

7.  Formuokite importo eilutę:

      Įrašykite eilutės tipo reikšmę.

Turime penkias skirtingas sekas: dviejose sekose taškai aprašomi koordinatėmis, trejose – kampais. Tvirti taškai aprašomi koordinatėmis (formato eilutės tipas S), pamatuoti taškai kampais (formato eilutės tipas P).

      Suformuokite formato dalį.

Pvz: seka I     2=T111        Eilutės tipas S

37=60434.555                     Formatas: $S"2=%s\n37=%5.2f\n38=%5.2f\n39=%3.2f"

38=44177.820                     37=%5.2f reiškia, kad iš 60434.555 nuskaitys penkis sveikus skaičius

39=168.000  (60434) ir du skaičius po kablelio (55)=> 60434.55.

 

Atsižvelgdami į eilutės tipą ir formato dalį surašykite argumentus.

Argumentai 13141516 nusako kur, kokie duomenys bus naudojami atliekant Ėjimų lyginimą

$S"2=%s\n37=%f\n38=%f\n39=%f"=13141516

13 taško vardas. Pildomas laukas Vardas.

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.

 

Pvz.: seka II    2=T111       Eilutės tipas P

37=60434.555                     Formatas: $P"2=%s\n37=%s\n38=%s\n39=%s\n62=%s\n37=

38=44177.820                                             %s\n38=%s\n39=%s\n21=%s\n3=%s"

39=168.000

62=TR.JU

37=70509.930

38=41619.960

39=0

21=345.4518

3=1.500

Atsižvelgdami į eilutės tipą ir formato dalį surašykite argumentus

$P"2=%s\n37=%s\n38=%s\n39=%s\n62=%s\n37=%s\n38=%s\n39=%s\n21=%s\n3=%s"=01000000020000001812

Argumentai 01000000020000001812 nusako kur ir kokie duomenys bus naudojami atliekant Ėjimų lyginimą:

01 – reiškia, kad 2=%s aprašo stoties vardą, kuris bus įrašytas lauke “Stotis”.

000000 – reiškia, kad 37=%s, 38=%s, 39=%s nereikšminiai duomenys (koordinatės x,y,z,), kurių buvimas svarbus identifikuojant nuskaitomų duomenų eilutę. Šie duomenys niekur nenaudojami.

02 – reiškia, kad 62=%s aprašo matuojamo taško vardą, kuris bus įrašytas į lauką Kryptis.

000000 – reiškia, kad 37=%s, 38=%s, 39=%s nereikšminiai duomenys (koordinatės)

18 – reiškia, kad 21=%s aprašo horizontalų kampą, kurio duomenys bus pildomi lauke H,*.

12 – reiškia, kad 3=%s aprašo stoties aukštį ir šie duomenys bus pildomi lauke St.H.

 

Surašykite visas formatų eilutes į “formats.ini” failą,

 

8.  Užsaugokite failą.