|
|
Aus Matlab an google Maps übergeben |
|
Sco |

Forum-Meister
|
 |
Beiträge: 699
|
 |
|
 |
Anmeldedatum: 15.08.10
|
 |
|
 |
Wohnort: Dundee
|
 |
|
 |
Version: 2008a, 2010a
|
 |
|
|
 |
|
Verfasst am: 23.01.2011, 17:29
Titel:
|
 |
|
 |
|
Hallo mal wieder
1. Leider habe ich in meinem zuvor geposteten Code einen BUG gefuden (geschuldet meiner Unwissenheit bezüglich der lat, long Koordinaten). Da es auch negative Koordinaten gibt, muss die folgende Zeile geändert werden:
Außerdem hatte ich mir nach deinem letzten Post mit dem Nasa Daten so gedacht, dass es doch auch möglich sein muss die GetSRTM-Funktion aus der FEX automatisch zu benutzen. D.h., dass der User nicht die Nasa Daten schon irgendwo auf dem PC gespeichert haben muss (was sehr unpraktikabel ist, da er ja davor nicht weisst wie Sie heissen bzw. welche Route er vielleicht möchte), sondern dass sie je nach nach Route automatisch gefunden, runtergeladen, entpackt werden und somit sofort (ohne User-Interaktion) verwendet werden können!
Ich habe dies durch eine abgeänderte GetSRTM-Funktion (GetSRTM_new) umgesetzt. Diese beeinhaltet zudem noch folgende Features:
- Ich habe alle Fehler der Funktion GetSRTM, die in den Kommentaren der FEX (http://www.mathworks.com/matlabcentral/fileexchange/5544-getsrtmdata) gepostet wurden umgesetzt. Im speziellen handelt es sich dabei um die Postings vom 22 Jul 2010 und 13 Jan 2011. Ohne diese Berichtigungen arbeitet die Funktion bei gewissen Eingaben KOMPLETT FALSCH!
- wenn die SRTM-File für einen bestimmten Abschnitt der Route nicht online verfügbar sein sollte, kann der User entscheiden ob er die Höhendaten für diesen Abschnitt (also für diesen einen SRTM-File) von http://ws.geonames.org/ runterladen möchte.
- Die Abfrage der Ergebnisse von http://ws.geonames.org/ wird überprüft (d.h. keine NaN's mehr als Ergebnis möglich, aufgrund der Serverüberlastung). Sollte der Server zu lange überlastet sein kann das Programm abgebrochen werden (Über zuvor angegebene Aufrufwiederholungen-Variable,--> siehe Kommentare in Funktion)
- einige kleineren Verbesserungen, z.B. bricht die Funkton nicht mehr mit den error Befehl ab (weil dies auch gleich die ganze Funktion beendet), sondern über return Befehle. Ansonsten einfach mal die Kommentare durchschauen.
Ich habe die Funktionen umfassend getestet und hoffe, dass keine Fehler mehr enthalten sind. Die Berechnung der Koordinaten von z.B. New York nach Los Angeles dauerte etwa 15 min, was in Anbetracht der Datenmengen und Anzahl zu verarbeitender SRTM files mir als ok erscheint (natürlich geht es schneller wenn die SRTM-files bereits vorhanden sind und nicht erst noch runtergeladen,entpackt... werden müssen).
Da den Code zu Posten wohl die Seite sprengen würde, hänge ich die beiden Funktionen mit an. Auch die main Funktion habe ich ein wenig abgeändert. Also spiel doch einfach einmal ein wenig damit rum und gib ein kurzes Feedback. Ansonsten natürlich viel Glück bei deinen Klausuren
MFG
Sco
Beschreibung: |
|
 Download |
Dateiname: |
main.m |
Dateigröße: |
1.38 KB |
Heruntergeladen: |
537 mal |
Beschreibung: |
|
 Download |
Dateiname: |
GetSRTMData_new.m |
Dateigröße: |
8.22 KB |
Heruntergeladen: |
536 mal |
|
|
|
|
|
paul87 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 21
|
 |
|
 |
Anmeldedatum: 02.01.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.01.2011, 18:02
Titel:
|
 |
Hallo,
habe mir die Funktion noch nicht weiter angesehen. Die kleinen Fehler aus den Kommentaren hatte ich auch verbessert, aber mit deinen zusätzlichen Code ist die Funktion sicherlich noch besser.
Eine Frage stellt sich mir dann. Wird auch vorher überprüft, ob die SRTM Datei schon vorhanden ist, oder wird jedes mal eine neue Datei heruntergeladen?
Ansonsten erstmal wirklich super vielen lieben Dank für deine Arbeit und Mühe. Ich werde mich Anfang Februar wieder dran setzen und weiter machen. Wenn ich dann mal fertig bin oder nicht weiter weiß, dann melde ich mich wieder bei dir Ich lass dir auch das fertige Programm zukommen, wenn du es bis dahin nicht schon selbst fertig hast
Einen schönen Sonntag noch!
|
|
|
Sco |

Forum-Meister
|
 |
Beiträge: 699
|
 |
|
 |
Anmeldedatum: 15.08.10
|
 |
|
 |
Wohnort: Dundee
|
 |
|
 |
Version: 2008a, 2010a
|
 |
|
|
 |
|
Verfasst am: 23.01.2011, 20:27
Titel:
|
 |
Hallo,
Zitat: |
Wird auch vorher überprüft, ob die SRTM Datei schon vorhanden ist, oder wird jedes mal eine neue Datei heruntergeladen?
|
Natürlich wird erstmal geschaut ob die SRTM-Datei schon im zuvor ausgewählten Ordner ist und nur falls dies nicht zutrifft heruntergeladen. Genau genommen wird versucht die Datei zu öffnen, schlägt dies fehl (fid=-1) ist sie also nicht im Ordner.
Ansonsten habe ich so gut es geht den Code kommentiert, damit du nachvollziehen kannst was ich gemacht habe.
Wie gesagt mit meiner Fassung ist eine weltweite automatische Routenführung möglch, SOLANGE google Maps die Route auch berechnen kann (z.B. Berlin-Moskau würde eben nicht gehen).
Ich freu mich auf dein Feedback und wünsche ebenfalls einen schönen Sonntag.
MFG
Sco
|
|
|
_Gast_ |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 19.09.2012, 09:19
Titel:
|
 |
|
|
Gast1982 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.02.2013, 19:52
Titel: mhhh
|
 |
Hallo,
vielen dank für die tollen informationen bezüglich "elevation extraction". Leider funktioniert bei mir irgendetwas nicht. Ev. liegt es daran dass das KML keine coordinaten mehr gespeichert hat, sich die befehlszeichen geändert haben oder ich einfach unfähig bin das zeug zu extrahieren.
verwende den selben quellcode wie vom Meister empfohlen. Leider wird in der variable idx nichts gespeichert.
Attempted to access idx(1); index out of bounds because numel(idx)=0.
Error in GPS_2 (line 17)
info = info(idx(1):idx(2));
habe bereits stunden damit verbracht diese befehlszeile zu modifizieren - mhh ohne erfolg.
der code 'geometrycollection' wird wohl das übel sein. kann leider nichts findes, damit ich endlich meine daten extrahieren kann.
"multigeometry" sollte der neue befehssatz sein, hat aber keine änderung gebracht. ev. liegt es daran, dass ich matlab 2012b verwende?
Vielleicht kann mir jemand bei diesem Problem helfen.
|
|
|
|
Gehe zu Seite Zurück 1, 2
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|