• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

Automatische Geländehöhenabfrage?

Sir Cachelot

Geoguru
Gibt es eine Möglichkeit die Geländehöhe über NN automatisch abzufragen über die Koords?
So dass man nicht immer bei GE reinschauen muss?
 

-tiger-

Geowizard
Meinst du pe Software auf dem PC? Oder draußen im Gelände? Zumindest indirekt ist das per PC möglich. Für die Höhendaten gibts den SRTM Datensatz, abfragen kann man die Daten z.B. mit GRASS GIS. Links zu den relevanten Seiten gibts bei Google, ist natürlich alles kostenlos verwendbar.

Tiger
 

-tiger-

Geowizard
Bau dir aus den besagten Tools eine Web-Applikation und schon klappts ;)

...könnt aber auch gut sein, daß das schon jemand gemacht hat, ist mir allerdings nicht bekannt.
 

huirad

Geocacher
Meinst Du sowas http://www.earthtools.org/height/49.345/12.658 per web Abfrage?

Ich habe mir zur lokalen Auswertung der SRTM Files auch ein kurzes perl script geschrieben:
Code:
#Höhendaten aus SRTM Files
#1.) Download Höhendaten von ftp://e0srp01u.ecs.nasa.gov/srtm/version2/SRTM3/Eurasia
#2.) Unzip Höhendaten
#3.) Dieses Perl Script aus gleichem Verzeichnis starten
#usage: perl srtm_height.pl lat lon
#Online Check per http://www.earthtools.org/webservices.htm, z.B. http://www.earthtools.org/height/49/12

$numArgs = $#ARGV + 1;
if ($numArgs < 2) 
{
  printf "usage: perl srtm_height.pl lat lon";
  exit;
}

#input
my $lat=$ARGV[0];
my $lon=$ARGV[1];

#lower left corner
my $ll_lat=int($lat);
my $ll_lon=int($lon);

#filename
my $filename = "";
if ($ll_lat >= 0) { $filename = "N"; } else {$filename = "S"; };
$filename.=sprintf("%02d",abs($ll_lat));
if ($ll_lon >= 0) { $filename .= "E"; } else {$filename .= "W"; };
$filename.=sprintf("%03d.hgt",abs($ll_lon));
#printf ("%s\n", $filename);

#read file in one big array
open(FILE, $filename);
binmode(FILE);
my $buffer;
my $num_bytes = 1201*1201*2;
read (FILE, $buffer, $num_bytes);
close(FILE);

#calculate offset, see ftp://e0srp01u.ecs.nasa.gov/srtm/version2/Documentation/SRTM_Topo.pdf
my $row_offset = ( ($ll_lat+1.0-$lat)*1200.0);
#printf ("%f\n", $row_offset);
$row_offset = int($row_offset+0.5); #round
my $col_offset = ( ($lon-$ll_lon)*1200.0);
#printf ("%f\n", $col_offset);
$col_offset = int($col_offset+0.5); #round
my $byte_offset = $row_offset*1201+$col_offset;
#printf ("%f\n", $byte_offset);

#get height from buffer
my $height = vec($buffer, $byte_offset, 16);
print $height;
 
Oben