Table of Contents

JÚDT: 4 Zpracování polygonu

V následujících příkladech si ukážeme jak zadat do Therionu naměřené údaje a jak vyexportovat polygon do různých formátů.

4.1 Než začneme

Ještě než začneme, vytvořte si na disku adresář therion_sample a v něm podadresáře data a output. Prostě nějak takto:

Do této struktury budeme naše data ukládat.

K editaci souborů *.th slouží okno Text editor v XTherionu (použít můžete také libovolný plain textový editor - vi, notepad atd.).

Spustíme si tedy XTherion:

Po spuštění se otevře prázdné okno Kompilátoru. Nenechte se zmást, kliknutím na ikonu :czsk:judt:xth_te_icon.png, příp. stisknutím F1 nebo přes menu OknoText editor se přepněte do Text editoru a v menu Soubor vyberte Nový (ikona :czsk:judt:xth_new_icon.png). V pravém sloupci ještě zvolte KódováníZměnit nautf-8 (doporučuji z důvodu přenositelnosti).

Můžete si současně otevřít Therion Book, ve kterém najdete popis a vysvětlení ke všem příkazům a volbám. A jdeme na to…

4.2 První polygon

Každý datový objekt v Therionu (centerline, map, scrap atd.) musí patřit do tzv. survey. V survey také můžeme spojovat jiná survey v jeden celek (třeba dvě části jeskyně). Survey musí být ukončen příkazem endsurvey.

Survey je specifikováno pomocí identifikátoru (v našem případě hp), který musí být unikátní v rozsahu nadřazeného survey (bude vysvětleno později). Zpětné lomítko slouží k odřádkování parametrů na samostatný řádek.

survey hp \
-title "Hlavní polygon"

Příkazem centerline (může být použito i centreline) začíná část týkající se polygonového tahu. Příkaz musí být ukončen příkazem endcenterline (příp. endcentreline).

centerline

Následují seznamy objevitelů, měřičů spolu s časovými informacemi.

explo-team "Ladislav Blažek" # objevil

nebo

explo-team "ZO/ČSS 6-28 Babická speleologická skupina" # objevil

Všechny “týmy” jsou primárně určeny pro zadávání jmen osob ve tvaru jméno příjmení. Pokud chcete tak jako já zadávat místo jmen objevitelů třeba název jeskyňářského klubu, musíte první dvě slova oddělit lomítkem.

explo-date 1996-1997 # kdy bylo objeveno
team "Ladislav Blažek" # seznam měřičů
team "Zdenek Stloukal" # každý na samostatný řádek
date 1998.02.21 # kdy bylo změřeno

Časové údaje můžou být jak konkrétní data (např. 1998.02.21) tak časové intervaly (např. 1993-1997).

Obsahuje-li vaše měření fixní body (můžete jich mít libovolné množství) nejprve specifikujte souřadnicový systém:

cs lat-long # WGS84

pak přichází na řadu vlastní souřadnice:

fix ZB 16:43:8.31 49:16:54.44 543.900

Pokud vaše data obsahují datum měření a fixní bod v některém z podporovaných souřadnicových systému dokáže Therion pro dané měření automaticky spočítat magnetickou deklinaci. V opačném případě můžete magnetickou deklinaci specifikovat jako parametr survey.

Teď přichází na řadu samotné měření. Nejprve therionu řekneme jak budeme data vkládat - příkazem data následovaným parametry určujícími způsob měření (normal, topofil, diving, cartesian, cylpolar atd.) a pořadí měřených hodnot. Pro tradiční měření vzdálenosti, azimutu a sklonu (normal) to bude asi takto:

data normal from to length compass clino # od do délka azimut sklon

:!: Pamatujte pořadí hodnot může být libovolné a mělo by odpovídat vašemu měřičskému zápisníku. Stejně tak můžete kdykoli formát vstupních dat předefinovat - např. budeme místo azimutu měřit azimut v opačném směru (backcompass)

data normal from to length compass clino # od do délka azimut sklon
...
...
data normal from to length backcompass clino # od do délka obrácený_azimut sklon
...
...

Pokud neudáte jinak, délkové jednotky budou v metrech, úhlové ve stupních. V opačném případě nastavte dle libosti pomocí příkazu units následovaným typem měření a jednotkami. Např.:

units compass grad

Před záměry, kterých se to týká, máme možnost therionu říct aby na měření se sklonem ±90° neaplikoval korekce sklonu.

infer plumbs on

Samotná měření můžete zadávat buď přes pravé menu nebo normálním zápisem s oddělením hodnot mezerou či tabulátorem.

Důležité je vědět, že názvy měřičských bodů musí být unikátní pouze v rámci survey. Pokud tedy máte více survey, můžete v každém z nich číslovat body od nuly. Odkazovat se pak na ně budete takto: <bod_id>@<survey_id> (obdobně jako v mailové adrese)

