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 Weg des Schiffs Mary Maersk darstellen.
Daten lesen
ThingSpeak Kanal 73734 speichert die Standortdaten des Schiffs Mary Maersk. 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 Rohdaten zu Längen- und Breitengrad, bevor Sie sie auf der Karte darstellen. Speichern Sie die Breiten- und Längengradinformationen in separaten Variablen lat und lon. Verwenden Sie die Funktion geoquadline, um die Grenzen des engsten möglichen geografischen Vierecks zu finden, das eine Linie begrenzt, die Scheitelpunkte mit geografischen Koordinaten verbindet, die durch Breiten- und Längengrade angegeben sind. Um die Karte leichter lesbar zu machen, erweitern Sie die Breiten- und Längengradgrenzen um 10 Einheiten.
lon = data.Longitude; lat = data.Latitude; [latlim,lonlim] = geoquadline(lat,lon); buf = 10; [latlim,lonlim] = bufgeoquad(latlim,lonlim,buf,buf);
Rasterkarte von der NASA abrufen
Verwenden Sie den NASA Web Map Service, um Karten aus räumlich referenzierten 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 der erforderlichen Rasterkartenebene aus der NASA-Datenbank mithilfe 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 ein Diagramm der von der Mary Maersk in den letzten 10 Tagen zurückgelegten Route 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