Visualisieren Sie den zurückgelegten Weg in NASA-Karten
Dieses Beispiel zeigt, wie in einem ThingSpeak™ -Kanal-Feed gespeicherte Breiten- und Längengraddaten auf einer von der NASA bereitgestellten Rasterkarte visualisiert werden. Sie können eine Rasterkarte von einem Web Map Service (WMS) abrufen und den vom Mary Maersk-Schiff zurückgelegten Weg einzeichnen.
Daten lesen
Der ThingSpeak Kanal 73734 speichert die Standortdaten des Mary Maersk-Schiffes. Lesen Sie die Daten der letzten 10 Tage mit der Funktion thingSpeakRead
.
data = thingSpeakRead(73734,'DateRange',... [datetime('now')-caldays(10),datetime('now')],'outputFormat','table');
Rohdaten verarbeiten
Verarbeiten Sie die rohen Breiten- und Längengraddaten, bevor Sie sie auf der Karte darstellen. Speichern Sie die Breiten- und Längengradinformationen in den separaten Variablen lat
und lon
. Verwenden Sie die Funktion geoquadline
, um die Grenzen des engsten möglichen geografischen Vierecks zu ermitteln, das eine Linie begrenzt, die Eckpunkte mit geografischen Koordinaten verbindet, die durch Breiten- und Längengrad angegeben werden. Um die Karte besser lesbar zu machen, erweitern Sie die Breiten- und Längengrenzen um 10 Einheiten.
lon = data.Longitude; lat = data.Latitude; [latlim,lonlim] = geoquadline(lat,lon); buf = 10; [latlim,lonlim] = bufgeoquad(latlim,lonlim,buf,buf);
Rufen Sie eine Rasterkarte von der NASA ab
Verwenden Sie den NASA Web Map Service, um Karten räumlich referenzierter Rasterdaten zu erstellen. Die Funktion wmsfind
durchsucht die Einträge im serverurl
der WMS-Datenbank nach der Zeichenfolge „nasa“.
nasa = wmsfind('nasa','SearchField','serverurl');
Verfeinern Sie die Suche nach dem erforderlichen Rasterkarten-Layer aus der NASA-Datenbank mit der Funktion refine
.
layer = refine(nasa,'bluemarbleng','SearchField','layername', ... 'MatchType','exact');
Rufen Sie die Funktion wmsread
auf, um die Rasterkarte zu lesen.
[A,R] = wmsread(layer(1),'Latlim',latlim,'Lonlim',lonlim);
Generieren Sie die Karte
Verwenden Sie die von der Funktion worldmap
zurückgegebene Rasterkarte, um eine Darstellung des von der Mary Maersk in den letzten 10 Tagen zurückgelegten Weges zu erstellen.
geoshow(A,R); geoshow(lat,lon); xlabel('Longitude'); ylabel('Latitude'); axis tight;
Siehe auch
Funktionen
geoquadline
(Mapping Toolbox) |bufgeoquad
(Mapping Toolbox) |wmsfind
(Mapping Toolbox) |WMSLayer.refine
(Mapping Toolbox) |wmsread
(Mapping Toolbox) |geoshow
(Mapping Toolbox) |thingSpeakRead