0 1 3.54 0 -90
1 2 6.06 325 -70
2 3 4.66 200 -81.5
... atd.

Všechno pak musíme pěkně ukončit.

endcenterline
endsurvey hp

Hotovo, zbývá jen naše dílko uložit (ikona :czsk:judt:xth_saveas_icon.png, SouborUložit jako…) do podadresáře data jako hp.th.

4.2.1 Soubor hp.th

encoding utf-8

survey hp \
-title "Hlavní polygon"

  centerline

    explo-team "ZO/ČSS 6-28 Babická speleologická skupina" # objevil
    explo-date 1996-1997 # kdy bylo objeveno
    team "Ladislav Blažek" # seznam měřičů
    team "Zdenek Stloukal" # každý na samostatný řádek
    date 1998.02.21 # kdy bylo změřeno

    data normal from to length compass clino # od do délka azimut sklon

    infer plumbs on
    0 1 3.54 0 -90
    1 2 6.06 325 -70
    2 3 4.66 200 -81.5
    3 4 4.45 141 -53
    4 5 2.69 60 -32
    5 6 1.14 110 -12
    6 7 4.91 85 -7
    7 8 6.7 350 -25
    8 9 3.72 145 -50
    9 10 5.23 165 -24
    10 11 8.69 35 -71
    11 12 4.23 271 -38.5
    12 13 4.06 165 1.5
    13 14 5.96 215 -15
    14 15 4.02 181 -61.5

  endcenterline

endsurvey

4.3 Polygon odbočky

Stejným způsobem si vytvoříme další datový soubor, který bude obsahovat polygon odbočky. Nazveme ho odbocka.th a uložíme do podadresáře data.

4.3.1 Soubor odbocka.th

encoding utf-8

survey odbocka \
-title "Odbočka"

  centerline

    explo-team "ZO/ČSS 6-28 Babická speleologická skupina"
    explo-date 1997
    team "Ladislav Blažek"
    team "Zdenek Stloukal"
    date 1998

    data normal from to length compass clino

    0 1 1.74 250 3
    1 2 2.56 94 -22
    2 3 4.46 149 39
    3 4 1.3 235.5 15
    4 5 2.13 175.5 36
    5 6 3.72 250 -40
    6 7 3 220 -31
    7 8 3.18 325 -41
    8 9 2.24 230 -51

  endcenterline

endsurvey odbocka

4.4 Spojení polygonů

Máme vytvořeny dva datové soubory popisující dva polygony a musíme tedy ještě Therionu sdělit jak spolu vlastně souvisí. K tomu využijeme “index” soubor - index.th, který vytvoříme opět v text editoru programu XTherion a který tentokrát uložíme přímo do adresáře therion_sample. Bude obsahovat jen definici vazeb mezi polygony.

Začneme jako v předchozích případech.

survey index \
-title "Naše obrovská jeskyně"

Připojíme naše datové soubory:

input data/hp.th
input data/odbocka.th

a jdeme na definici vazeb. Vše co se týká polygonu musí být mezi centerline a endcenterline.

centerline

Spojíme body:

equate 0@odbocka 11@hp # bod 0 v survey odbocka je totožný s bodem 11 v survey hp
equate 9@odbocka 14@hp # bod 9 v survey odbocka je totožný s bodem 14 v survey hp

a vše uzavřeme.

endcenterline
endsurvey index

4.4.1 Soubor index.th

encoding utf-8

survey index \
-title "Naše obrovská jeskyně"

  input data/hp.th
  input data/odbocka.th

  centerline

    equate 0@odbocka 11@hp # bod 0 v survey odbocka je totožný s bodem 11 v survey hp
    equate 9@odbocka 14@hp # bod 9 v survey odbocka je totožný s bodem 14 v survey hp

  endcenterline

endsurvey index

4.5 Kompilace a export

Jakýkoliv výstup z Therionu dostaneme až po úspěšné kompilaci. K tomu potřebujeme soubory obsahující data z měření a konfigurační soubor, který si vytvoříme teď. Soubor bude pro tento případ velice jednoduchý, protože zatím máme údaje jen o polygonu.

V XTherionu se kliknutím na ikonu :czsk:judt:xth_komp_icon.png, příp. klávesou F3 nebo přes menu OknoKompilátor přepněte do Kompilátoru a v menu Soubor zvolte Nový (ikona :czsk:judt:xth_new_icon.png). Budete vyzváni k uložení konfiguračního souboru - uložte jej pod názvem thconfig do adresáře therion_sample.

Nejprve musíme specifikovat zdroj dat = soubor index.th.

source index.th

Sice máme zatím jen polygon, ale i tak se nám 2D mapa může hodit. Nadefinujeme si tedy jednoduchý layout, který slouží pro definici parametrů pro export. Pokud bychom chtěli exportovat jen 3D model není tento krok nutný.

