Създаване на карти с Therion

Абаканский клуб спелеологов 

Д.Ю. Береженко

Превод

А. К. Янев

СПК Академик

 

Създаване на топографска карта на пещера с помощта на програмата Therion

 

Абакан, София 2010

 image002

 

Съдържание

 

Въведение

 

При превода може да има грешки и неточности! Оригиналният документ се намира на сайта на абаканските пещерняци.

За да смените езика на интерфейса на програмата е нужно да промените във файла xtherion.ini командата ::msgcat::mclocale bg, а превода на надписите на картата във файла therion.ini с командата language bg. Бел. пр.

За създаването на карта на пещера се ползват два вида редактори: векторни редактори с общо предназначение и специализирани програми за съставяне на пещерни топографски карти. Векторните редактори с общо предназначение (например, CorelDraw) превъзхождат специализирани програми само в удобството и привичния ползвателски интерфейс, останалите аспекти, такива като привързването към антената, нанасяне на стандартизирани обозначения, внасяне на поправки, допълнително оформление и печатане на картите в различни формати, рисуване на пунктирани линии, отбелязващо кумини, линии за края на отвес, изобразяване на отделно лежащи камъни, а също възможността да разделим картата на няколко листа са предвидени само в специализираните програми. Един от тези редактори -Therion, ще разгледаме в тази статия. Програмата се разработва от Стахо Мудрак (Stacho Mudrak)и Мартин Будай (Martin Budaj) (съответно Чехия и Словакия ) [1].

Основния проблем при създаване на електронни карти на пещери е отсъствието на общо разпространено програмно обезпечение. Разработчиците на Therion, са предложили да се използва като фундаментална основа езикът Postscript (език за описване на графики, по-известен като основа на формата PDF). Рисуването на условното обозначение на отвеса е само една от многото проблеми свързани с чертането на пещерните карти, която успешно решава графичния формат на Therion. Има възможност да се коригира положението на реперните точки при изменение на данните от картирането, да се създават карти с няколко слоя с информация. Therion е много гъвкава и многостранна система, въпреки, че не се явява пълен WYSIWYG редактор (съкращение от What You See Is What You Get, англ. каквото виждаш – това и получаваш – способ за редактиране, при който материалът, който редактираме в процеса на редакция, изглежда точно като крайният резултат[2].). Основата на Therion е език за описание на картировката на пещерата и след обработката на това описание се получава готовата карта. Разделянето на описанието на картировката от нейното представяне във вид на карта – това е основната концепция на програмата Therion. Например, може лесно да се смени наборът от условни обозначения и да се разпечата карта с обозначенията на BCRA, UIS или ASF, картата може да бъде разпечатана както на един лист, така и във вид на атлас, както е прието в Европа. Максималната площ на един лист е 5м2 (ограничение на формата PDF).[1]

Therion използва скриптов език, който много напомня синтаксиса на Survex. За въвеждането на данните може да се използва който и да е текстов редактор. За опростяване на въвеждането на данните в Therion има вграден векторен редактор Xtherion, който при запис “превежда” векторната рисунка в скрипт, който при компилацията се “превежда” в Postscript. Освен във формата PDF, Therion може да произвежда .3d файлове на Survex и .plt файлове на Compass.

Етапи на дигитализиране на карнета

След полевата работа имаме наличен карнет. В примера – във формата на Survex, представен в листинг 1. (Работата с други текстови формати е аналогична, като се съобразяваме с техните особености).

Листинг 1. Карнет във формата на Survex

;п.Пять Озёр;11.11.09г.;Гриднев П., Кудашев М., Мужайло А.; от до длин азим угол вв низ лево право

1 2 3.38 140 -31;

2 3 9.04 176 -65; 2.50 0.5

;входной грот

3 4 4.23 290 +11; 5 1 0.2

5 3 6.50 321 -57; 1.5 0.5 2

4 6 2.81 185 -30; 0.2 5 1

;молочная галерея

6 7 6.43 178 -41; 6 0.3 0.9 1.5

7 8 4.5 192 -22; 2,5 0.4 1 0.3

8 9 4.56 211 -22; 5,5 0.8 0.8

9 10 5.92 208 -20; 8 1 0,3

10 11 6.35 185 -54; 10 0.7 1.2 0.4

11 12 7.9 197 -38; 4 0 1.5 0.3 сверху уходит щель (?)

12 13 4.51 191 -7; 1.8 0.4

12 14 3.5 143 -25;

13 15 2.5 230 35; 0.4 0.8 0

;входной грот

4 16 2.98 42 -26;

;вторая система

16 17 1.93 333 -32; 0.6 1 1

17 18 3.5 6 -55; 0.4 0.2 0.8 0.6

79 83 2.25 176 23;

83 84 1.44 220 12; 0.5 3

84 85 2.25 201 -20; 2 1.2 1

85 86 4 217 -33; под 86 пикетом озеро

На първо време е необходимо да приведен текстовата таблица във формат, разбираем за компилатора Therion. Ако операционната система е с местните (български) регионални настройки, то в Notepad-а правим глобална замяна на всички «.» на «,» иначе при поставянето в Excel аргументът «2.5» ще се трансформира в «02.май», после заменяме всички «;» на празен знак «», избираме всичко, копираме и поставяме в Excel (рис.1). В празните клетки записваме «0», внасяме коментарите, където е нужно. След обработката на карнета го записваме в документа FLIKE.xls

(Бел. прев. – разбира се, че може да прескочим момента с въвеждането на данните в Survex и да ги запишем директно в Excel, или друга програма за работа с електронни таблици)

image003

Рис. 1. Обработка на карнета в MS Excel

image005

Рис. 2. Екрана на компилатора Therion

Стартираме Therion(рис.2). На първо място е нужно да създадем нова папка, в която ще се намира проекта. Therion може да отваря файлове с всякакви разширения, но на разработчиците са предложени три: файл thconfig (без разширение) – инструкции за компилатора; файлове с разширение *.th – описание на картировката; файлове с разширение * .th2 -представяне във вид на карта. За всеки в тези формати в програмата има свой режим: компилатор, текстов редактор и редактор на карти.

Всеки файл в програмата Therion започва с ред, описващ кодировката, encoding utf-8.

При създаването на файла в програмата XTherion, този ред се генерира автоматично и не се изобразява, ако се въведе ръчно, то при повторно отваряне XTherion ще съобщи за грешка и няма да разреши отварянето на файла. В тази статия няма да слагаме този ред в листингите. В текстовия редактор XTherion трябва да създадем нов документ, да го наречем oz_srv1.th

Листинг 2. Файл с описанието на картировката oz_srv1.th

#oz_srv1.th#п.Пять Озёрsurvey survFLike -title “п.Пять Озёр”centerline

date 2009.11.11 # дата на картиране

declination -3 degrees #магнитното отклонение на стрелката на компаса

#Гриднев П.. Кудашев М.. Мужайло А.

team “Павел Гриднев” compass

team “Павел Гриднев” clino

team “Денис Береженко” length

team “Максим Кудашов” length

team “Антон Мужайло” tape

team “Наталья Лобкова” tape

units compass clino grads # азимут и наклон в гради

units length up down left right meter #дължина и разстояние до стените в метри

#ред на полетата

data normal from to length compass clino up down left right

fix 1 5300000 8900000 964 #фиксирана точка

#от до дълж азим накл горе долу ляво дясно

1 2 3.38 140 -31 0 0 0 0

2 3 9.04 176 -65 0 0 2.5 0.5

#входна зала

3 4 4.23 290 11 5 0 1 0.2

5 3 6.5 321 -57 1.5 0 0.5 2

4 6 2.81 185 -30 0 0.2 5 1

#молочная галерея

6 7 6.43 178 -41 6 0.3 0.9 1.5

7 8 4.5 192 -22 2.5 0.4 1 0.3

8 9 4.56 211 -22 5.5 0 0.8 0.8

79 83 2.25 176 23 0 0 0 0

83 84 1.44 220 12 0 0 0.5 3

84 85 2.25 201 -20 2 0 1.2 1

85 86 4 217 -33 0 0 0 0 #под 86 точка-езеро

endcenterline

endsurvey survFLike

