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@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 <b...@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@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
> 
> 
> 
> 

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@ShiftyRockPit DR23@AllieSpringCave
  equate AA51@ShiftyRockPit CC7@AllieSpringCave

endsurvey

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
_______________________________________________
Therion mailing list
Therion@speleo.sk
https://mailman.speleo.sk/listinfo/therion

Reply via email to