layout polygon

  scale 1 200 # měřítko

  # hlavička
  map-header 0 0 on #hlavička bude v levém horním rohu
  legend off #vypnutí legendy - máme jen polygon

  # síť 1x1 m
  grid bottom
  grid-size 1 1 1 m
        
endlayout

Teď Therionu sdělíme jaký typ výstupu chceme a jaký má být výstupní formát. Výstup budeme směřovat do podadresáře output.

Výchozí formát pro export 2D mapy (map) je PDF

export map -layout polygon -output output/plan.pdf
export map -layout polygon -projection extended -output output/rozvinuty_rez.pdf

Můžeme ale exportovat i do SVG…

export map -format svg -layout polygon -output output/plan.svg

Z následujících příkazů pro export 3D modelu vyberte ten, pro který máte nainstalovaný prohlížeč. Jak už poznáte z parametru format, první příkaz je pro výstup do *.3d formátu programu Survex (prohlížeč Aven), druhý do formátu *.plt programu Compass (prohlížeč Compass nebo Aven), třetí soubor si můžete prohlédnout v prohlížeči dodaném spolu s Therionem a nazvaným Loch.

#export model -format survex -output output/model.3d
#export model -format compass -output output/model.plt
export model -output output/model.lox

Teď už stačí jen kliknout na ikonu :czsk:judt:xth_compile_icon.png, příp. tlačítko Kompilovat nebo F9 a pokud je vše v pořádku, měl(y) by se vám v adresáři output objevit vygenerovaný(é) soubor(y). Průběh kompilace můžete sledovat ve spodní části obrazovky, kam vám therion vypisuje i případná chybová hlášení.

Po úspěšné kompilaci můžete v kompilátoru zjistit různé údaje o naší jeskyni (délka, hloubka atd.). Vše se nalézá v bočním menu XTherionu, stačí jen v menu Struktura měření (survey) zvolit odpovídající část (survey) a v Info o měření (survey) si přečíst informace.

Výsledek poslední kompilace najdete také v souboru therion.log, který se automaticky vytvoří ve stejném adresáři v jakém leží thconfig.

4.5.1 Soubor thconfig

encoding utf-8

source index.th

layout polygon

  scale 1 200 # měřítko

  # hlavička
  map-header 0 0 on #hlavička bude v levém horním rohu
  legend off #vypnutí legendy - máme jen polygon

  # síť 1x1 m
  grid bottom
  grid-size 1 1 1 m
        
endlayout

export map -layout polygon -output output/plan.pdf
export map -layout polygon -projection extended -output output/rozvinuty_rez.pdf
export model -output output/model.lox

4.6 Dodatek: staničení (LRUD)

Máte měření obsahující data o levé, pravé stěně, stropu a dně (LRUD) a chcete tyto údaje využít?

Původní idea Therionu byla nenutit měřiče doměřovat staničení (LRUD). V měřítku nakreslené náčrtky už tyto informace obsahují a naskenováním a následnou vektorizací v XTherionu získáte vše potřebné pro vygenerování mapy a 3D modelu.

Pokud ovšem máte podklady z nějaké jeskyně bez náčrtků (tedy jen polygon se staničením) pak je tu i pro vás řešení. Therion umožňuje vygenerovat z polygonu podkladový obrázek (interní formát XVI) obsahující měřičské body, polygon a staničení a ten pak použít jako podklad místo naskenovaných náčrtků. Stejně tak využije LRUD informace při tvorbě 3D modelu.

V survey stačí pozměnit příkaz data u vybrané centerline a doplnit ho o staničení.

Původní zápis:

data normal from to length compass clino

a teď s podporou pro staničení:

data normal from to length compass clino left right up down

Samozřejmě si opět můžete pořadí hodnot stanovit tak jak vám vyhovuje a jak to máte ve svém měřičském zápisníku, např.:

data normal from to length compass clino up down left right

Pokud zadáte ve staničení jen jednu hodnotu, bude použita pro koncový bod záměry.

data normal from to length compass clino left right up down
0 1 3.54 0 -90 1.5 2.2 4.5 1.1

Pokud chcete uvést staničení i pro první bod pak zadáte:

data dimensions station left right up down # staničení pro výchozí bod
0 1 2 5 1
data normal from to length compass clino left right up down
0 1 3.54 0 -90 1.5 2.2 4.5 1.1

Pokud zadáte do hranatých závorek hodnoty dvě a oddělíte je mezerou, první bude pro počáteční a druhá pro koncový bod záměry.

data normal from to length compass clino left right up down
0 1 3.54 0 -90 [1 1.5] [2 2.2] [5 4.5] [1 1.1]

Pokud vám u dalších záměr staničení chybí, můžete zase jednoduše předefinovat formát dat na:

data normal from to length compass clino

a pokračovat se záměry bez staničení.

4.6.1 Upravený thconfig

V konfiguračním souboru pak můžete změnit řádek s exportem 3D modelu na:

export model -enable walls wall-source centerline -output output/model.lox