[Therion] Multiple caves on one map with an offset
Bill Gee
bgee at campercaver.net
Thu Nov 14 21:10:31 CET 2019
Hi Martin -
I tried a few more things based on your suggestions. The first thing I had to learn was how to get the Survey Structure and Map Structure boxes to populate. The secret is to run the therion compiler from inside xtherion. I have been running it straight from the command line. Since Big Cavern Ranch has no drawings, I did not see any reason to bother with xtherion.
The attached file "selection_002.jpg" shows the survey and map structure boxes. These both look reasonably sane to me. I have attached the thconfig and .th file that were used to generate this.
I ran this also with a map defined in the .th file. The result was another item in Map Structure under "plan which was the name of the map I defined. In that map were all of the pieces that are also present the other levels under "plan".
The thconfig file has a line "select AllieMainPlan". I changed that to "select AllieMainPlan at all" and recompiled. No difference. The resulting map has all four caves and no offsets. The map structure as reported by xtherion did not change.
--
Bill Gee
On Thursday, November 14, 2019 8:33:22 AM CST Martin Sluka via Therion wrote:
>
> > 14. 11. 2019 v 14:38, Bill Gee <bgee at campercaver.net>:
> >
> > I am shooting blindly in the dark here. What is the hierarchy of namespaces? Do surveys contain maps, or do maps contain surveys? Can maps contain maps? Can surveys contain surveys? Can a map contain a survey which in turn contains a map?
>
> Any survey-endsurvey structure is a name space.
>
> Maps structure is independent from structure of surveys but it allways belong to a name space of enclosing survey-endsurvey.
>
> So in your file AllieSpringCave.th <http://alliespringcave.th/> there is name space AllieSpringCave, but map AllieMainPlan is outside it. After you input the file AllieSpringCave.th <http://alliespringcave.th/> into your file BigCavernRanch.th <http://bigcavernranch.th/> inside name space all, it become part of "name space all".
>
> >
> > If surveys can contain maps, and maps can contain surveys, then how do you know what the top of the namespace is?
>
> Name space is each structure survey-endsurvey.
>
> > Using Allie Spring Cave as an example, it looks to me like the top of the name space is a map called AllieMainPlan.
>
> This map AllieMainPlan is outside the name space "survey AllieSpringCave-endsurvey". It is reason you should call all subsidiary maps from name space AllieSpringCave by @AllieSpringCave.
>
> > This map contains seven subsidiary maps and is defined outside of a survey/endsurvey block. But all of those subsidiary maps are defined inside a survey/endsurvey block. So does AllieMainPlan contain the survey at the second level, and the survey contains the subsidiary maps at the third level? If true, then why does it not show up that way in xtherion?
>
> Any command input is only copy/paste piece of plaint text. So if you input ../AllieSpringCaveSurvey/AllieSpringCave.th <http://alliespringcave.th/> into name space "survey all-endsurvey“, map AllieMainPlan become object in this name space and name space "survey AllieSpringCave-endsurvey“ become enclosed name space.
>
> > Martin - In a different email you mentioned that MainPassages is not part of AllieSpringCave. I don't understand that. AllieSpringCave is the name of a survey/endsurvey block, and inside that block are seven map/endmap blocks. One of those map blocks is MainPassages. It seems to me that the survey/endsurvey block contains the map/endmap blocks and therefore the names they define should be part of the survey namespace.
> >
> I was probably totaly wrong. Map AllieMainPlan is not part of name space "survey AllieSpringCave-endsurvey"
>
> What will Therion produce from your original files if you in thconfig select only „select AllieMainPlan at all“?
>
> Or may you try to add that select command by doubleclick on map AllieMainPlan in structure of maps in right side panel?
>
> May you publish screenshot of that rightside panel with structure of maps, please?
>
> Martin
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.speleo.sk/pipermail/therion/attachments/20191114/bf14f8fe/attachment.htm>
-------------- next part --------------
encoding utf-8
# Bring in subsidiary files
survey TestSurvey -title "Big Cavern Ranch"
# Name the input caves
input ../AllieSpringCaveSurvey/AllieSpringCave.th
input ../MillCreekCaveSurvey/MillCreekCave.th
input ../ShiftyRockPit/ShiftyRockPit.th
input ../CascadeCaverns/CascadeCaverns.th
equate AA41a at ShiftyRockPit DR23 at AllieSpringCave
equate AA51 at ShiftyRockPit CC7 at AllieSpringCave
endsurvey
-------------- next part --------------
encoding utf-8
source BigCavernRanch.th
input ../TherionMasterFiles/CustomSymbolsCode.txt
select AllieMainPlan
# This layout is for the main 2D map, all on one page
layout basics
language en_US
units imperial
scale-bar 100 feet
page-numbers on
north true
rotate 0
symbol-color group centerline [80 20 0]
symbol-color area water [0 0 100]
map-comment "The Caves of Big Cavern Ranch, Pulaski County, Missouri"
statistics explo all
legend on
map-header 3 65 w
symbol-set UIS
# Section for PDF properties
doc-author "Bill Gee"
doc-title "The Caves of Big Cavern Ranch"
doc-subject "The Caves of Big Cavern Ranch"
# Section for map photos
# Bring in the custom symbols
copy CustomSymbols
# Reassign names
symbol-assign point gradient AMER
symbol-assign point stalagmite AMER
symbol-assign point stalactite AMER
symbol-assign point pillar AMER
symbol-assign point popcorn AMER
# Set point height symbols to be enclosed in boxes
code metapost
p_label_mode_height:=6;
endcode
endlayout
# ####################################
# Main map layout, no special colorizing.
layout mainmapnocolor
copy basics
symbol-show group centerline
debug station-names
scale 1 200
color map-fg [100 86 66]
# Change the size of the legend
code metapost
tmpscale=1.8;
def draw_legend_box =
% Next line controls size of symbol in each symbol table box
currentpicture := currentpicture scaled tmpscale;
% Next line controls size of symbol table box background
clip currentpicture to unitsquare inscale xscaled tmpscale yscaled tmpscale;
drawoptions();
pickup PenB;
% I think the next line controls the size of each symbol table box
draw unitsquare inscale xscaled tmpscale yscaled tmpscale;
enddef;
%clear the background of the larger legend boxes
def clean_legend_box =
unfill unitsquare inscale xscaled tmpscale yscaled tmpscale;
enddef;
%change the value of inscale to fill the legend boxes
def inscale =
xscaled (legend_scale*tmpscale) yscaled (0.618*legend_scale*tmpscale)
enddef;
endcode
code tex-map
\def\maplayout{
\legendbox{3}{65}{W}{
\def\txtsize{40} % Define the default text size
\legendwidth=50 cm
\legendtextsectionsize={\size[\txtsize]}
\legendtextsize={\size[\txtsize]}
\legendtextheadersize={\size[80]}
\hsize=\legendwidth
\the\legendcontent={\size[\txtsize]}
\the\legendtextsize\ Map generated at \the\time \the\currentdate\medskip
\the\legendtextsize\ Therion version \the\thversion
}
}
endcode
#end of TeX code to change legend size
endlayout
# ############################
# Main map layout with coloring based on elevation
layout mainmapwithcolor
copy basics
symbol-show group centerline
debug station-names
scale 1 200
color map-fg altitude
endlayout
# ##############################
# Main map scaled for printing
layout mainmapprint
copy basics
scale 1 800
debug off
symbol-hide group centerline
color map-fg [100 86 66]
# Change the size of the legend
code metapost
tmpscale=1.3;
def draw_legend_box =
% Next line controls size of symbol in each symbol table box
currentpicture := currentpicture scaled tmpscale;
% Next line controls size of symbol table box background
clip currentpicture to unitsquare inscale xscaled tmpscale yscaled tmpscale;
drawoptions();
pickup PenB;
% I think the next line controls the size of each symbol table box
draw unitsquare inscale xscaled tmpscale yscaled tmpscale;
enddef;
%clear the background of the larger legend boxes
def clean_legend_box =
unfill unitsquare inscale xscaled tmpscale yscaled tmpscale;
enddef;
%change the value of inscale to fill the legend boxes
def inscale =
xscaled (legend_scale*tmpscale) yscaled (0.618*legend_scale*tmpscale)
enddef;
endcode
code tex-map
\def\maplayout{
\legendbox{3}{65}{W}{
\def\txtsize{16} % Define the default text size
\legendwidth=20 cm
\legendtextsectionsize={\size[\txtsize]}
\legendtextsize={\size[\txtsize]}
\legendtextheadersize={\size[40]}
\hsize=\legendwidth
\the\legendcontent={\size[\txtsize]}
\the\legendtextsize\ Map generated at \the\time \the\currentdate\medskip
\the\legendtextsize\ Therion version \the\thversion
}
}
endcode
#end of TeX code to change legend size
endlayout
# ## End of layouts
# Change the legend callouts
text en_US "point u:stalagmaflat_AMER" "stalagmaflat"
text en_US "line u:dripline_AMER" "dripline"
text en_US "point u:pendant" "pendant"
text en_US "point u:stromatolite" "stromatolite"
text en_US "point u:boxwork" "boxwork"
text en_US "area u:pavement" "pavement"
text en_US "area u:tiles" "tiled floor"
# Now list all the map files to be created.
# The main plan map
export map -proj plan -layout mainmapnocolor -o BigCavernRanch.pdf
# The main map for printing
export map -proj plan -layout mainmapprint -o BigCavernRanchPrint.pdf
# Main plan map with elevations colorized
export map -proj plan -layout mainmapwithcolor -o BigCavernRanchColored.pdf
# Create an atlas map
export atlas -proj plan -layout mainmapnocolor -o BigCavernRanchAtlas.pdf
# create a centerline map using XVI format
export map -proj plan -fmt xvi -o BigCavernRanch.xvi
# Create a 3d map for use with Loch
export model -fmt loch -o BigCavernRanch.lox
# Create a 3d map for use with Survex/Aven
export model -fmt 3d -o BigCavernRanch.3d
# Create a KML file for Google Earth
export map -proj plan -fmt kml -output BigCavernRanch.kml
# Create a PLT file for use in Compass
export model -fmt compass -enable all -wall-source all -o BigCavernRanch.plt
# Create a TXT file with basic statistics on each of the caves
export cave-list -surveys on -location on -fmt txt -o BigCavernRanchCaves.txt
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Selection_002.jpg
Type: image/jpeg
Size: 54294 bytes
Desc: not available
URL: <http://mailman.speleo.sk/pipermail/therion/attachments/20191114/bf14f8fe/attachment.jpg>
More information about the Therion
mailing list