Както се вижда от листинг 2, скриптът е съставен от вложени блокове, всеки блок започва с името на блока с параметри, а завършва със същото име но с префикс «end» (например, centerline… endcenterline)

Да разгледаме подробно всеки ред от листинга.

#oz_srv1.th

Коментар с името на файла. Всичко, което се намира в дясно от знака «#» не се чете от компилатора.

survey survFLike -title “п.Пять Озёр”

Отваряне на блока survey -основен блок, в него се намира всичката информация за данните от картирането , параметри: survFLike -име ная блока,

Отваряне на блока survey -основен блок, в него се намира всичката информация за данните от картирането , параметри: survFLike -име ная блока, -title “п.Пять Озёр” -заглавие, което се изобразява при печат.

centerline

Начало на блока на антената.

team “Павел Гриднев” compass

Участник в картирането. Командата team съдържа два параметъра: име на участника и неговата роля, достъпни ца следните роли (station, length, tape, compass, bearing, clino, gradient, counter, depth, station, position, notes, pictures, pics, instruments(insts), assistant (dog))

units compass clino grads # азимут и наклон в гради

units length up down left right meter #дължина и разстояние до стените в метри

Указване на единиците, използвани при измерванията за азимута и наклона – гради, за разстоянията – в метри.

data normal from to length compass clino up down left right

Указва се редът на данните от картировката

fix 1 5300000 8900000 964 #фиксирана точка

реперна точка с известни географски координати

1 2 3.38 140 -31 0 0 0 0

данните от карнета журнала взимаме от програмата Excel, полетата са разделени със символа табулация (TAB), необходимо е да се променят всички знаци «,» на «.», за целта може да се използва инструмента за замяна (рис.3)

image006

Рис. 3. Инструмент за търсене и замяна

Файлът oz_srv1.th съдържа в себе си само информация от картировката, за компилация е необходимо да преминем в режим на компилатор (прозореца на Компилатора), да създадем файла thconfig и да посочим файлът съдържащ карнета.

Листинг 3. Файл с инструкции за компилатора thconfig

source oz_srv1.th #Включи файл oz_srv1.thlayout xvi-export #Създаване на оформление(layout)scale 1 500 #мащабgrid-size 1 1 1 m #размер на мрежата

#ниво 0-просто име…all-целия път sts@FiveLike

survey-level 0

debug station-names #изобразяване на името на точката

endlayout

#Експорт във формат xvi оформление xvi-export файл oz_srv1.xvi

export map -fmt xvi -layout xvi-export -o oz_srv1.xvi

#Експорт във формат pdf оформление xvi-export файл oz_srv1.pdf

export map -fmt pdf -layout xvi-export -o oz_srv1.pdf

 

В листинга 3 е съставена инструкция за компилатора Therion , на първият ред се намира позоваване на файла-описание. В блока layout … endlayout са описани параметрите на продукцията, командата export съобщава на компилатора за типовете файлове, които се получават на изхода, в нашия случай това са oz_srv1.pdf и oz_srv1.xvi (свой формат за изобразяване) След компилацията във второто (по-ниското) текстово поле ще бъде отчета от компилацията(листинг 4): обърнете внимание на блоковете cavern log file и loop errors. Блокът cavern log file съдържа статистическа информация за пещерата (дължина на галериите, размерите на описания правоъгълник, количеството на точките и полигоните), а блокът loop errors показва линейната грешка на всеки полигон.

Листинг 4. Отчет от компилацията

average loop error: 8.64%####################### cavern log file ########################1> Survex 1.0.39

 

2> Copyright (C) 1990-2006 Olly Betts

3>

4> Survey contains 87 survey stations, joined by 92 legs.

5> There are 6 loops.

6> Total length of survey legs = 378.42m ( 376.77m adjusted)

7> Total plan length of survey legs = 317.55m

8> Total vertical length of survey legs = 172.22m

9> Vertical range = 57.18m (from 1 at 964.00m to 81 at 906.82m)

10> North-South range = 74.23m (from 41 at 8948185.39m to 15 at 8948111.16m)

11> East-West range = 36.21m (from 81 at 5345858.67m to 34 at 5345822.46m)

######################### loop errors ##########################

REL-ERR ABS-ERR TOTAL-L STS X-ERROR Y-ERROR Z-ERROR STATIONS

13.46% 0.6m 4.2m 2 0.4m -0.4m 0.0m [29@ surv1- 28 – 29]

11.78% 1.7m 14.4m 5 0.6m -1.5m -0.6m [71@ surv1- 76 – 74 – 73 – 72 – 71]

8.39% 1.8m 21.0m 6 1.3m -1.1m -0.4m [46@ surv1- 51 – 50 – 49 – 48 – 47 – 46]

8.18% 2.5m 30.7m 6 2.3m 1.0m 0.3m [19@ surv1- 63 – 64 – Rn1 – 24 – 22 – 19]

7.37% 3.5m 47.8m 12 0.3m -3.3m -1.3m [63@ surv1-65-66-62-61-46-45-44-43-41-Rn1-64-63]

7.20% 0.7m 10.2m 4 -0.6m -0.1m -0.4m [25@ surv1- 29 – 28 – 27 – 25]

##################### end of loop errors #######################

 

Ако компилацията е минала без грешки, то в нашата папка ще се появят два файла – oz_srv1.pdf и oz_srv1.xvi. Файлът oz_srv1.pdf е представен на рисунка 4. В блока layout … endlayout ние указахме мащаба и да се покажат имената на точките.

image008Рис. 4. Файлът oz_srv1.pdf image010Рис. 5. Файлът oz_srv1.pdf с включено показване на стените

 

Ако ни е необходимо да покажем разстоянието до стените от всяка точка, то в блока layout … endlayout е необходимо да направим изменения, показани в листинг 5.

Листинг 5. Блок layout … endlayout с изобразяване на вътрешната част на пещерата

layout clsymbol-set SKBB #стандартни символи SKBBmap-header 0 0 off #Да не се показва заглавието на картатаcolor map-fg [50 50 40] #цветът на вътрешните части на пещерата

debug station-names

survey-level 0

scale 1 500

endlayout

 

На рисунка 5 е представен новият файл с оцветена вътрешна част на пещерата. При необходимост да покажем заглавието, редът

map-header 0 0 off

заменяме на

map-header 0 10 center

Чертане на картата-план на пещерата

Да преминем от PDF -файловете към файловете във формата XVI, oz_srv1.xvi . за разлика от PDF, при формата XVI голямата част от настройките в блока layout не са нужни. Сам по себе си форматът XVI – това е обикновен текстов файл, представен в листинг 6, в който са отбелязани реперните точки и връзките между тях.

Листинг 6. Файл oz_srv1.xvi

set XVIgrids {1.0 m}set XVIstations {{ -125.31 -140.20 4}{ -112.09 -123.19 16}

{ -123.66 -116.57 17}

{ -122.01 -98.78 18}

{ 130.75 57.28 59}

}

set XVIshots {

{ -125.31 -140.20 -112.09 -123.19 -125.31 -140.20 -112.09 -123.19 -112.09 -123.19 -125.31 -140.20}

{ -112.09 -123.19 -123.66 -116.57 -112.09 -123.19 -127.57 -123.41 -119.75 -109.74 -112.09 -123.19}

{ 99.25 68.62 130.75 57.28 104.59 83.44 134.75 68.40 128.08 49.87 99.25 68.62}

}

set XVIgrid {-172.559 -179.567 7.87402 0.0 0.0 7.87402 45 46}

 

 

За работа с XVI е необходимо да преминем в режим на редактора на карти. При необходимост панелите с инструменти може да пренесем в лявата част (Окно – Переключить панели) (рис.6)

image012

Рис. 6. Режим на редактора на карти

При отваряне на режима, областта за чертане е запълнена с черен цвят, за начало на работата е необходимо да създадем нов документ (Файл – Новый), а после е необходимо веднага да запишем картата (Файл – Сохранить), да я наречем oz_srv1.th2. Ако вече сме отваряли карта в редактора на карти, най-добре е да запишем всичко и да рестартираме програмата, случват се проблеми с изобразяването (при голям размер на по-рано отворена карта, част от старото изображение се появява в новото). След направените по-горе действия можем да отворим файла oz_srv1.xvi (Редактирование – Вставить изображение)

