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:
therion_sample
data
output
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:
- zástupcem v menu Start → Programy → Therion → XTherion (Windows)
- nebo z příkazové řádky příkazem
xtherion
(Linux, MacOS X)
Po spuštění se otevře prázdné okno Kompilátoru. Nenechte se zmást, kliknutím na ikonu , příp. stisknutím F1 nebo přes menu Okno → Text editor se přepněte do Text editoru a v menu Soubor vyberte Nový (ikona ). V pravém sloupci ještě zvolte Kódování → Změnit na → utf-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 , Soubor → Ulož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 , příp. klávesou F3 nebo přes menu Okno → Kompilátor přepněte do Kompilátoru a v menu Soubor zvolte Nový (ikona ). 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 , 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