Visualisieren Sie zurückgelegte Pfade in Vektorkarten
Dieses Beispiel zeigt, wie Sie Breiten- und Längengraddaten in Ihrem ThingSpeak™ -Kanal-Feed auf einer Karte visualisieren. Sie können die von der Mapping Toolbox bereitgestellte Vektorkarte verwenden und den von Mary Maersk zurückgelegten Weg einzeichnen.
Daten lesen
Der ThingSpeak Kanal 73734 enthält die Standortdaten des Mary Maersk-Schiffes. Lesen Sie die Standortdaten der letzten 10 Tage mit der Funktion thingSpealRead
aus.
data = thingSpeakRead(73734,'DateRange',... [datetime('today')-caldays(10),datetime('today')],'outputFormat','table');
Rohdaten verarbeiten
Verarbeiten Sie die rohen Breiten- und Längengraddaten, bevor Sie die Daten auf der Karte darstellen. Speichern Sie die Breiten- und Längengradinformationen in den separaten Variablen lat
und lon
.
lon = data.Longitude; lat = data.Latitude;
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 lat
und lon
angegeben werden .
[latlim,lonlim] = geoquadline(lat,lon);
Um die Karte besser lesbar zu machen, erweitern Sie die Breiten- und Längengrenzen mit der Funktion bufgeoquad
um 10 Einheiten.
buf = 10; [latlim,lonlim] = bufgeoquad(latlim,lonlim,buf,buf);
Vektorkarte abrufen
Rufen Sie die von der Funktion worldmap
bereitgestellte Vektorkarte für den interessierenden Bereich ab. Definieren Sie außerdem die Farbe des Ozeans, um zwischen Ozean- und Landmasse zu unterscheiden.
ax = worldmap(latlim,lonlim);
oceanColor = [.5 .7 .9];
setm(ax, 'FFaceColor',oceanColor);
Generieren Sie die Karte
Verwenden Sie die von der Funktion worldmap
zurückgegebene Vektorkarte, um eine Darstellung der Route zu erstellen, die das Schiff Mary Maersk in den letzten 10 Tagen zurückgelegt hat. Laden Sie die Küstenliniendaten und markieren Sie sie, um die Ränder jedes Kontinents zu markieren.
load coastlines; geoshow(lat,lon,'Color','k'); hold on; geoshow(coastlat,coastlon,'FaceColor','yellow','DisplayType','polygon'); title('Polygon Geographic Vector Data');
Die Vektorkarte zeigt, wohin die Mary Maersk in den letzten 10 Tagen gereist ist.
Siehe auch
Funktionen
geoquadline
(Mapping Toolbox) |bufgeoquad
(Mapping Toolbox) |worldmap
(Mapping Toolbox) |geoshow
(Mapping Toolbox) |thingSpeakRead