[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