image014

а

image016

б

 

Рис. 7. Отвореният файл oz_srv1.xvi. а) общ вид; б) внасяне на фоново изображение

Отвореният файл oz_srv1.xvi с редактора на карти е показан на рисунка7.а. Възползвайки се от внасянето на фоново изображение в панела с инструменти (рис. 7.б.) можем да променим настройките, а ако имаме растерно копие на скицирана отсечка, то може да го сложим под oz_srv1.xvi (oz_srv1.xvi е векторно, прозрачно изображение)

image017Рис. 8. Таб «Команди във файл»  image018Рис. 9. Таб «Скрап»

 

Панелът с инструменти се състои от табове, с помощта на които може да се променят свойствата на обектите на картата. Най- първият таб в прозореца «Команды в файле» съдържа списък на създадените команди (препоръчвам постоянно по време на работа да следим този прозорец, защото се записват много ненужни (излишни) действия).

Всички примитиви трябва да се намират в блока скрап (scrap .. endscrap, от англ. парче, късче), във връзка с това първата ни работа е да създадем нов скрап (Редактировать – Вставка – скрап). На рисунка 9 е показан табът за настройка на скрапа, най-главното свойство на графичните обекти е id (Идентификатор). След като е създаден скрапа, в него можем да създадем реперни точки, като изберем в меню (Редактировать Вставка – точка). Долната част на екрана ще засвети червен правоъгълник «Вставка точки». При попадане на курсора в черната точка на подложката, на създадената точка се присвоява аргумент (опция) -name 1(име на точка 1) (рис.10), ако под новосъздадената реперна точка няма точка в/у XVI – подложката, на репера се присвоява следващия по порядък номер.

image019

а

image021

б

 

Рис. 10. Създаване на реперни точки. а) таб «Точка»; б) работно поле.

След нанасяне на нужните реперни точки, пристъпваме към създаването на линиите на стените. Принципът на чертане на линиите е аналогичен на чертането на прекъснати линии във всеки векторен редактор.

image023

а

image025

б

 

Рис. 11. Създаване на линиите на стените а) таб «Линия»; б) работно поле.

За компилацията е нужно да включим графичния файл в проекта. Най-простия и бърз способ е във файла oz_srv1.th в блока centerline след описанието на картировката да включим файла oz_srv1.th2 с командата:

input oz_srv1.th2

Съществува по- правилен метод: да се създаде обединяващ файл, в който да бъдат включени и двата файла (листинг 7 ).

Листинг 7. Файл за обединение surv1.th

#surv1.thsurvey surv1 -title “surv1”#Включване на описанието на картировкатаinput oz_srv1.th

#Включване на картата

input oz_srv1.th2

endsurvey surv1

 

При стартиране компилатора дава грешка:

C:\Therion\therion.exe: error — oz_srv1.th2 [22] — station does not exist — 15

Тя е предизвикана от това, че реперите на картата не са свързани с реперите в картировката. Да създадем тази връзка можем като укажем връзка «@survFLike»(id на блока survey във файла с описание на картировката) на всички реперни точки в параметъра «-name», така точка «-name 1» става «-name 1@survFLike». Компилираме и получаваме карта показана на рисунка 12.

image027

Рис. 12. Карта

За разглеждане на произведените карти, създаваме нов файл – карта (листинг 8 и рис.13).

Листинг 8. Файл oz_srv2.th2

##XTHERION## xth_me_area_adjust -128.0 -128.0 545.32306 852.40984##XTHERION## xth_me_area_zoom_to 400##XTHERION## xth_me_image_insert {86.613 1 1.0} {425.2 1} oz_srv1.xvi 0 {}scrap scrapSurvey -projection plan -scale [-128.0 -128.0 545.32306 -128.0 0.0 0.0 17.102405724 0.0 m]

line wall

86.613 425.2

89.5 413.0

106.75 385.5

89.763 371.73

87.0 350.75

100.5 312.0

114.5 282.75

endline

line wall

86.613 425.2

109.0 431.0

127.5 399.5

128.25 393.75

156.25 385.0

152.603 369.84

151.0 366.0

121.0 375.0

130.75 363.75

117.25 317.5

Рис. 13. Файл oz_srv2.th2

image029

125.25 282.5

endline

line wall -close on

86.613 425.2

109.0 431.0

118.0 418.75

127.5 399.5

121.813 378.58

107.75 386.5

88.0 417.5

86.613 425.2

endline

line survey

121.813 378.58

152.603 369.84

endline

line survey

111.023 315.51

116.933 282.68

endline

line survey

86.613 425.2

106.373 412.36

121.813 378.58

89.763 371.73

95.353 352.83

111.023 315.51

endline

point 111.023 315.510 station -name 7@survFLike

point 116.933 282.680 station -name 8@survFLike

point 95.353 352.830 station -name 6@survFLike

point 89.763 371.73 station -name 4@survFLike

point 152.603 369.84 station -name 5@survFLike

point 121.813 378.58 station -name 3@survFLike

point 106.373 412.36 station -name 2@survFLike

point 86.613 425.2 station -name 1@survFLike

endscrap

 

 

Във файла surv1.th включваме начертаната карта, за целта заменяме редът:

input oz_srv1.th2

на нов:

input oz_srv2.th2

За получаване на трите вида изобразяване на картата, съставяме конфигурационен файл thconfig:

Листинг 9. Файл thconfig

source surv1.thselect surv1layout notcl #Създава оформлениеscale 1 500 #мащаб

grid-size 1 1 1 m #размер на мрежата

survey-level 0 #ниво на въвеждане 0-просто име…all-целия път sts@FiveLike

debug station-names

endlayout

layout cl #Създава оформление

symbol-set SKBB

map-header 0 0 center

color map-fg [50 50 40] #цвят на вътрешността на пещерата

debug station-names # Извежда имената на реперите

# ниво на въвеждане 0-просто име…all-целия път sts@ surv1

survey-level 0

scale 1 500

endlayout

#Експорт във формат pdf оформление cl файл oz_srv1cl.pdf

export map -fmt pdf -layout cl -o oz_srv1cl.pdf

#Експорт във формат pdf оформление notcl файл oz_srv1.pdf

export map -fmt pdf -layout notcl -o oz_srv1.pdf

#Експорт във формат pdf

export map -layout-overlap 2 cm -layout-scale 1 500 -o cave1.pdf

 

 

След компилацията ще получим три PDF-файла: oz_srv1.pdf – без оцветяване на вътрешната част на пещерата (рис.14.а.);oz_srv1cl.pdf -вътрешната част на пещерата е оцветена

(рис.14.б.); cave1.pdf-без параметрите layout (рис.14.в.).

image031

а

image033

б

image035

в

 

Рис. 14. Карти в PDF. а) oz_srv1.pdf; б) oz_srv1cl.pdf; в) cave1.pdf.

Нанасяне на условните знаци

Едно от достойнствата на програмата Therion е богатата палитра от условни знаци. Да нанесем някои обозначения на създадената карта oz_srv2.th2. На първо време да огладим острите ъгли, използвайки параметъра «сгладить» в таба «линия».

image037

Рис. 15. Изглаждане на линиите

После по етапно ще добавяме допълнителни обекти:

Указваме входа (рис. 16). В табът «точка» избираме тип «entrance», и непременно указваме параметъра за ориентация:

image039

а

image041

б

image042

в

 

Рис. 16. Точката на входа. а) Таб «Точка»; б)работно поле; в) резултат

Обозначаваме входния отвес (рис.17). При очертаване на отвеса е необходимо да укажем тип «pit» и направлението на щриховката, използвайки параметъра «обратная», линията трябва да е затворена.

image043

а

image045

б

image046

в

 

Рис. 17. Отвес. а) Таб «Линия»; б)работно поле; в) резултат

Нанасяме прагове (рис. 18). При чертането на праговете е необходимо да изберем тип линия «floor-step», да укажем направлението(параметър «обратная»). В редактора на карти направлението се указва със светложълта линия.

image047

а

image049

б

image050

в

 

Рис. 18. Прагове. а) Таб «Линия»; б)работно поле; в) резултат

