![]() |
GP(S)-Höhendaten aus Internet ermitteln
Hallo,
ich benutze Delphi schon seit längerem, habe mich jedoch nicht mit dem Zugriff aufs Internet beschäftigt. Momentan schreibe ich ein Programm zur Auswertung von GPS-Daten. Häufig fehlen in GPS-Dateien (GPX) die Höhenangaben. Die Höhenangaben könne z.B. im Internet unter < ![]() Das ufert bei häufiger Anwendung in Klick-Orgien aus und schreit nach Automatisierung und geht nur für Dateien. Auf einer weiteren Homepage < ![]() ![]() Meine Vorstellung ist eine Funktion ähnlich im Script - halt nur in Delphi - so daß bei Übergabe der Geo-Koordinaten die Höhendaten über das Internet ermittelt werden. Perl : my $response = $ua->get('http://ws.geonames.org/srtm3?lat='.$point->{'lat'}.'&lng='.$point->{'lon'}); Hat jemand eine Idee? Gruß DelphiFan2008 Anmerkung : Ich verwende TurboDelphi 2006 |
Re: GP(S)-Höhendaten aus Internet ermitteln
my $response = $ua->get('http://ws.geonames.org/srtm3?lat='.$point->{'lat'}.'&lng='.$point->{'lon'});
Ich würde es so versuchen:
Delphi-Quellcode:
Vorausgesetzt lat und lon sind FloatWerte.
sResponse := idHttp.get('http://ws.geonames.org/srtm3?lat='+FloatToStr(lat)+'&lng='+floatToStr(lon));
idHttp ist die Instanz der Klasse TidHttp. Grüße Klaus |
Re: GP(S)-Höhendaten aus Internet ermitteln
Hallo Klaus01,
danke für deine "super" schnelle Antwort - Code funktioniert nach erstem Test hervorragen. Werde noch etwas ausbauen. Test-Programm
Delphi-Quellcode:
Danke und Gruß DelphiFan2008
function StrRepChar(Strg:String;ch1,ch2:Char):String;
var i : integer; begin for i:=1 to Length(Strg) do if(Strg[i]=ch1) then Strg[i]:=ch2; result := Strg; end; function GetNumString( Strg:String ):Double; var i : integer; s : String; begin s := ''; for i:=1 to Length(Strg) do if(Strg[i] in ['0'..'9']) then s := s + Strg[i]; result := StrToFloatDef( s,0.0 ); end; procedure TForm1.Button1Click(Sender: TObject); var idHttp : TidHttp; sResponse,slat,slon : String; lat,lon,alt : Double; begin idHttp := TidHttp.Create; // München Allianz-Arena, ganz grob lat := 48.12; lon := 11.37; slat := StrRepChar( FloatToStr( lat ),Decimalseparator,'.' ); slon := StrRepChar( FloatToStr( lon ),Decimalseparator,'.' ); sResponse := idHttp.get('http://ws.geonames.org/srtm3?lat='+slat+'&lng='+slon); alt := GetNumString( sResponse ); Caption := Format('[lat=%f][lat=%f][alt=%f]',[lat,lon,alt] ); idHttp.Free; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz