2
0
mirror of https://expo.survex.com/repositories/troggle/.git synced 2024-11-22 07:11:52 +00:00

improves stations srtm report

This commit is contained in:
Philip Sargent 2023-11-02 01:05:36 +02:00
parent 742ccb5f0b
commit cc4a7f04da
3 changed files with 201 additions and 178 deletions

View File

@ -75,16 +75,25 @@ class SurvexStation(models.Model):
return utmToLatLng(33, self.x, self.y, northernHemisphere=True)[1]
def srtm_alt(self):
return height_from_utm(self.x, self.y) # height, distance from reference point
"""Caches the srtm data so that searches are not done twice on the same page"""
if not hasattr(self,"srtm"):
self.srtm = height_from_utm(self.x, self.y) # height, distance from reference point
return self.srtm # (nearest point, nearest distance)
def srtm_diff(self):
alt, ref = height_from_utm(self.x, self.y) # height, distance from reference point
alt, ref = self.srtm_alt()
diff = alt - self.z
if diff >= 0:
diff_str = f"<span style='color:blue'>+{diff:.0f}</span>"
colour = "blue"
else:
diff_str = f"<span style='color:red'>{diff:.0f}</span>"
colour = "red"
if abs(diff) > 60:
weight = "bold"
else:
weight = "normal"
diff_str = f"<span style='color:{colour}; font-weight:{weight}'>{diff:.0f}</span>"
return diff_str, ref

View File