Поставяме текстови бележки (рис .19.). Поставянето на текстови бележки се определя от типът точки «label». Самият текст се задава в параметъра «опции» « -text “текст на бележката”». Ако е нужно текстът да не се показва хоризонтално, то е необходимо да укажем параметъра «ориентация» в градуси.

image051а

image053в

д

image055б

image057

г

image059

е

 

Рис. 19. Прагове. а) Таб «Точка»; б) Таб «Точка»; в)работно поле; г)работно поле; д) резултат е)резултат

Да укажем не картираните продължения на галерията (рис.20), давайки параметри тип точка – «continuation». При компилацията на картата ще се появи знак на въпрос («?»), параметър за ориентация на този тип няма, знакът винаги е разположен хоризонтално.

image060а

image062

б

image063в

 

Рис. 20. Възможно продължение. а) Таб «Точка»; б)работно поле; в) резултат

След компилацията ще получим карта, показана на рисунка 21, която включва в себе се обозначения за вход на пещерата, входен отвес, прагове, име на разлома и указатели за възможно продължение на пещерата.

image065

а

image067

б

 

Рис. 21. Карта на фрагмент от пещерата. а) работно поле; б) резултат

Съставяне на карта от няколко части

Има два способа: първия – да добавяме във вече съществуващите файлове – това не е удобно, защото файла се усложнява. Вторият способ е по-гъвкав – да съберем картата от парчета. Преимуществата на втория метод пред първия е в това, че всяко парче може паралелно да се обработва от различни хора, а после да се “залепят” в една карта. За целта създаваме проект в нова папка (например, папка flike – главната папка на проекта). В нея създаваме папките: «1-16» и «16-86». В главната папка flike създаваме файл thconfig.layout – настройките layout в отделен файл позволяват да бъдат включвани от различни файлове-конфигурации на компилатора (thconfig).

Листинг 10. Файл thconfig.layout

layout clsymbol-set SKBBmap-header 0 -10 centercolor map-fg [50 50 40] #цвят на вътрешността на пещерата

debug station-names # Извежда имената на реперите

survey-level 0 # ниво на въвеждане 0-просто име…all-целия път sts@ surv1

scale 1 500 #мащаб

endlayout

 

По-рано създадените файлове: surv1.th, oz_srv1.th, oz_srv2.th2- части от картата поставяме в папката «1-16», за разглеждане на тази част на картата (рис. 22), може да създадем конфигурация за компилатора (листинг 11):

Листинг 11. Файл за конфигурация thconfig

source surv1.thselect surv1 input ../thconfig.layout

 

#Експорт формат pdf оформление cl файл oz_srv1cl.pdf

export map -fmt pdf -layout cl -o oz_srv1cl.pdf

 

 

image069

Рис. 22. Участък от картата от 1 до 16 репер

Запомняме две точки: 4@survFLike и 16@survFLike

Във втората папка «16-59» създаваме аналогично на файловете в папка «1-16»: thconfig, surv2.th, surv16-59.th, surv16-59.th2. На рисунка 23 е изобразена втората част на картата от 16 до 59 репер. За да свържем тази част на картата във файла surv16-59.th2 задължително трябва да отбележим точките 4 и 16 (листинг 12).

Листинг 12. Описание на точките 4 и 16

point 67.4 57.091 station -name 16@surv16-59point 55.12 39.371 station -name 4@surv16-59

 

 

image071

Рис. 23. Участък от картата от 16 до 59 репер

След като сме създали двете части на картата е нужно да ги съединим. За това в главната папка на проекта flike създаваме два файла: thconfig (листинг 14) и survall.th (листинг 13).

Листинг 13. Файл за събиране на двете части на картата survall.th

#survall.th#п.Пять Озёрsurvey survall -title “п.Пять Озёр”input 1-16/surv1.th

input 16-59/surv16-59.th

input 1-16/surv1.th2

input 16-59/surv16-59.th2

centerline

#свързване на реперите

equate 4@survFLike 4@surv16-59

equate 16@survFLike 16@surv16-59

endcenterline

endsurvey survall

 

 

В блока centerline с командата equate свързваме реперите от двата файла с описание на картировката (след знака «@» се указва името на блока survey).

Листинг 14

source survAll.thselect survallinput thconfig.layout#Експорт във формат pdf оформление cl файл survall.pdf

export map -fmt pdf -layout cl -o survall.pdf

 

На рисунка 24 е резултатът при компилацията на двете части на картата, ако внимателно се вгледаме мястото на стиковането, то можем да видим дефектите при стиковането (рис. 25).

image073

Рис. 24. Обединяване на частите картата

image075

Рис. 25. Мястото на стиковането на двете карти

За да изменим файловете flike/1-16/surv1.th2 и flike/16-59/surv16-59.th2. следва да добавим линиите на стиковането с имена (ID), да ги назовем wall_s1_sts4, wall_s1_sts16, wall_s1_sts4, wall_s1_sts16. Линията wall_s1_sts4 трябва да спре на точка 4, а wall_s2_sts4 започва от точка 4. Аналогично и за линиите wall_s1_sts16 и wall_s2_sts16.

image076

а

image078

б

 

Рис. 26. Линия wall_s1_sts4 във файла flike/1-16/surv1.th2. а) Таб «Линия»; б) работно поле.

image079

а

image081

б

 

Рис. 27. Линия wall_s2_sts4 във файла flike/16-59/surv16-59.th2. а) Таб «Линия»; б) работно поле.

С помощта на командата join, във файла survall.th добавяме свързването на линиите (листинг 15). Сега при компилацията мястото на стиковането на двете карти изглежда доста по-добре.

Листинг 15. Файл survall.th

#survall.th#п.Пять Озёрsurvey survall -title “п.Пять Озёр”input 1-16/surv1-16.th

input 16-59/surv16-59.th

input 1-16/surv1-16.th2

input 16-59/surv16-59.th2

centerline

equate 4@surv1-16 4@surv16-59

equate 16@surv1-16 16@surv16-59

endcenterline

join wall_s1_sts4 wall_s2_sts4

join wall_s1_sts16 wall_s2_sts16

endsurvey survall

 

 

image083

Рис. 28. Мястото на стиковането на двете карти

Добавяне на области (площи)

Към областите (area) се отнасят такива явления като водата, ледниците и пр. За добавянето на област (участък вода), е нужно отначало да създадем граница, за целта създаваме линия с тип граница. Границата може да излиза зад стените на пещерата, на рисунка 29 е зададена граница на подземно езеро. Линията на границата непременно трябва да има параметър id (например, id=l106-322-127) и линията трябва да бъде затворена.

image084

а

image086

б

 

Рис. 29 Граница на подземно езеро. а) Таб «Линия»; б) работно поле.

След като границата е създадена може да я запълним с вода, За това създаваме област (area) (редактиране – вставка – област) и добавяме текущата линия – граница в тази област (рис. 30).

image087

а

image089

б

 

Рис. 30. Таб «Област» а) Таб «Област»; б) резултат.

След компилацията на картата водата се обозначава с щриховка (рис.30.б)

Наклони

За придаване на плана по-голяма прегледност, на него се нанасят обозначения за наклони. В Therion границите на наклона се чертаят с линия със зададен тип «slope». При обозначението на наклона задължително е нужно да укажем параметъра дължина «l-size». С параметър «обратная» се задава направлението на наклона, в редактора се обозначава със светложълта линия. При продължителен наклон е желателно да го чертаем посредством няколко линии. Така на всеки участък можем да зададем свое направление и дължина.

image090

а

image092

б

image093

в

 

Рис. 31. Наклон. а) Таб «Линия»; б) работно поле; в) резултат

За крайното изобразяване (рис.32) е нужно да изменим thconfig.layout(листинг 16)

Листинг 16. thconfig.layout

#thconfig.layoutlayout clsymbol-set SKBBmap-header 0 -10 center

color map-fg [50 50 40] #цвят на вътрешността на пещерата

#debug station-names # Извежда имената на реперите

# ниво на въвеждане 0-просто име…all-целия път sts@ surv1

survey-level 0

scale 1 500 #мащаб

symbol-hide group centerline

endlayout

 

 

image095

Рис. 32. Резултат

Синтаксис на езика Therion

 

В тази глава са разгледани командите, използвани за описание на картите. Командите биват едно редови:

command arg1 … argN [-option1 value1 -option2 value2 …]

