[svn r7412] Put the prospecting guide map on the public site, but without the scanned

map backdrop.
This commit is contained in:
olly 2006-06-22 18:06:42 +02:00
parent 3e9b26bc30
commit 4f1de43684
12 changed files with 2018 additions and 47 deletions

1
handbook/.htaccess Normal file
View File

@ -0,0 +1 @@
RedirectPermanent /expo/handbook/prospecting_guide_short.html /expo/handbook/prospecting_guide.html

View File

@ -55,10 +55,10 @@ about. To avoid any possibility of errors, this includes some info on caves
not explored by CUCC, though for reasons of Austrian Kataster politics, these not explored by CUCC, though for reasons of Austrian Kataster politics, these
are not publicly accessible on the "live" web site.</p> are not publicly accessible on the "live" web site.</p>
<p>For Expo 2005 a new index has been prepared indicating exactly which <p>We now have a <a href="prospecting_guide.html">fancy clickable map</a>
information we have about which caves, and what information still needs to be showing the locations of all the caves we have information on with tables
gathered. This table can be found <a showing which pieces of information we have and what information still needs to
href="prospecting_guide_short.html">here</a>.</p> be gathered.</p>
<hr /> <hr />

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

View File

@ -1,22 +1,35 @@
<html><head><title>Prospecting Guide</title> <html><head><title>Prospecting Guide</title>
<script lang="Javascript"><!--
bgall = false;
bg40 = false;
bg76 = false;
bg204 = false;
bgtc = false;
//-->
</script>
<style type="text/css"> <style type="text/css">
.locn { font-size: x-small } .locn { font-size: x-small }
.bad { background-color: #ff9955; text-align: center } .bad { background-color: #ff9955; text-align: center }
.good { background-color: #99ff99; text-align: center } .good { background-color: #99ff99; text-align: center }
.awful { background-color: #ff5555; text-align: center } .awful { background-color: #ff5555; text-align: center }
</style></head><body><h1>Prospecting Guide</h1><p><small>Generated 06/22/06 02:13:40 by make-prospectingguide-new.py</small></p> </style></head><body><h1>Prospecting Guide</h1><p><small>Generated 06/22/06 16:55:46 by make-prospectingguide-new.py</small></p>
<p><b>Notes:</b></p><ul><li>A marking status of "Retag" means a tag is in place but it carries a provisional number, or in some cases an incorrect number, and needs replacing with a new tag.</li> <p><b>Notes:</b></p><ul><li>A marking status of "Retag" means a tag is in place but it carries a provisional number, or in some cases an incorrect number, and needs replacing with a new tag.</li>
<li>Kataster status codes indicate the size of a cave, its character and its exploration status, as described <a href="../katast.htm">here</a>.</li><li>For more info on each cave, see the links to detailed description pages.</li></ul> <li>Kataster status codes indicate the size of a cave, its character and its exploration status, as described <a href="../katast.htm">here</a>.</li><li>For more info on each cave, see the links to detailed description pages.</li></ul>
<p><img src="prospecting_guide.jpg" usemap="#mapall" ismap="ismap" /></p> <button onclick="if (bgall) imgall.src = 'prospecting_guide.jpg'; else imgall.src = '../noinfo/prospecting_guide.jpg'; bgall = !bgall;">Toggle Background</button>
<p><img src="prospecting_guide.jpg" usemap="#mapall" ismap="ismap" name="imgall" width="1417" height="1704" /></p>
<h3 id="idsubmap40">Eish&ouml;hle area detail</h3> <h3 id="idsubmap40">Eish&ouml;hle area detail</h3>
<p><img src="prospecting_guide_40area.jpg" usemap="#map40" ismap="ismap" /></p> <button onclick="if (bg40) img40.src = 'prospecting_guide_40area.jpg'; else img40.src = '../noinfo/prospecting_guide_40area.jpg'; bg40 = !bg40;">Toggle Background</button>
<p><img src="prospecting_guide_40area.jpg" usemap="#map40" ismap="ismap" name="img40" width="714" height="838" /></p>
<h3 id="idsubmap76">Eislufth&ouml;hle area detail</h3> <h3 id="idsubmap76">Eislufth&ouml;hle area detail</h3>
<p><img src="prospecting_guide_76area.jpg" usemap="#map76" ismap="ismap" /></p> <button onclick="if (bg76) img76.src = 'prospecting_guide_76area.jpg'; else img76.src = '../noinfo/prospecting_guide_76area.jpg'; bg76 = !bg76;">Toggle Background</button>
<p><img src="prospecting_guide_76area.jpg" usemap="#map76" ismap="ismap" name="img76" width="920" height="778" /></p>
<h3 id="idsubmap204">Steinbr&uuml;ckenh&ouml;hle area detail</h3> <h3 id="idsubmap204">Steinbr&uuml;ckenh&ouml;hle area detail</h3>
<p><img src="prospecting_guide_204area.jpg" usemap="#map204" ismap="ismap" /></p> <button onclick="if (bg204) img204.src = 'prospecting_guide_204area.jpg'; else img204.src = '../noinfo/prospecting_guide_204area.jpg'; bg204 = !bg204;">Toggle Background</button>
<p><img src="prospecting_guide_204area.jpg" usemap="#map204" ismap="ismap" name="img204" width="981" height="1068" /></p>
<h3 id="idsubmaptc">Near Top Camp area detail</h3> <h3 id="idsubmaptc">Near Top Camp area detail</h3>
<p><img src="prospecting_guide_tcarea.jpg" usemap="#maptc" ismap="ismap" /></p> <button onclick="if (bgtc) imgtc.src = 'prospecting_guide_tcarea.jpg'; else imgtc.src = '../noinfo/prospecting_guide_tcarea.jpg'; bgtc = !bgtc;">Toggle Background</button>
<p><img src="prospecting_guide_tcarea.jpg" usemap="#maptc" ismap="ismap" name="imgtc" width="1245" height="835" /></p>
<h3>Location unclear</h3><table border="1"> <h3>Location unclear</h3><table border="1">
<tr><th>Cave Number</th><th>Name</th><th>Finished</th><th>Survey<br>Data</th><th>Survey<br>Drawn</th><th>Marked</th><th>Photo</th><th>E</th><th>N</th><th>Alt</th><th>Location</th><tr><td>221</td><td><a id="id221">?</a></td><td></td><td class="awful">None</td><td class="awful">None</td><td class="awful"></td><td class="awful">None</td><td colspan="3" class=>?</td><td class="locn"> </td></tr> <tr><th>Cave Number</th><th>Name</th><th>Finished</th><th>Survey<br>Data</th><th>Survey<br>Drawn</th><th>Marked</th><th>Photo</th><th>E</th><th>N</th><th>Alt</th><th>Location</th><tr><td>221</td><td><a id="id221">?</a></td><td></td><td class="awful">None</td><td class="awful">None</td><td class="awful"></td><td class="awful">None</td><td colspan="3" class=>?</td><td class="locn"> </td></tr>
<tr><td>232</td><td><a id="id232">Grie&szlig;kogelschacht</a></td><td class="bad">x</td><td class="awful">None</td><td class="awful">None</td><td class="awful"></td><td class="awful">None</td><td colspan="3" class=>?</td><td class="locn"> </td></tr> <tr><td>232</td><td><a id="id232">Grie&szlig;kogelschacht</a></td><td class="bad">x</td><td class="awful">None</td><td class="awful">None</td><td class="awful"></td><td class="awful">None</td><td colspan="3" class=>?</td><td class="locn"> </td></tr>
@ -763,7 +776,6 @@
<area shape="rect" coords="458, 3098, 474, 3106" href="#id32" title="32 Windloch am St&ouml;gerweg" /> <area shape="rect" coords="458, 3098, 474, 3106" href="#id32" title="32 Windloch am St&ouml;gerweg" />
<area shape="rect" coords="-68, 3227, -52, 3235" href="#id31" title="31 Elchh&ouml;hle (Megalodontenh&ouml;hle) 262m long 26m deep" /> <area shape="rect" coords="-68, 3227, -52, 3235" href="#id31" title="31 Elchh&ouml;hle (Megalodontenh&ouml;hle) 262m long 26m deep" />
<area shape="rect" coords="-1007, 5382, -995, 5390" href="#id1" title="1 Li&auml;gerh&ouml;hle (D'Li&euml;ger)" /> <area shape="rect" coords="-1007, 5382, -995, 5390" href="#id1" title="1 Li&auml;gerh&ouml;hle (D'Li&euml;ger)" />
<area shape="rect" coords="-1007, 5382, -995, 5390" href="#id1" title="1 Li&auml;gerh&ouml;hle (D'Li&euml;ger)" />
<area shape="rect" coords="797, 755, 824, 763" href="#idLSR5" title="Laser Point 0/5" /> <area shape="rect" coords="797, 755, 824, 763" href="#idLSR5" title="Laser Point 0/5" />
<area shape="rect" coords="921, 1385, 948, 1393" href="#idLSR1" title="Laser Point 0/1" /> <area shape="rect" coords="921, 1385, 948, 1393" href="#idLSR1" title="Laser Point 0/1" />
<area shape="rect" coords="1335, 725, 1362, 733" href="#idLSR0" title="Laser Point 0" /> <area shape="rect" coords="1335, 725, 1362, 733" href="#idLSR0" title="Laser Point 0" />

View File

@ -38,7 +38,7 @@ areacolours = {
'2d' : '#ff9900', '2d' : '#ff9900',
'3' : '#880000', '3' : '#880000',
'4' : '#0000ff', '4' : '#0000ff',
'6' : '#000000', # doubles for surface fixed pts '6' : '#000000', # doubles for surface fixed pts, and anything else
'7' : '#808080' '7' : '#808080'
} }
@ -164,21 +164,20 @@ def get_img_name(maparea):
return filename return filename
# Parameters for big map and zoomed subarea maps: # Parameters for big map and zoomed subarea maps:
# height and width for subareas are calculated automatically from the # big map first (zoom factor ignored)
# coordinates and the zoom factor
maps = { maps = {
# id left top right bottom width height zoom # id left top right bottom zoom
# G&K G&K G&K G&K pixels pixels (times) # G&K G&K G&K G&K factor
"all": [34394.9, 84508.6, 37399.4, 80895.6, 1417, 1704, 1.0, "all": [34394.9, 84508.6, 37399.4, 80895.6, 1.0,
"All"], "All"],
"40": [36275.6, 82392.5, 36780.3, 81800.0, 0, 0, 3.0, "40": [36275.6, 82392.5, 36780.3, 81800.0, 3.0,
"Eish&ouml;hle"], "Eish&ouml;hle"],
"76": [35440.0, 83320.0, 36090.0, 82770.0, 0, 0, 3.0, "76": [35440.0, 83320.0, 36090.0, 82770.0, 3.0,
"Eislufth&ouml;hle"], "Eislufth&ouml;hle"],
"204": [36354.1, 84154.5, 37047.4, 83399.7, 0, 0, 3.0, "204": [36354.1, 84154.5, 37047.4, 83399.7, 3.0,
"Steinbr&uuml;ckenh&ouml;hle"], "Steinbr&uuml;ckenh&ouml;hle"],
"tc": [35230.0, 82790.0, 36110.0, 82200.0, 0, 0, 3.0, "tc": [35230.0, 82790.0, 36110.0, 82200.0, 3.0,
"Near Top Camp"], "Near Top Camp"],
} }
# Keys in the order in which we want the maps output # Keys in the order in which we want the maps output
@ -188,10 +187,10 @@ L = 0
T = 1 T = 1
R = 2 R = 2
B = 3 B = 3
W = 4 ZOOM = 4
H = 5 DESC = 5
Z = 6
D = 7 allwhite = False
import Image, ImageDraw, ImageFont, string, os, sys import Image, ImageDraw, ImageFont, string, os, sys
for FONT in [ for FONT in [
@ -203,41 +202,43 @@ for FONT in [
SIZE = 8 SIZE = 8
myFont = ImageFont.truetype(FONT, SIZE) myFont = ImageFont.truetype(FONT, SIZE)
M = maps["all"]
mainImage = Image.open("pguidemap.jpg") mainImage = Image.open("pguidemap.jpg")
#mainImage = Image.new("RGB", (M[W], M[H]), '#ffffff') if len(sys.argv) > 1 and sys.argv[1] == '--white':
mainImage = Image.new("RGB", mainImage.size, '#ffffff')
imgs = {} imgs = {}
draws = {} draws = {}
imgmaps = {} imgmaps = {}
factors = {}
for maparea in maps.keys(): for maparea in maps.keys():
m = maps[maparea] m = maps[maparea]
if maparea == "all": if maparea == "all":
img = mainImage img = mainImage
else: else:
l = int((m[L] - M[L]) / (M[R] - M[L]) * M[W]) M = maps['all']
t = int((m[T] - M[T]) / (M[B] - M[T]) * M[H]) W, H = mainImage.size
r = int((m[R] - M[L]) / (M[R] - M[L]) * M[W]) l = int((m[L] - M[L]) / (M[R] - M[L]) * W)
b = int((m[B] - M[T]) / (M[B] - M[T]) * M[H]) t = int((m[T] - M[T]) / (M[B] - M[T]) * H)
r = int((m[R] - M[L]) / (M[R] - M[L]) * W)
b = int((m[B] - M[T]) / (M[B] - M[T]) * H)
img = mainImage.crop((l, t, r, b)) img = mainImage.crop((l, t, r, b))
w = int(round(m[Z] * (m[R] - m[L]) / (M[R] - M[L]) * M[W])) w = int(round(m[ZOOM] * (m[R] - m[L]) / (M[R] - M[L]) * W))
h = int(round(m[Z] * (m[B] - m[T]) / (M[B] - M[T]) * M[H])) h = int(round(m[ZOOM] * (m[B] - m[T]) / (M[B] - M[T]) * H))
print "%s: H %d W %d" % (maparea, h, w) print "%s: H %d W %d" % (maparea, h, w)
img = img.resize((w, h), Image.BICUBIC) img = img.resize((w, h), Image.BICUBIC)
maps[maparea][H] = h
maps[maparea][W] = w
imgs[maparea] = img imgs[maparea] = img
draw = ImageDraw.Draw(img) draw = ImageDraw.Draw(img)
draw.setfont(myFont) draw.setfont(myFont)
draws[maparea] = draw draws[maparea] = draw
imgmaps[maparea] = [] imgmaps[maparea] = []
# Draw scale bar # Draw scale bar
m100 = int(100 / (m[R] - m[L]) * m[W]) m100 = int(100 / (m[R] - m[L]) * img.size[0])
draw.line([10, SIZE*3, 10, SIZE*2], fill='#000000') draw.line([10, SIZE*3, 10, SIZE*2], fill='#000000')
draw.line([10, SIZE*2, 10+m100, SIZE*2], fill='#000000') draw.line([10, SIZE*2, 10+m100, SIZE*2], fill='#000000')
draw.line([10+m100, SIZE * 3, 10+m100, SIZE*2], fill='#000000') draw.line([10+m100, SIZE * 3, 10+m100, SIZE*2], fill='#000000')
label = "100m" label = "100m"
draw.text([10 + (m100 - draw.textsize(label)[0]) / 2, SIZE/2], label, fill='#000000') draw.text([10 + (m100 - draw.textsize(label)[0]) / 2, SIZE/2], label, fill='#000000')
factors[maparea] = img.size[0] / (m[R] - m[L]), img.size[1] / (m[T] - m[B])
def mungecoord(x, y, mapcode): def mungecoord(x, y, mapcode):
# Top of Zinken is 73 1201 = dataset 34542 81967 # Top of Zinken is 73 1201 = dataset 34542 81967
@ -254,19 +255,24 @@ def mungecoord(x, y, mapcode):
# return (1073 + xoffset, 562 - yoffset) # return (1073 + xoffset, 562 - yoffset)
m = maps[mapcode] m = maps[mapcode]
return (x - m[L]) / (m[R] - m[L]) * m[W], (m[T] - y) / (m[T] - m[B]) * m[H] return ((x - m[L]) * factors[mapcode][0], (m[T] - y) * factors[mapcode][1])
def plot(loctuple, number, area, label): def plot(loctuple, number, area, label):
shortnumber = number.replace("&mdash;","") shortnumber = number.replace("&mdash;","")
if area in areacolours:
fillcol = areacolours[area]
else:
fillcol = 6
for maparea in maps.keys(): for maparea in maps.keys():
(x,y) = map(int, mungecoord(loctuple[0], loctuple[1], maparea)) (x,y) = map(int, mungecoord(loctuple[0], loctuple[1], maparea))
draw = draws[maparea] draw = draws[maparea]
imgmaps[maparea].append( [x-4, y-SIZE/2, x+4+draw.textsize(shortnumber)[0], y+SIZE/2, shortnumber, label] ) imgmaps[maparea].append( [x-4, y-SIZE/2, x+4+draw.textsize(shortnumber)[0], y+SIZE/2, shortnumber, label] )
draw.rectangle([(x+4, y-SIZE/2), (x+4+draw.textsize(shortnumber)[0], y+SIZE/2)], fill="#ffffff") draw.rectangle([(x+4, y-SIZE/2), (x+4+draw.textsize(shortnumber)[0], y+SIZE/2)], fill="#ffffff")
draw.text((x+6,y-SIZE/2), shortnumber, fill="#000000") draw.text((x+6,y-SIZE/2), shortnumber, fill="#000000")
draw.ellipse([(x-4,y-4),(x+4,y+4)], fill=areacolours[area], outline="#000000") draw.ellipse([(x-4,y-4),(x+4,y+4)], fill=fillcol, outline="#000000")
def writeout_imagemap(data, mapname): def writeout_imagemap(data, mapname):
# Munge the list of coordinates into a proper image map. # Munge the list of coordinates into a proper image map.
@ -374,6 +380,10 @@ for cave in cavetab:
htmlfile = file("../prospecting_guide.html", "w") htmlfile = file("../prospecting_guide.html", "w")
htmlfile.write("<html><head><title>Prospecting Guide</title>\n") htmlfile.write("<html><head><title>Prospecting Guide</title>\n")
htmlfile.write("<script lang=\"Javascript\"><!--\n");
for maparea in mapcodes:
htmlfile.write("bg%s = false;\n" % maparea);
htmlfile.write("//-->\n</script>\n");
htmlfile.write(""" htmlfile.write("""
<style type="text/css"> <style type="text/css">
.locn { font-size: x-small } .locn { font-size: x-small }
@ -388,8 +398,10 @@ htmlfile.write("<p><b>Notes:</b></p><ul><li>A marking status of \"Retag\" means
for maparea in mapcodes: for maparea in mapcodes:
filename = get_img_name(maparea) filename = get_img_name(maparea)
if maparea != "all": if maparea != "all":
htmlfile.write("<h3 id=\"idsubmap%s\">%s area detail</h3>\n" % (maparea, maps[maparea][D])) htmlfile.write("<h3 id=\"idsubmap%s\">%s area detail</h3>\n" % (maparea, maps[maparea][DESC]))
htmlfile.write("<p><img src=\"%s\" usemap=\"#map%s\" ismap=\"ismap\" /></p>\n" % (filename, maparea)) htmlfile.write("<button onclick=\"if (bg%s) img%s.src = '%s'; else img%s.src = '../noinfo/%s'; bg%s = !bg%s;\">Toggle Background</button>\n" % (maparea, maparea, filename, maparea, filename, maparea, maparea))
htmlfile.write("<p><img src=\"%s\" usemap=\"#map%s\" ismap=\"ismap\" name=\"img%s\"" % (filename, maparea, maparea))
htmlfile.write(" width=\"%d\" height=\"%d\" /></p>\n" % imgs[maparea].size)
cachednumber = "" cachednumber = ""
cachedarea = "" cachedarea = ""
@ -407,8 +419,6 @@ for maparea in maps.keys():
draws['all'].rectangle([l, t, l+textlen, t+SIZE+2], fill='#ffffff') draws['all'].rectangle([l, t, l+textlen, t+SIZE+2], fill='#ffffff')
draws['all'].text((l+2, t+1), text, fill="#000000") draws['all'].text((l+2, t+1), text, fill="#000000")
imgmaps['all'].append( [l, t, l+textlen, t+SIZE+2, "submap" + maparea, maparea + " subarea map"] ) imgmaps['all'].append( [l, t, l+textlen, t+SIZE+2, "submap" + maparea, maparea + " subarea map"] )
# draws['all'].rectangle([l, t, l+8, t+8], fill='#777777')
# imgmaps['all'].append( [l, t, l+8, t+8, "submap" + maparea, maparea + " subarea map"] )
draws['all'].rectangle([l, t, r, b], outline='#777777') draws['all'].rectangle([l, t, r, b], outline='#777777')
draws['all'].rectangle([l, t, l+textlen, t+SIZE+2], outline='#777777') draws['all'].rectangle([l, t, l+textlen, t+SIZE+2], outline='#777777')
@ -459,10 +469,7 @@ plot(positions["laser.0_1"], "LSR1", "6", "Laser Point 0/1")
plot(positions["laser.0_5"], "LSR5", "6", "Laser Point 0/5") plot(positions["laser.0_5"], "LSR5", "6", "Laser Point 0/5")
for (loctuple, number, area, label) in cavestoplot: for (loctuple, number, area, label) in cavestoplot:
try: plot(loctuple, number, area, label)
plot(loctuple, number, area, label)
except:
plot(loctuple, number, "6", label)
for area in areas: for area in areas:
if area: if area:

View File

@ -1,6 +1,10 @@
# Script to create a slightly more useful attempt # Script to create a slightly more useful attempt
# at a prospecting guide. # at a prospecting guide.
import sys
print "Don't run this script - use make-prospectingguide-new.py instead"
sys.exit(0)
areas = ['', '1a','1b','1c','1d', '2a', '2b', '2c', '2d', '3', '4', '5', '6','7', '8a', '8b', '8c', '8d', '9', '10', '11'] areas = ['', '1a','1b','1c','1d', '2a', '2b', '2c', '2d', '3', '4', '5', '6','7', '8a', '8b', '8c', '8d', '9', '10', '11']
areanames = { areanames = {

View File

@ -59,7 +59,7 @@ longest cave system CUCC has explored in Austria!) There's also at least
<h4>Surface and shallow work near Steinbr&uuml;ckenh&ouml;hle bivvy</h4> <h4>Surface and shallow work near Steinbr&uuml;ckenh&ouml;hle bivvy</h4>
<ul> <ul>
<li>There's dozens of holes in the vicinity of 204 that have been marked but never descended, or marked and partially descended but never properly explored or surveyed; these should be properly explored, and properly documented (ideally before we go and find yet more of them) &ndash; see section 2d of the <a href="../../handbook/prospecting_guide_short.html">Prospecting Guide</a>, and the <a href="../../noinfo/prospecting_guide.html">prospecting map</a> (needs the standard Expo password).</li> <li>There's dozens of holes in the vicinity of 204 that have been marked but never descended, or marked and partially descended but never properly explored or surveyed; these should be properly explored, and properly documented (ideally before we go and find yet more of them) &ndash; see section 2d of the <a href="../../handbook/prospecting_guide.html">Prospecting Guide</a>.</li>
<li>The area around the 204G/H/I entrances is interesting, and should be more thoroughly examined.</li> <li>The area around the 204G/H/I entrances is interesting, and should be more thoroughly examined.</li>
<li><a href="../../smkridge/239/239.html">Rock'n'Roll H&ouml;hle (239)</a>: Open lead over blind pit leading 204-wards.</li> <li><a href="../../smkridge/239/239.html">Rock'n'Roll H&ouml;hle (239)</a>: Open lead over blind pit leading 204-wards.</li>
</ul> </ul>