[Therion] Export Multiple Caves to Single KML Model

Bill Gee bgee at campercaver.net
Tue Oct 29 12:48:49 CET 2019


I have done this, and it wasn't even hard!  The attached files show how I took four separate cave maps and combined them into one.

-- 
Bill Gee



On Monday, October 28, 2019 11:24:21 PM CDT Scott Falkingham wrote:
> Hi Folks,
> 
> Is it supported to export a model of multiple caves to a single KML file?
> When I attempt the export, the entrance placemarks of both caves show up,
> but only the first sourced caves centerline is exported.   Not only that,
> all of the placemarks are grouped in a single folder.
> 
> Conversely, exporting a cave-list of multiple caves to KML works as
> expected, with both caves showing up in individual folders.
> 
> Thanks.
> 
> Scott
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.speleo.sk/pipermail/therion/attachments/20191029/b25a3d24/attachment.htm>
-------------- next part --------------
# Bring in subsidiary files

survey all

# Name the input caves
input ../AllieSpringCaveSurvey/AllieSpringCave.th
input ../MillCreekCaveSurvey/MillCreekCave.th
input ../ShiftyRockPit/ShiftyRockPit.th
input ../CascadeCaverns/CascadeCaverns.th

  equate AA42 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

# 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


More information about the Therion mailing list