пример

point 643.5 505.0 gradient -orientation 144.7

Много редови

command arg1 … argN [-option1 value1 -option2 value2 …]

optionX valueX

data

endcommand

 

Пример

line wall -id walltobereferenced

1174.0 744.5

1194.0 756.5 1192.5 757.5 1176.0 791.0

smooth off

1205.5 788.0 1195.5 832.5 1173.5 879.0

endline

 

Ако стойността на аргумента или опциите съдържат празно място, то трябва да оградим това стойност в “” или []. Ако искате да поставите двойни кавички (“) в текста ” ” , то е необходимо да го поставите два пъти (“”).

Пример

point 643.5 505.0 label -text “пещера “”Пяти Озер “”.”

Ако редът свършва с обратен слаш (\), то следващия ред се явява продължение на текущия (все едно няма пренос).

След символът # са коментарите

 

Типове данни

keyword – Символи A-Z, a-z, 0-9 и «_», «-», «/» (не може да се започва с ‘-‘).

ext_keyword – думи. които съдържат символи «+», «*», «.», «,», «’», «,» не могат да бъдат на първо място.

date -дата YYYY.MM.DD@HH:MM:SS.SS ако е необходимо да отбележите неизвестна дата (празна стойност), то сложете символ «-».

person – личност, името и фамилията на участниците се разделят от символа интервал. Ако има няколко имена, то те се разделят със символа «/».

string – ред таг за различни езици. В многоезични редове текстът се огражда между таговете (където ХХ е език, избран в конфигурационният файл).

units – мерни единици, поддържат се:

meter[s], centimeter[s], inch[es], feet[s], yard[s] (или съкращенията m, cm, in, ft, yd). Ъглови единици: degree[s], minute[s] (also deg, min), grad[s], mil[s], percent[age] (само за параметъра clino(вертикален ъгъл)). Градусите могат бъдат или в десетична система (x:y) или в системата градуси, минути, секунди (deg[:min[:sec]]).

Пример:

units compass clino grads # азимут и ъгъл в гради

units length up down left right meter #дължина и разстояние до стените в метри

 

Системи координати

Поддържа се трансформация на системите координати – опция cs в обектите centreline, surface, import и layout ,а също така при въвеждане на XY в дадената система.

encoding

Описание: кодировка на входния файл, при работа в редактора XTherion този ред не се вижда, и не трябва да се въвежда от клавиатурата!

Синтаксис: encoding

Използва се: на първия ред във файла

Аргументи: за да видите списъка с всички поддържани имена на кодировки, стартирайте Therion с опцията –print-encodings, например, ‘UTF-8′ (Unicode) и’ASCII’ (7 bit)

input

Описание: Внася файл на текущото място. По подразбиране с разширение *.th При указване на пътя, за разделител между папките използвайте коси черти ‘/’ както в Unix, а не Windows слаш ‘\’.

Синтаксис: input

Използва се: навсякъде

Аргументи: – файл

survey

Описание: основната структура на данните. survey могат да бъдат вложени едни в други, това позволява да се строи йерархическа структура. Всеки survey може да има свое име, указано в аргумента . @

Или

@.

Синтаксис: survey [OPTIONS]

 

… other therion objects …

 

endsurvey []

Използва се: навсякъде, в survey

 

Аргументи:

– име

Опции:

namespace – Създава пространство на имена (по подразбиране е on)

declination – установява по подразбиране

:

1. [] -празен ред

2. [ ] ще бъде установено една стойност

3. [ [ … ] ] за няколко значения

person-rename – преименува личност

title – име на обекта

entrance – указва главния вход в пещерата

 

centreline

Описание: синтаксисът е зает от Survex, с незначителна модификация, ръководството на Survex може да бъде полезно в качеството на допълнителна информация.

Синтаксис:

 

centreline [OPTIONS]

date

team []

explo-date

explo-team

instrument

calibrate []

units []

sd

grade

declination

infer

mark

flags

station []

cs

fix [ [ ]]

equate

data

break

group

endgroup

walls

vthreshold

extend [ []]

station-names …

[SURVEY DATA] …

endcentreline

 

Използва се: навсякъде, в survey

 

Опции:

 

id – име

author -дата и автор

copyright – копирайт

title – заглавие

 

Команди ред:

date – дата на картиране

explo-date – дата на откриване

team [] – членове на отбора

роли: station, length, tape, compass, bearing, clino, gradient, counter, depth, station, position, notes, pictures, pics, instruments(insts), assistant (dog).

exploteam – хората откриватели

instrument използвани инструменти за картиране (някои от думите от ролите на членовете на отбора)

infer “показване на отвеси” казва на програмата да интерпретира наклона ± 90 ? като UP/DOWN (горе / долу)

пример:

infer equates on’

 

declination – Отклонение на компаса

пример:

declination -3 degrees

sd – установява стандартни отклонения за даденото измерване. Списъка може да съдържа следните ключови думи: length, tape, bearing, compass, gradient, clino, counter, depth, x, y, z, position, easting, dx, nor-thing, dy, altitude, dz.

 

grade – набор стандартни отклонения в съответствие със спецификацията survey. Губят се всички по-рано указани стандартни отклонения. Ако са указани няколко класа, ще се има предвид само последния.

 

units [] – установява дадената величина за единицата на измерванията (същата величина, както за SD)

Пример

units compass clino grads #азимут и ъгъл в гради

units length up down left right meter #дължина и разстояние до стените в метри

calibrate [] – калибриране на прибора. Измереното стойност се изчислява по следната формула: measured value = (read value – zero error) * scale. Поддържат се количества същите както SD.

break – използва се за разделяне на два траверса.

mark [] – установява типът на реперите. : fixed(фиксирани), painted(нарисувани), temporary(временни, по подразбиране).

flags – слага флаг: surface (за повърхностно измерване), duplicate (повторна картировка), splay (които са скрити в картата и модел по подразбиране).

station [] – установява коментарите на реперите. Флаг: entrance (вход), continuation(неизвестно продължение), air-draught[:winter/summer], sink, spring, doline, dig, arch, overhang.

пример:

station 4 “отвес за изследване” continuation attr code “V”

на флага continuation може да се добави продължение: explored

пример:

station 40 “ugly crollway” continuation explored 100m

cs – система координати.

fix [ [ ]] – фиксирани координати на репер.

equate – набор репери, които са еквивалентни.

data – стил на данните (normal, topo?l, diving, cartesian, cylpolar, dimensions, nosurvey) и може да се зададат ръчно, използвайки ключови думи (station, from, to, tape/length, [back]compass/[back]bearing, [back]clino/ [back]gradient, depth, fromdepth, todepth, depthchange, counter, fromcount, tocount, northing, easting, altitude, up/ceiling , down/?oor, left, right, ignore, ignoreall).

пример:

data normal from to length compass clino up down left right

group/endgroup – двойката позволява на ползвателя да направи временни изменения в които да е значения (калибровка, единици на измервания, SD, данни, флагове …).

walls – Включено / изключено разстоянието до стените (LRUD).

vthreshold – праг за интерпретация на LRUD (чете се като ляво-дясно-горе-долу -разстоянието от репера до стените).

extend [ []] контролира как да се продължи антената.

– normal/reverse направление на движението (нормално/обратно).

left/right същото.

vertical – да не се премества реперът в направлението X, да се използва измерването само по Z.

start – указва началния репер на измерването.

ignore – игнорира указаните репери.

hide – не показва указаните репери.

stationnames – префикс и суфикс в името на реперите.

 

scrap

Описание: Скрап -това е парче от 2D-карта. За неголеми и прости пещери, цялата пещера може да се събере на едно парче. В сложни системи, в скрапа, като правило, влиза един участък или галерия. В идеалният случай, скрапът съдържа около 100 м от пещерата. Всеки скрап се обработва в отделен блок METAPOST; твърде големите записи могат да превишат обема на паметта за MetaPost и да доведат до грешки. Скрапът се състои о символите на точки, линии и области (point, line, area). Границата на скрапа се състои от редове с -outline out или -outline in (Стените обикновено са -outline out) Тези редове не трябва да се пресичат, иначе Therion (MetaPost) няма да успее да определи скрапа и MetaPost ще даде предупреждаващо съобщение “scrap outline intersects itself“.Всеки скрап има свое собствено положение в системата координати, което обикновено съвпада с милиметровата хартия. Therion превръща местната система координати в реална с помощта на координатите на реперните точки, които са указани в скрапа в качеството на точки условни знаци и осеви данни. Ако скрапа не съдържа най-малко два репера с име – връзка, то трябва да използвате опцията – мащаб (– scale) за да калибрирате скрапа.)