@ -24,7 +24,6 @@ It is a Global Object, see https://python-patterns.guide/python/module-globals/
troggle.utils.TROG
chaosmonkey(n) - used by survex import to regenerate some .3d files
save_carefully() - core function that saves troggle objects in the database
various git add/commit functions that need refactoring together
@ -279,60 +278,60 @@ def writetrogglefile(filepath, filecontent):
# not catching and re-raising any exceptions yet, inc. the stderr etc.,. We should do that.
def save_carefully(objectType, coUniqueAttribs={}, otherAttribs={}):
"""Looks up instance using coUniqueAttribs and carries out the following:
-if instance does not exist in DB: add instance to DB, return (new instance, True)
-if instance exists in DB and was modified using Troggle: do nothing, return (existing instance, False)
-if instance exists in DB and was not modified using Troggle: overwrite instance, return (instance, False)
# def save_carefully(objectType, coUniqueAttribs={}, otherAttribs={}):
# """Looks up instance using coUniqueAttribs and carries out the following:
# -if instance does not exist in DB: add instance to DB, return (new instance, True)
# -if instance exists in DB and was modified using Troggle: do nothing, return (existing instance, False)
# -if instance exists in DB and was not modified using Troggle: overwrite instance, return (instance, False)
The checking is accomplished using Django's get_or_create and the new_since_parsing boolean field
defined in core.models.TroggleModel.
# The checking is accomplished using Django's get_or_create and the new_since_parsing boolean field
# defined in core.models.TroggleModel.
We are not using new_since_parsing - it is a fossil from Aaron Curtis's design in 2006. So it is always false.
# We are not using new_since_parsing - it is a fossil from Aaron Curtis's design in 2006. So it is always false.
NOTE: this takes twice as long as simply creating a new object with the given values.
# NOTE: this takes twice as long as simply creating a new object with the given values.
As of Jan.2023 this function is not used anywhere in troggle.
# As of Jan.2023 this function is not used anywhere in troggle.
"""
try:
instance, created = objectType.objects.get_or_create(defaults=otherAttribs, **coUniqueAttribs)
except:
print(" !! - FAIL in SAVE CAREFULLY ===================", objectType)
print(" !! - -- objects.get_or_create()")
print(f" !! - coUniqueAttribs:{coUniqueAttribs}\n !! - otherAttribs:{otherAttribs}")
raise
if not created and not instance.new_since_parsing:
for k, v in list(
otherAttribs.items()
): # overwrite the existing attributes from the logbook text (except date and title)
setattr(instance, k, v)
try:
instance.save()
except:
print(" !! - SAVE CAREFULLY ===================", objectType)
print(" !! - -- instance.save()")
print(f" !! - coUniqueAttribs:{coUniqueAttribs}\n !! - otherAttribs:{otherAttribs}")
raise
try:
str(instance)
except:
pass
if created:
logging.info(str(instance) + " was just added to the database for the first time. \n")
# """
# try:
# instance, created = objectType.objects.get_or_create(defaults=otherAttribs, **coUniqueAttribs)
# except:
# print(" !! - FAIL in SAVE CAREFULLY ===================", objectType)
# print(" !! - -- objects.get_or_create()")
# print(f" !! - coUniqueAttribs:{coUniqueAttribs}\n !! - otherAttribs:{otherAttribs}")
# raise
# if not created and not instance.new_since_parsing:
# for k, v in list(
# otherAttribs.items()
# ): # overwrite the existing attributes from the logbook text (except date and title)
# setattr(instance, k, v)
# try:
# instance.save()
# except:
# print(" !! - SAVE CAREFULLY ===================", objectType)
# print(" !! - -- instance.save()")
# print(f" !! - coUniqueAttribs:{coUniqueAttribs}\n !! - otherAttribs:{otherAttribs}")
# raise
# try:
# str(instance)
# except:
# pass
# if created:
# logging.info(str(instance) + " was just added to the database for the first time. \n")
if not created and instance.new_since_parsing:
logging.info(
str(instance) + " has been modified using Troggle since parsing, so the current script left it as is. \n"
)
# if not created and instance.new_since_parsing:
# logging.info(
# str(instance) + " has been modified using Troggle since parsing, so the current script left it as is. \n"
# )
if not created and not instance.new_since_parsing:
logging.info(
" instance:<"
+ str(instance)
+ "> existed in the database unchanged since last parse. It have been overwritten."
)
return (instance, created)
# if not created and not instance.new_since_parsing:
# logging.info(
# " instance:<"
# + str(instance)
# + "> existed in the database unchanged since last parse. It have been overwritten."
# )
# return (instance, created)
"""The following is a Bard converted version of Radosts's MIT copyrighted Javascript on 2023-10-27
with hand-editing.
@ -352,13 +351,27 @@ def height_from_utm(easting, northing):
def find_nearest_point(points, target_point):
"""Returns the nearest point to a target point from a list of points."""
"""Returns the nearest point to a target point from a list of points.
In our dataset, the survey stations are all within 30m of an srtm reference point.
So we can safely ignore points more than 100m away in either x or y directions.
TO DO: store this list twice, once sorted by x and once sorted by y,
do a bounding box search for a set of nearby points before doing the exhaustive pythagorean distance search."""
nearest_distance_squared = float("inf")
nearest_point = None
x_target, y_target = target_point
for point in points:
x, y, z = point
if z < 0:
distance_squared = 1000000.0 # ie ignore it
else:
if x - x_target > 100:
distance_squared = 10000
elif y - y_target > 100:
distance_squared = 10000
else:
distance_squared = math.pow(x - x_target, 2) + math.pow(y - y_target, 2)
if distance_squared < nearest_distance_squared:
@ -397,13 +410,13 @@ rawheights = [[406264.72, 5278037.57, 873.53],
[407613.99, 5278008.61, 988.80],
[407663.96, 5278007.54, 997.86],
[407713.93, 5278006.46, 1006.82],
[407763.64, 5278005.12, -32721.21],
[407813.62, 5278004.05, -32721.21],
[407863.59, 5278002.98, -32721.21],
[407913.56, 5278001.90, -32721.21],
[407963.53, 5278000.83, -32721.21],
[408013.51, 5277999.76, -32721.21],
[408063.48, 5277998.69, -32721.21],
# [407763.64, 5278005.12, -32721.21],
# [407813.62, 5278004.05, -32721.21],
# [407863.59, 5278002.98, -32721.21],
# [407913.56, 5278001.90, -32721.21],
# [407963.53, 5278000.83, -32721.21],
# [408013.51, 5277999.76, -32721.21],
# [408063.48, 5277998.69, -32721.21],
[408113.72, 5277997.88, 985.80],
[408163.69, 5277996.81, 1033.79],
[408213.66, 5277995.74, 1055.53],
@ -546,14 +559,14 @@ rawheights = [[406264.72, 5278037.57, 873.53],
[407565.09, 5278059.66, 1013.11],
[407615.06, 5278058.58, 1013.02],
[407665.03, 5278057.51, 1024.36],
[407714.74, 5278056.17, -32721.21],
[407764.72, 5278055.09, -32721.21],
[407814.69, 5278054.02, -32721.21],
[407864.66, 5278052.95, -32721.21],
[407914.63, 5278051.88, -32721.21],
[407964.61, 5278050.80, -32721.21],
[408014.58, 5278049.73, -32721.21],
[408064.55, 5278048.66, -32721.21],
# [407714.74, 5278056.17, -32721.21],
# [407764.72, 5278055.09, -32721.21],
# [407814.69, 5278054.02, -32721.21],
# [407864.66, 5278052.95, -32721.21],
# [407914.63, 5278051.88, -32721.21],
# [407964.61, 5278050.80, -32721.21],
# [408014.58, 5278049.73, -32721.21],
# [408064.55, 5278048.66, -32721.21],
[408114.79, 5278047.86, 1081.46],
[408164.76, 5278046.78, 1076.48],
[408214.74, 5278045.71, 1088.82],
@ -696,14 +709,14 @@ rawheights = [[406264.72, 5278037.57, 873.53],
[407566.16, 5278109.63, 1040.23],
[407616.13, 5278108.56, 1049.02],
[407666.11, 5278107.48, 1072.19],
[407715.82, 5278106.14, -32721.21],
[407765.79, 5278105.07, -32721.21],
[407815.76, 5278103.99, -32721.21],
[407865.73, 5278102.92, -32721.21],
[407915.71, 5278101.85, -32721.21],
[407965.68, 5278100.78, -32721.21],
[408015.65, 5278099.70, -32721.21],
[408065.62, 5278098.63, -32721.21],
# [407715.82, 5278106.14, -32721.21],
# [407765.79, 5278105.07, -32721.21],
# [407815.76, 5278103.99, -32721.21],
# [407865.73, 5278102.92, -32721.21],
# [407915.71, 5278101.85, -32721.21],
# [407965.68, 5278100.78, -32721.21],
# [408015.65, 5278099.70, -32721.21],
# [408065.62, 5278098.63, -32721.21],
[408115.86, 5278097.83, 1128.52],
[408165.84, 5278096.76, 1116.52],
[408215.81, 5278095.68, 1118.92],
@ -846,12 +859,12 @@ rawheights = [[406264.72, 5278037.57, 873.53],
[407567.24, 5278159.60, 1120.59],
[407617.21, 5278158.53, 1131.95],
[407667.18, 5278157.46, 1179.59],
[407716.89, 5278156.11, -32721.21],
[407766.86, 5278155.04, -32721.21],
[407816.83, 5278153.97, -32721.21],
[407866.81, 5278152.89, -32721.21],
[407916.78, 5278151.82, -32721.21],
[407966.75, 5278150.75, -32721.21],
# [407716.89, 5278156.11, -32721.21],
# [407766.86, 5278155.04, -32721.21],
# [407816.83, 5278153.97, -32721.21],
# [407866.81, 5278152.89, -32721.21],
# [407916.78, 5278151.82, -32721.21],
# [407966.75, 5278150.75, -32721.21],
[408016.99, 5278149.95, 1195.85],
[408066.96, 5278148.88, 1176.74],
[408116.94, 5278147.80, 1161.64],
@ -996,12 +1009,12 @@ rawheights = [[406264.72, 5278037.57, 873.53],
[407568.31, 5278209.58, 1204.19],
[407618.28, 5278208.50, 1215.72],
[407668.25, 5278207.43, 1228.74],
[407717.96, 5278206.09, -32721.21],
[407767.93, 5278205.01, -32721.21],
[407817.91, 5278203.94, -32721.21],
[407867.88, 5278202.87, -32721.21],
[407917.85, 5278201.79, -32721.21],
[407967.82, 5278200.72, -32721.21],
# [407717.96, 5278206.09, -32721.21],
# [407767.93, 5278205.01, -32721.21],
# [407817.91, 5278203.94, -32721.21],
# [407867.88, 5278202.87, -32721.21],
# [407917.85, 5278201.79, -32721.21],
# [407967.82, 5278200.72, -32721.21],
[408018.06, 5278199.92, 1232.65],
[408068.04, 5278198.85, 1206.84],
[408118.01, 5278197.78, 1187.56],
@ -1146,11 +1159,11 @@ rawheights = [[406264.72, 5278037.57, 873.53],
[407569.38, 5278259.55, 1238.53],
[407619.35, 5278258.48, 1249.98],
[407669.33, 5278257.40, 1259.04],
[407719.03, 5278256.06, -32721.21],
[407769.01, 5278254.99, -32721.21],
[407818.98, 5278253.91, -32721.21],
[407868.95, 5278252.84, -32721.21],
[407918.92, 5278251.77, -32721.21],
# [407719.03, 5278256.06, -32721.21],
# [407769.01, 5278254.99, -32721.21],
# [407818.98, 5278253.91, -32721.21],
# [407868.95, 5278252.84, -32721.21],
# [407918.92, 5278251.77, -32721.21],
[407969.16, 5278250.97, 1278.95],
[408019.14, 5278249.89, 1254.62],
[408069.11, 5278248.82, 1233.50],
@ -1296,11 +1309,11 @@ rawheights = [[406264.72, 5278037.57, 873.53],
[407570.45, 5278309.52, 1262.04],
[407620.43, 5278308.45, 1273.13],
[407670.40, 5278307.38, 1284.45],
[407720.11, 5278306.03, -32721.21],
[407770.08, 5278304.96, -32721.21],
[407820.05, 5278303.89, -32721.21],
[407870.02, 5278302.81, -32721.21],
[407920.00, 5278301.74, -32721.21],
# [407720.11, 5278306.03, -32721.21],
# [407770.08, 5278304.96, -32721.21],
# [407820.05, 5278303.89, -32721.21],
# [407870.02, 5278302.81, -32721.21],
# [407920.00, 5278301.74, -32721.21],
[407970.24, 5278300.94, 1288.09],
[408020.21, 5278299.87, 1273.43],
[408070.18, 5278298.79, 1257.89],
@ -3401,7 +3414,7 @@ rawheights = [[406264.72, 5278037.57, 873.53],
[407835.34, 5279003.78, 1585.78],
[407885.31, 5279002.71, 1571.14],
[407935.29, 5279001.63, 1564.67],
[407984.99, 5279000.29, -32721.22],
# [407984.99, 5279000.29, -32721.22],
[408035.23, 5278999.49, 1551.80],
[408085.20, 5278998.41, 1535.38],
[408135.18, 5278997.34, 1538.16],
@ -3551,7 +3564,7 @@ rawheights = [[406264.72, 5278037.57, 873.53],
[407836.41, 5279053.75, 1630.52],
[407886.39, 5279052.68, 1627.79],
[407936.36, 5279051.61, 1600.36],
[407986.06, 5279050.26, -32721.22],
# [407986.06, 5279050.26, -32721.22],
[408036.30, 5279049.46, 1583.25],
[408086.28, 5279048.39, 1574.44],
[408136.25, 5279047.32, 1575.25],
@ -3701,7 +3714,7 @@ rawheights = [[406264.72, 5278037.57, 873.53],
[407837.49, 5279103.73, 1674.12],
[407887.46, 5279102.65, 1673.21],
[407937.43, 5279101.58, 1637.87],
[407987.13, 5279100.23, -32721.22],
# [407987.13, 5279100.23, -32721.22],
[408037.38, 5279099.43, 1620.63],
[408087.35, 5279098.36, 1664.90],
[408137.32, 5279097.29, 1642.14],
@ -3740,9 +3753,9 @@ rawheights = [[406264.72, 5278037.57, 873.53],
[409786.41, 5279061.88, 1089.81],
[409836.39, 5279060.81, 1039.36],
[409886.36, 5279059.73, 974.61],
[409936.07, 5279058.39, -32721.23],
[409986.04, 5279057.32, -32721.23],
[410036.01, 5279056.24, -32721.23],
# [409936.07, 5279058.39, -32721.23],
# [409986.04, 5279057.32, -32721.23],
# [410036.01, 5279056.24, -32721.23],
[410086.25, 5279055.44, 872.81],
[410136.22, 5279054.37, 875.58],
[410186.19, 5279053.30, 879.97],
@ -3851,7 +3864,7 @@ rawheights = [[406264.72, 5278037.57, 873.53],
[407838.56, 5279153.70, 1735.22],
[407888.53, 5279152.63, 1719.94],
[407938.51, 5279151.55, 1704.65],
[407988.21, 5279150.20, -32721.22],
# [407988.21, 5279150.20, -32721.22],
[408038.45, 5279149.41, 1659.68],
[408088.42, 5279148.33, 1718.80],
[408138.40, 5279147.26, 1690.14],
@ -3890,9 +3903,9 @@ rawheights = [[406264.72, 5278037.57, 873.53],
[409787.49, 5279111.85, 1131.36],
[409837.46, 5279110.78, 1091.02],
[409887.43, 5279109.71, 1044.32],
[409937.14, 5279108.36, -32721.23],
[409987.11, 5279107.29, -32721.23],
[410037.08, 5279106.22, -32721.23],
# [409937.14, 5279108.36, -32721.23],
# [409987.11, 5279107.29, -32721.23],
# [410037.08, 5279106.22, -32721.23],
[410087.32, 5279105.41, 883.61],
[410137.29, 5279104.34, 892.85],
[410187.27, 5279103.27, 898.81],
@ -4001,7 +4014,7 @@ rawheights = [[406264.72, 5278037.57, 873.53],
[407839.63, 5279203.67, 1775.12],
[407889.61, 5279202.60, 1753.82],
[407939.58, 5279201.53, 1738.66],
[407989.28, 5279200.18, -32721.22],
# [407989.28, 5279200.18, -32721.22],
[408039.52, 5279199.38, 1702.16],
[408089.50, 5279198.31, 1719.98],
[408139.47, 5279197.23, 1709.71],
@ -4040,11 +4053,11 @@ rawheights = [[406264.72, 5278037.57, 873.53],
[409788.56, 5279161.83, 1172.86],
[409838.53, 5279160.75, 1143.36],
[409888.51, 5279159.68, 1118.90],
[409938.21, 5279158.33, -32721.23],
[409988.18, 5279157.26, -32721.23],
[410038.16, 5279156.19, -32721.23],
[410088.13, 5279155.12, -32721.23],
[410138.10, 5279154.04, -32721.23],
# [409938.21, 5279158.33, -32721.23],
# [409988.18, 5279157.26, -32721.23],
# [410038.16, 5279156.19, -32721.23],
# [410088.13, 5279155.12, -32721.23],
# [410138.10, 5279154.04, -32721.23],
[410188.34, 5279153.24, 946.97],
[410238.31, 5279152.17, 903.92],
[410288.28, 5279151.09, 918.48],
@ -4052,9 +4065,9 @@ rawheights = [[406264.72, 5278037.57, 873.53],
[410388.23, 5279148.95, 907.40],
[410438.20, 5279147.88, 901.78],
[410488.17, 5279146.80, 891.89],
[410537.88, 5279145.46, -32721.24],
[410587.85, 5279144.39, -32721.24],
[410637.82, 5279143.31, -32721.24],
# [410537.88, 5279145.46, -32721.24],
# [410587.85, 5279144.39, -32721.24],
# [410637.82, 5279143.31, -32721.24],
[410688.06, 5279142.51, 895.22],
[410738.04, 5279141.44, 901.91],
[410788.01, 5279140.37, 896.06],
@ -4188,13 +4201,13 @@ rawheights = [[406264.72, 5278037.57, 873.53],
[409689.69, 5279213.94, 1257.25],
[409739.66, 5279212.87, 1221.70],
[409789.63, 5279211.80, 1203.87],
[409839.34, 5279210.45, -32721.23],
[409889.31, 5279209.38, -32721.23],
[409939.28, 5279208.31, -32721.23],
[409989.26, 5279207.23, -32721.23],
[410039.23, 5279206.16, -32721.23],
[410089.20, 5279205.09, -32721.23],
[410139.17, 5279204.02, -32721.24],
# [409839.34, 5279210.45, -32721.23],
# [409889.31, 5279209.38, -32721.23],
# [409939.28, 5279208.31, -32721.23],
# [409989.26, 5279207.23, -32721.23],
# [410039.23, 5279206.16, -32721.23],
# [410089.20, 5279205.09, -32721.23],
# [410139.17, 5279204.02, -32721.24],
[410189.41, 5279203.21, 1025.28],
[410239.38, 5279202.14, 939.10],
[410289.36, 5279201.07, 948.61],
@ -4202,9 +4215,9 @@ rawheights = [[406264.72, 5278037.57, 873.53],
[410389.30, 5279198.92, 926.96],
[410439.27, 5279197.85, 913.99],
[410489.25, 5279196.78, 904.64],
[410538.95, 5279195.43, -32721.24],
[410588.93, 5279194.36, -32721.24],
[410638.90, 5279193.29, -32721.24],
# [410538.95, 5279195.43, -32721.24],
# [410588.93, 5279194.36, -32721.24],
# [410638.90, 5279193.29, -32721.24],
[410689.14, 5279192.48, 932.09],
[410739.11, 5279191.41, 932.24],
[410789.08, 5279190.34, 907.04],
@ -4338,23 +4351,23 @@ rawheights = [[406264.72, 5278037.57, 873.53],
[409690.76, 5279263.92, 1291.99],
[409740.74, 5279262.84, 1242.29],
[409790.71, 5279261.77, 1223.13],
[409840.41, 5279260.43, -32721.23],
[409890.38, 5279259.35, -32721.23],
[409940.36, 5279258.28, -32721.23],
[409990.33, 5279257.21, -32721.23],
[410040.30, 5279256.13, -32721.23],
[410090.27, 5279255.06, -32721.24],
[410140.25, 5279253.99, -32721.24],
# [409840.41, 5279260.43, -32721.23],
# [409890.38, 5279259.35, -32721.23],
# [409940.36, 5279258.28, -32721.23],
# [409990.33, 5279257.21, -32721.23],
# [410040.30, 5279256.13, -32721.23],
# [410090.27, 5279255.06, -32721.24],
# [410140.25, 5279253.99, -32721.24],
[410190.49, 5279253.19, 1207.21],
[410240.46, 5279252.11, 1037.81],
[410290.43, 5279251.04, 992.97],
[410340.40, 5279249.97, 973.32],
[410390.37, 5279248.89, 944.57],
[410440.35, 5279247.82, 921.81],
[410490.05, 5279246.48, -32721.24],
[410540.03, 5279245.40, -32721.24],
[410590.00, 5279244.33, -32721.24],
[410639.97, 5279243.26, -32721.24],
# [410490.05, 5279246.48, -32721.24],
# [410540.03, 5279245.40, -32721.24],
# [410590.00, 5279244.33, -32721.24],
# [410639.97, 5279243.26, -32721.24],
[410690.21, 5279242.46, 1017.96],
[410740.18, 5279241.38, 999.64],
[410790.15, 5279240.31, 954.22],
@ -4487,24 +4500,24 @@ rawheights = [[406264.72, 5278037.57, 873.53],
[409641.86, 5279314.96, 1384.08],
[409691.84, 5279313.89, 1325.11],
[409741.81, 5279312.82, 1278.84],
[409791.51, 5279311.47, -32721.23],
[409841.49, 5279310.40, -32721.23],
[409891.46, 5279309.32, -32721.23],
[409941.43, 5279308.25, -32721.23],
[409991.40, 5279307.18, -32721.23],
[410041.37, 5279306.11, -32721.24],
[410091.35, 5279305.03, -32721.24],
[410141.32, 5279303.96, -32721.24],
# [409791.51, 5279311.47, -32721.23],
# [409841.49, 5279310.40, -32721.23],
# [409891.46, 5279309.32, -32721.23],
# [409941.43, 5279308.25, -32721.23],
# [409991.40, 5279307.18, -32721.23],
# [410041.37, 5279306.11, -32721.24],
# [410091.35, 5279305.03, -32721.24],
# [410141.32, 5279303.96, -32721.24],
[410191.56, 5279303.16, 1240.99],
[410241.53, 5279302.09, 1113.21],
[410291.50, 5279301.01, 1045.44],
[410341.48, 5279299.94, 1011.60],
[410391.45, 5279298.87, 971.49],
[410441.42, 5279297.79, 927.43],
[410491.13, 5279296.45, -32721.24],
[410541.10, 5279295.38, -32721.24],
[410591.07, 5279294.30, -32721.24],
[410641.04, 5279293.23, -32721.24],
# [410491.13, 5279296.45, -32721.24],
# [410541.10, 5279295.38, -32721.24],
# [410591.07, 5279294.30, -32721.24],
# [410641.04, 5279293.23, -32721.24],
[410691.28, 5279292.43, 1048.70],
[410741.25, 5279291.36, 1027.23],
[410791.23, 5279290.28, 994.22],
@ -4637,24 +4650,24 @@ rawheights = [[406264.72, 5278037.57, 873.53],
[409642.94, 5279364.94, 1408.99],
[409692.91, 5279363.86, 1357.26],
[409742.88, 5279362.79, 1331.53],
[409792.59, 5279361.44, -32721.23],
[409842.56, 5279360.37, -32721.23],
[409892.53, 5279359.30, -32721.23],
[409942.50, 5279358.22, -32721.23],
[409992.48, 5279357.15, -32721.24],
[410042.45, 5279356.08, -32721.24],
[410092.42, 5279355.01, -32721.24],
[410142.39, 5279353.93, -32721.24],
# [409792.59, 5279361.44, -32721.23],
# [409842.56, 5279360.37, -32721.23],
# [409892.53, 5279359.30, -32721.23],
# [409942.50, 5279358.22, -32721.23],
# [409992.48, 5279357.15, -32721.24],
# [410042.45, 5279356.08, -32721.24],
# [410092.42, 5279355.01, -32721.24],
# [410142.39, 5279353.93, -32721.24],
[410192.63, 5279353.13, 1228.75],
[410242.60, 5279352.06, 1162.16],
[410292.58, 5279350.99, 1107.76],
[410342.55, 5279349.91, 1060.34],
[410392.52, 5279348.84, 1006.63],
[410442.49, 5279347.77, 968.38],
[410492.20, 5279346.42, -32721.24],
[410542.17, 5279345.35, -32721.24],
[410592.14, 5279344.28, -32721.24],
[410642.12, 5279343.20, -32721.24],
# [410492.20, 5279346.42, -32721.24],
# [410542.17, 5279345.35, -32721.24],
# [410592.14, 5279344.28, -32721.24],
# [410642.12, 5279343.20, -32721.24],
[410692.36, 5279342.40, 1065.13],
[410742.33, 5279341.33, 1045.15],
[410792.30, 5279340.26, 1021.80],
@ -4787,10 +4800,10 @@ rawheights = [[406264.72, 5278037.57, 873.53],
[409644.01, 5279414.91, 1441.79],
[409693.98, 5279413.84, 1408.60],
[409743.96, 5279412.76, 1399.64],
[409793.66, 5279411.42, -32721.23],
[409843.63, 5279410.34, -32721.23],
[409893.60, 5279409.27, -32721.23],
[409943.58, 5279408.20, -32721.24],
# [409793.66, 5279411.42, -32721.23],
# [409843.63, 5279410.34, -32721.23],
# [409893.60, 5279409.27, -32721.23],
# [409943.58, 5279408.20, -32721.24],
[409993.82, 5279407.40, 1330.74],
[410043.79, 5279406.32, 1308.57],
[410093.76, 5279405.25, 1286.75],
@ -4801,8 +4814,8 @@ rawheights = [[406264.72, 5278037.57, 873.53],
[410343.62, 5279399.89, 1118.54],
[410393.59, 5279398.81, 1069.38],
[410443.57, 5279397.74, 1094.48],
[410493.27, 5279396.39, -32721.24],
[410543.24, 5279395.32, -32721.24],
# [410493.27, 5279396.39, -32721.24],
# [410543.24, 5279395.32, -32721.24],
[410593.48, 5279394.52, 1103.69],
[410643.46, 5279393.45, 1096.60],
[410693.43, 5279392.37, 1083.45],
@ -4937,10 +4950,10 @@ rawheights = [[406264.72, 5278037.57, 873.53],
[409645.08, 5279464.88, 1476.78],
[409695.06, 5279463.81, 1466.18],
[409745.03, 5279462.74, 1468.93],
[409794.73, 5279461.39, -32721.23],
[409844.70, 5279460.31, -32721.23],
[409894.68, 5279459.24, -32721.24],
[409944.65, 5279458.17, -32721.24],
# [409794.73, 5279461.39, -32721.23],
# [409844.70, 5279460.31, -32721.23],
# [409894.68, 5279459.24, -32721.24],
# [409944.65, 5279458.17, -32721.24],
[409994.89, 5279457.37, 1372.67],
[410044.86, 5279456.30, 1350.46],
[410094.83, 5279455.22, 1325.97],
@ -4951,8 +4964,8 @@ rawheights = [[406264.72, 5278037.57, 873.53],
[410344.70, 5279449.86, 1182.03],
[410394.67, 5279448.79, 1152.05],
[410444.64, 5279447.71, 1156.24],
[410494.34, 5279446.37, -32721.24],
[410544.32, 5279445.29, -32721.24],
# [410494.34, 5279446.37, -32721.24],
# [410544.32, 5279445.29, -32721.24],
[410594.56, 5279444.49, 1129.75],
[410644.53, 5279443.42, 1121.23],
[410694.50, 5279442.35, 1103.86],

View File

@ -7,7 +7,7 @@
<p>This next table is of all the survex stations in troggle: i.e. only those survey stations which have been identified with an Entrance by manually editing the Entrance data.
<table cellpadding="6" cellspacing="8">
<tr><th>Survex Station</th><th>x</th><th>y</th><th>lat.</th><th>long.</th><th>alt</th><th>SRTM alt</th><th>Used on ent</th></tr>
<tr><th>Survex Station</th><th>x</th><th>y</th><th>lat.</th><th>long.</th><th>alt</th><th>SRTM alt</th><th>SRTM ref</th><th>Used on ent</th></tr>
{% for s in stations %}
<tr>
<td style="text-align:left; width:240px"> {{s.name|safe}} </td>
@ -17,7 +17,8 @@
<td style="text-align:right; width:90px"> <em>{{s.long|floatformat:6}} </em></td>
<td style="text-align:right; width:90px"> {{s.z|floatformat:0}} </td>
<td style="text-align:right; width:90px"> {{s.srtm_diff.0|safe}} </td>
<td style="text-align:right;" > {{s.entrance|safe}} </td>
<td style="text-align:right; width:90px"> {{s.srtm_diff.1|floatformat:0}}m <small>away</small></td>
<td style="text-align:right;" > <a href="/cave/{{s.entrance.firstcave|safe}}">{{s.entrance|safe}}</a> </td>
</tr>
{% empty %}
<td colspan="3"> NO STATION DATA - This is due to survex (cavern) failing on the entire dataset.
@ -31,7 +32,7 @@
{% endfor %}
</table>
<p>The SRTM altitude is that measured at a nearby reference point. The horizontal distance between the survey station and the SRTM reference point is shown in the "SRTM ref" column. It is always less than 35m for our dataset. Differences between teh recorded altitude and the SRTM altitude are in <b>bold</b> if the discrepancy is more than 60m.
<p>
Coordinate systems in Austria are explained in:<br>