Преобразуванията се състоят от следните стъпки:

Линейни преобразувания (преместване, мащабиране и въртене), при които реперите в скрапа “добре” се приближават към реалните. “Добре” означава, че сумата на квадратите на разстоянията между съответстващите репери до иследпреобразуването са минимални. Резултатът се изобразява в червено ако опцията debug в командата layout е on.

Нелинейни преобразувания на скрапа, който (1) премества реперите в тяхната правилна позиция, (2) непрекъснато. Изобразява се в синьо в режима debug .

Нелинейнипреобразувания на скрапа, който (1) се премества заедно със свързаните репери, (2) не сменя репери, (3)непрекъснато. В края, положението на реперите се коригира с крива, за да се съхрани гладкостта.

Синтаксис:

scrap [OPTIONS]

… point, line and area commands …

endscrap []

 

Използва се: навсякъде, в survey

Аргументи:

име на скрапа

projection – определя изобразяването на проекция. Всяка проекция се определя от тип и опционален индекса във вида type[:index]. index може да бъде всяка дума. Поддържат се следните типове проекции:

  • none – без проекция, използва се за сечения или карти, които не зависят от данните от картировка (например, оцифровка на стари карти, където няма данни за антената). В случая не може да има индекс.
  • plan – основна проекция – план.
  • elevation – ортогонална проекция, която незадължително има направление в стойността на аргумента ([elevation 10] или [elevation 10 deg]).
  • extended – разгърнат elevation.

scale – използва се за предварителен мащаб (преобразуване на координати от пиксели в метри) за данните в скрапа.

има четири форми:

  • метри на чертежна единица
  • на чертежна единица
  • [ ] – чертежни единици съответстват на реални
  • [ … []] – Това е най-разпространеният формат, който указвате, в редът, X и Y координати на две точки в скрапа и две точки в реалността. Възможно е също така да укажете единиците по координатите на “точки в реалността” (points in reality). Тази форма позволява да се използва като мащабиране и въртене на скрапа.

cs указва координатната система

stations – репери които искате да построите на скрапа, но които не се използват за преобразуване на скрапа. Не е нужно да ги указвате (Draw) с помощта на командата point station.

sketch – растерна скица

walls – указва, ако скрапът трябва да се използва в 3D

flip (none)/horizontal/vertical – завърта скрапа след мащабиране

station-names – добавя префикс/суфикс на всички репери в скрапа

author дата, автор

copyright авторски права, дата

title заглавие

 

point

Описание: команда за рисуване на картата символа “точка”

 

Синтаксис:

point [OPTIONS]

използва се: в скрапа

Аргументи:

и

– тип:

Специални обекти (specialobjects):

station репер (подтип: temporary (Временен ),painted (Нарисуван с боя, надраскан),natural (Естествен обект),fixed (фиксиран, постоянен)

section (сечение), dimensions (размери, няма визуално представяне);

Етикети (labels):

label (етикет), remark (коментари), altitude (абсолютна височина), height (височина), passageheight (височина на пода), stationname (име на репер),date (дата);

Символи, запълващи галерията (symbolicpassage ?lls):

bedrock (основна скала), sand (пясък), raft (нанос), clay (глина), pebbles (камъчета), debris (чакъл), blocks (каменни блокове), water (вода), ice (лед), guano (гуано), snow (сняг);

спелео-оформление (speleothems):

flowstone (натечна кора), moonmilk (пещерно мляко), stalactite (сталактит), stalagmite (сталагмит), pillar (сталактон), curtain (натека-флаг), helictite (хеликтит), sodastraw (макарони), crystal (кристали, wallcalcite (калцит по стените), popcorn (пуканки), disk (диск), gypsum (гипс), gypsumflower (гипсово цвете), aragonite (арагонит), cavepearl (пещерен бисер), rimstonepool (синтрово езеро), rimstonedam (синтрово езеро без вода), anastomosis (анастомози), karren (кари), scallop (фасетки), flute (вертикални канали), raftcone (натрупан конус);

Инвентар (equipment):

anchor (спит), rope (въже), fixedladder (твърда стълба), ropeladder (пещерна стълба), steps (стъпенки), bridge (мост), traverse (перила), camp (лагер), noequipment (без инвентар);

край на галерия (passageends):

continuation (продължение), narrowend (вертикално стеснение), lowend (хоризонтално стеснение), flowstonechoke (галерия затворена от натек), breakdownchoke (каменен блокаж), entrance (вход);

други (others):

dig, archeomaterial (археологическа находка), paleomaterial (палеологическа находка), vegetabledebris (останки от растителност), root (корени), waterflow (поток) (подтип: permanent (Постоянен), intermittent (Непостоянен), paleo (Палео-поток)), spring (извор), sink (отток на поток), airdraught (въздушно течение, подтип: winter (зимен), summer (летен), undefined (не определен, по подразбиране), gradient (наклон), mapconnection, extra, u (ползвателски символи).

 

Опции:

orientation/orient ориентация на север 0< <360

align – положение: center, c, top, t, bottom, b, left, l, right, r, top-left, tl, top-right, tr, bottom-left, bl, bottom-right, br.

scale – мащаб на символите: tiny (xs), small (s), normal (m), large (l), huge (xl).

place – изменение на реда на показване на картата.

clip – указва баланса на символ по границата на скрапа. Не се използва с типове: station, station-name, label, remark, date, altitude, height, passage-height.

dist – действителни за допълнителните точки, определя разстоянието до най-близкия репер (или реперите се задават с помощта на опцията -from. Ако не е указано, се ползват съответстващите значения от дадените LRUD.

from – действителни за допълнителните точки, определят базовите репери.

visibility – показва/крие точка

context – (използват се с опциите symbol-hide и symbol-show) Символът ще бъде скрит / показан в съответствие с правилата за конкретните

id

name – за точки с тип репер (station), тази опция дава връзка към реален репер.

extend [prev[ious] ] – ако точката е с тип репер (station) и скрап-проекцията е на разгърнат разрез, можете да настроите разгръщането на антената, използвайки тази опция.

scrap – ако типът на точката е сечение (section), това е връзка към напречното сечение на скрапа

explored – ако типът на точката е продължение (continuation), можете да укажете известната дължина, която още не е картирана. Тази стойност се изобразява в статистиката на пещерата.

text


– пренос на ред

 

/, , – изравняване в средата
– интервал

, , , , – превключватели на шрифта

и – маркери за текст от дясно на ляво

указва езика

value – стойност на височината, височина на прохода или височина на маркер или размер на точка

 

line

Описание: чертае линии на картата. Всеки ред има ориентация, визуализацията зависи от ориентацията. Общото правило е, че свободното пространство е вляво, скалите са от дясно.

Синтаксис:

line [OPTIONS]

[OPTIONS]

[LINE DATA]

[OPTIONS]

… [LINE DATA]

endline

използва се: в скрапа

 

Аргументи:

– тип на линия

 

Галерии (passages):

wall (стена, подтип: invisible(невидима), bedrock (основна, от основна скала), sand (пясъчна), clay (глинена), pebbles (от камъчета), debris )от чакъл), blocks (от блокове), ice (ледена), underlying (ниско разположена стена), unsurveyed (окомерна скица на стените), presumed (предполагаема)); contour (контур), slope (склон), floor-step (праг), pit (отвес), ceiling-step (праг в тавана), chimney (кумин), over-hang (стряха в тавана), ceiling-meander (меандър в тавана), floor-meander (меандър в пода);

Запълване на галерията (passage ?lls):

flowstone (натечни кори), moonmilk (лунно мляко), rock-border (граница на блокове), rock-edge (ребра на блокове), water-flow(поток , подтип: permanent (постоянен), conjectural (предполагаем), intermittent (непостоянен));

Маркери (labels): label (маркер);

специални (special): border (граница, подтип: visible (видима), invisible (невидима), temporary (временна), presumed (предполагаема)), arrow (стрелка), section (извеждане на сечение), survey (антена, подтип: cave (подземна), surface (повърхностна)), map-connection, u.

Команди:

subtype – подтип

[LINE DATA] линия с координати или параметри на линии на Безие

close – затваря линия

mark – маркер

orientation/orient ориентация на север 0< <360

outline – външна линия

reverse – реверс

size – размер

rsize – размер на дясно

lsize – размер на ляво, използва се в тип slope

smooth – режим smooth (изглаждане)

adjust– мести точка от линия хоризонтално/вертикално спрямо предна точка.

place – положение при чертане(ред на изобразяване)

clip – заключени в рамки граници на скрапа

visibility видимост

context – (използва се с опции symbolhide и symbolshow) Символът ще бъде скрит / показан в съответствие с правилата за конкретните

Опции Typespeci?c:

altitude – може да бъде указана само с тип стена (wall). Тази функция създава маркер за височината в/у стената. Всички височини се отбелязват като разлика по лъча Z (който по подразбиране е 0). Ако има указана стойност, функцията дава разликата в точката на стената по отношения към близките репери. Стойността може да има префикс по ключовата дума “fix”, тогава близкия репер не се взима под внимание; вместо него се използва зададената стойност.

Примери: +4, [+4 m], [fix 1510m]

border – използва се с тип “slope” той включва / изключва линията на границата на склона

direction – може да бъде използван само с тип разделение (section). Указва къде да се постави направлението на стрелките на линията на разреза. По подразбиране е none

gradient – може да бъде използван само с тип контур (contour) и указва, къде да се постави отпечатък на градиента на контурната линия.

head – може да бъде използван само с тип стрелка (arrow), указва, къде да се постави стрелката. Край (end) по подразбиране

text – само за маркер (label)

 

Опции:

id

 

area

Описание: област – определя се с линии на граници (border). Могат да бъдат всякакъв тип, но но трябва да имат id и да бъдат отбелязани в списък, и всяка двойка последователни линии трябва да се пресича. Границата може да излиза зад границите на пещерата (зад стените), при компилацията ще се изреже

Синтаксис:

area

place

clip

visibility

… border line references …

endarea

Използва се: в скрапа

Аргументи:

може да бъде: water (вода), sump (сифон), sand (пясък), debris (камъчета), blocks (блокове), flowstone (цвете), moonmilk (мляко), snow (сняг), ice (лед), clay (глина), pebbles (гравий), bedrock (основа), u.

Команден ред

  • редовете се състоят от връзки (id) на граници (border)
  • place – положение при чертане (ред на показване)
  • clip – заключен в рамките на границите на скрапа
  • visibility видимост
  • context – (използва се с опции symbol-hide и symbol-show) Символът ще бъде скрит / показан в съответствие с правилата за конкретните

Опции:

id

 

join

Описание: join работи в два режима – съединява два скрапа, две и повече точки или свързва линии на картата.

Синтаксис:

join … [OPTIONS]

Използва се: навсякъде, scrap, survey

Аргументи:

– може да бъде ID на точка или линия : (например: podangl_l31@podangl:mark1) може да бъде ‘end’ (край на линия) или индекс на точка (започва с 0)

Особен е случая, когато и се явяват идентификатори на скрапа, тогава близките краища на скрапа се съединяват.

Опции:

smooth

count (когато се използва скрап) – Therion се старае да съедини скрапове, които се съединяват в места – номер (N) на позиция / галерия

 

equate

Описание: указва еквивалентност на репери

Синтаксис:

equate

Използва се: навсякъде, survey

 

map

Описание:

Карта представлява набор от скрапове или други карти, опростява управлението на данните на изхода

Синтаксис:

map [OPTIONS]

… scrap, survey or other map references …

break

… next level scrap, survey or other map references …

preview

endmap

Използва се: навсякъде, survey

Аргументи:

 

Команден ред:

Редовете се състоят от скрапове или връзки към карти. Забележете, че не можете да ги използвате заедно.

reference – за позоваване на карта, можете да укажете отклонението, при което тази суб-карта на предварителният преглед за ще показва в първоначалната си позиция. Синтаксисът е следния:

 

[ ]

 

 

break – скрапът може да бъде прекъснат с командата break и ще бъде поставен на ново ниво

preview – поставя скици от друга карта в указаната позиция по отношение към текущата карта. Предварителният преглед се изобразява само когато карта е вложена в карта.

Опции:

projection/proj – изисква се ако картата съдържа survey.

title – заглавие на обекта.

 

surface

Описание: Повърхност (местност). Може да се изобрази чрез два способа: във вид на отсканироани топографски карти (в 2D и 3D модели на картата) или мрежа на повърхността – цифров модел на релефа (само в 3D-модела).

Синтаксис:

surface []

cs

bitmap

grid-units

grid

grid-flip (none)/vertical/horizontal

[grid data]

endsurface

Използва се: навсякъде, survey

Аргументи:

cs – система координати

bitmap – файл с карта

calibration:

1.[X1 Y1 x1 y1 X2 Y2 x2 y2 [units]]

2.[X1 Y1 station1 X2 Y2 station2]

gridunits – единици на измерванията (по подразбиране са метри)

grid – указва координатите на долният ляв ъгъл на мрежата (Ю-З)

– разстоянието между С-Ю и З-И

– количеството на редове и стълбове в таблица

[grid data] – поток цифри – височини a.s.l. във възлите на мрежата. Започва в оригиналната мрежа и запълва по редово мрежата (от З на В; от Ю на С).

grid-flip (none)/vertical/horizonta – превърта мрежата, полезно е ако тя се внася от други програми

 

import

Описание: внасяне на данни от други формати (*.3d, *.plt, *.xyz )

Синтаксис:

import [OPTIONS]

Използва се: в survey

Опции:

surveys (create)/use/ignore – способ на внасяне

create – разделя репери в subsurveys, ако subsurveys не съществуват, създайте ги

use – използва съществуващи репери в subsurveys

ignore – игнорира репери

cs

calibrate [ ]

 

grade

Описание: Тази команда се използва за пазене на предопределени данни на антената.

Синтаксис:

grade

[ ]

endgrade

Използва се: навсякъде

 

revise

Описание: Тази команда се използва за установяване или изменение на свойствата на вече съществуващо обект.

Синтаксис:

на един ред:

revise id [-option1 value1 -option2 value2 …]

на няколко реда

revise id [-option1 value1 -option2 value2 …]

optionX valueX

data

endrevise

Използва се: навсякъде

 

Синтаксис на файла за конфигурация на компилатора

 

system

Описание: извиква външно приложение, аналогичено на командния ред на Windows: start

Синтаксис:

system

 

encoding

Описание: кодировка

Синтаксис:

encoding

Пример:

encoding utf-8

 

language

Описание: език

Синтаксис:

language

Пример:

language ru

 

cs

Описание: система координати

 

sketch-warp

Описание: преобразуване в скица

Синтаксис:

sketch-warp

Опции:

algorithm – метод: line (линеен), plaquette (метод на Марко Корви)

 

input

Описание: включване на файл

Синтаксис:

Input

Пример:

input thconfig.layout

source

Описание: включване на файла с данни.. Можете да укажете няколко файла, по един във всеки ред. Също можете да ги зададете с командния ред -S.

Синтаксис:

Source

или

source

::: therion commands:::

Endsource

 

Пример:

source survall.th

 

select

Описание: отделя survey или map для експорт, по подразбиране всички обекти и карт са отделени.

Синтаксис:

select[OPTIONS]

Аргументи:

– survey или map, отделена по id

Опции:

recursive работи само когато е отделен survey, по подразбиране е on, рекурсивно отделя/изключва всички все вложени survey

map-level работи само когато е избран map. Установява новото на спиране при експорт в атлас. По подразбиране е 0.

chapter-level работи само когато е избран map. Установява новото на главата при експорт в атлас. По подразбиране е 0.

 

unselect

Описание: изключва survey или map от експорта, явява се противоположност на командата select, параметрите са същите като в командата select.

Синтаксис:

unselect[OPTIONS]

 

text

Описание: добавя всякакъв текст.

Синтаксис:

text

Аргументи:

– език по стандарта ISO (например, en или en_UK или ru)

– текст във формата Therion

 

 

layout

Описание: описание на оформлението (оформление – свойства зая експорт) на 2D карти или атлас, в свойствата в скобите да отбележим буквата М -ако се отнася към карта, и буквата А – към атлас.

Синтаксис:

layout [OPTIONS]

copy

cs

north

scale

base-scale

units

rotate

symbol-set

symbol-assign\

symbol-hide

symbol-show

symbol-colour

size

overlap

page-setup

page-numbers

exclude-pages

title-pages

nav-factor

nav-size

transparency

opacity

surface

surface-opacity

sketches

layers

grid

grid-origin

grid-size

grid-coords

origin

origin-label

own-pages

page-grid

legend

legend-columns

legend-width

map-comment

map-header

map-header-bg

map-image

statistics

 

scale-bar

survey-level

language

colour/color

debug

doc-author

doc-keywords

doc-subject

doc-title

code

endcode

endlayout

Аргументи:

– идентификатор на оформлението

Опции:

copy – наследява свойства от друго оформление

scale – установява мащаб (M, A; по подразбиране е «1: 200»)

base-scale – базов мащаб

rotate – завърта картата (M,A; по подразбиране: 0)

units – единици на измерванията (M,A; по подразбиране: metric)

symbol-set – тип на символите (M,A):

UIS(International Union of Speleology)

ASF(Australian Speleological Federation)

CCNP(Carlsbad Caverns National Park)

SKBB(Speleoklub Banska Bystrica)

symbol-assign – изменя на определени символи. Презаписва командата symbol-set

symbol-hide – скрива символи (M,A), работи заедно с symbol- show

symbol-show – показва символи (M,A), работи заедно с symbol-hide

symbol-colo[u]r – задава цвета на символа (M,A)

size – задава размера на картата или атласа (M,A; по подразбиране: «18 22.2cm»)

overlap – отстъпи (M,A; по подразбиране: «1cm»)

page-setup – оразмерява страниците

paper-width (ширина на листа),

paper-height (височина на листа),

page-width (ширина на страницата),

page-height (височина страницата),

left-margin (отстъп от ляво),

top-margin (отстъп от дясно) (A; по подразбиране: «21 29.7 20 28.7 0.5 0.5 cm»)

page-numbers – включва/изключва номерацията на страниците (A; по подразбиране: «on»)

exclude-pages – изключива страници. (например, 2,4-7,9,23) (A)

title-pages – отделя заглавната страница (A;по подразбиране: «off»)

nav-factor – установява коефицента на увеличение (A;по подразбиране: 30)

nav-size – установява количеството на страници в атласа (A; по подразбиране: «2 2»)

transparency – прозрачност на галерията (M,A; по подразбиране: «on»)

opacity – непрозрачност, стойност в диапазона 0-100.(M,A; по подразбиране: «70»)

surface-opacity – непрозрачността на повърхността работи ако transparency е «on» (M,A; по подразбиране: «70»)

surface – положение на повърхността (M,A; по подразбиране: «off»)

sketches – отделя скиците (M,A; по подразбиране: «off»)

layers – включива слоеве PDF 1.5 (M,A; по подразбиране: «on»)

grid – изобразява мрежата (M,A; по подразбиране: «off»)

cs – система координати

north – ориентация на Север

grid-origin – координати на мрежата (M,A)

grid-size – размер на мрежата (M,A)

grid-coords – координати на мрежата(M,A; по подразбиране: «off»)

origin – установява началото на координатите в атласа (M,A)

origin-label – координати на етикета (M,A; по подразбиране: «0 0»)

own-pages – номер на заглавната страница (A; по подразбиране: 0)

page-grid – показва мрежа на плана (M; по подразбиране: «off»)

map-header – положение на заглавието (M; по подразбиране: «0 100 nw»)

map-header-bg – фон на заглавието (M; по подразбиране: «off»)

map-image – включва файла на картата

legend-width – ширина на легендата(M,A; по подразбиране: «14 cm»)

legend – показва легендата (M,A; по подразбиране: «off»)

colo[u]r-legend – цвят на легендата (M,A)

legend-columns – количество колони в легендата (M,A; по подразбиране: «2»)

map-comment – коментари към картата (M)

statistics или statistics – показва статистиката за пещерата (M; по подразбиране: «off»)

scale-bar – размер на линейния мащаб (M,A)

language – език (M,A)

colo[u]r – цвят на елемента [0-100 0-100 0-100] триплет RGB

debug – показва етикетите от скрапа (например имената на реперите)

survey-level – ниво на извеждане на реперите (M,A; по подразбиране: «0»).

doc-author – автор на документа (M,A)

doc-keywords – ключови думи (M,A)

doc-subject – описание на документа

doc-title заглавие на документа

code… endcode – блок с код на TeX

image096

Рис. 33. Параметри на оформлението

Пример:

encoding utf-8

#thconfig.layout

 

layout cave

language ru

grid-size 1 1 1 m #размерна мрежата

symbol-set SKBB

map-header 0 -10 center

 

#debug station-names # Показва имената на реперите

survey-level 0 # ниво на извеждане на реперите 0- просто име… all- целият път sts@ surv1

scale 1 500 # мащаб

symbol-hide group centerline

scale-bar 10 m

statistics topo-length off

statistics explo-length off

legend on

doc-author “Денис Береженко”

doc-title “План на пещерата Пяти Озер”

doc-subject “Дата на последната картировка 21.11.2009”

map-comment “Дата на последната картировка 21.11.2009”

 

#Синята водичка

symbol-colour area water [10 40 80]

code metapost

def a_water (expr p) =

T:=identity;

thfill p withcolor (0.0, 0.5, 1.0);

enddef;

endlayout

 

layout cl

copy cave

color map-fg [90 90 80] #цвят в пещерата

endlayout

 

layout notcl

copy cave

endlayout

 

export

Описание: експорт на избран surveys или maps

Синтаксис:

export[OPTIONS]

Аргументи:

– тип на експорта

model – 3D модел

map – 2D модел

atlas – 2D модел

cave-list -списък на пещери

survey-list -списък на картировките

continuation-list -списък на продълженията

database – база данни

bbox -текстов файл

 

Опции:

encoding/enc – кодировка

output/o – изходящ файл

 

Model:

 

format/fmt – формат на файла: loch (свой формат; по подразбиране), compass (файл plt), survex (3D файл), dxf, esri, vrml, 3dmf и kml (GoogleEarth)

enable и

disable – избор на какво да се експортва

wall-source – какво да се извежда – стени, антена или и двете

map/atlas:

encoding/enc – кодировка

format/fmt – формат файла: pdf, svg, xhtml, survex, dxf, esri, kml, xvi; атласът поддържа само pdf

projection – идентификатор на проекция

layout – идентификатор лайоута

layout-xxx – където xxx са опциите на оформлението, указва одна опция на оформлението

 

lists:

format/fmt – формат на файла: html (по подразбиране), txt и dbf

 

continuation-list:

attributes – атрибути

filter – филтриране на коментари

 

cave-list:

location – извежда координатите

surveys(on)/off) – извежда структурата

 

database:

encoding/enc – кодировка

format/fmt – формат на файла: sql

 

тип формати
model loch,dxf,esri,compass,survex,vrml,3dmf,kml
map pdf,svg,xhtml,dxf,esri,survex,xvi,kml
atlas pdf
database sql
lists html,txt,dbf
special bbox

 

Таблица 1. формати

 

Пример:

export map -fmt pdf -layout cl -o survall_cl.pdf

export map -fmt pdf -layout notcl -o survall_notcl.pdf

export map -fmt pdf -o survall.pdf

export map -fmt dxf -o survall.dxf

export map -fmt xvi -layout cl -o oz_cl.xvi

 

Литература

1. Wookey// Therion – съвременното ниво на програмното обезпечение за пещерна картография //Превод на руски език В. В. Сухачев, И. C. Щербинина, 2006 год //Copyright Wookey 2004, licensed under the GNU General Public Licence.

2. http://ru.wikipedia.org/wiki/WYSIWYG

3. The Therion Book (Stacho Mudr_ak, Martin Budaj)

4. http://therion.speleo.sk/download.php