Visualizza il percorso percorso nelle mappe della NASA
Questo esempio mostra come visualizzare i dati di latitudine e longitudine archiviati in un feed di canale ThingSpeak™ su una mappa raster fornita dalla NASA. È possibile recuperare una mappa raster da un Web Map Service (WMS) e tracciare il percorso percorso dalla nave Mary Maersk.
Leggi i dati
Il canale ThingSpeak 73734 memorizza i dati sulla posizione della nave Mary Maersk. Leggi i dati degli ultimi 10 giorni utilizzando la funzione thingSpeakRead
.
data = thingSpeakRead(73734,'DateRange',... [datetime('now')-caldays(10),datetime('now')],'outputFormat','table');
Elaborare dati grezzi
Elabora i dati grezzi di latitudine e longitudine prima di tracciarli sulla mappa. Memorizza le informazioni su latitudine e longitudine in variabili separate lat
e lon
. Utilizzare la funzione geoquadline
per trovare i limiti del quadrilatero geografico più stretto possibile che delimita una linea che collega i vertici con le coordinate geografiche specificate da lat e lon. Per rendere la mappa più facilmente leggibile, espandi i limiti di latitudine e longitudine di 10 unità.
lon = data.Longitude; lat = data.Latitude; [latlim,lonlim] = geoquadline(lat,lon); buf = 10; [latlim,lonlim] = bufgeoquad(latlim,lonlim,buf,buf);
Recupera la mappa raster dalla NASA
Utilizzare il servizio web Map della NASA per produrre mappe di dati raster con riferimenti spaziali. La funzione wmsfind
cerca nelle voci del database WMS la stringa 'nasa' nel serverurl
.
nasa = wmsfind('nasa','SearchField','serverurl');
Perfeziona la ricerca del livello di mappa raster richiesto dal database della NASA utilizzando la funzione refine
.
layer = refine(nasa,'bluemarbleng','SearchField','layername', ... 'MatchType','exact');
Chiama la funzione wmsread
per leggere la mappa raster.
[A,R] = wmsread(layer(1),'Latlim',latlim,'Lonlim',lonlim);
Genera la mappa
Utilizza la mappa raster restituita dalla funzione worldmap
per generare un grafico del percorso percorso dalla Mary Maersk negli ultimi 10 giorni.
geoshow(A,R); geoshow(lat,lon); xlabel('Longitude'); ylabel('Latitude'); axis tight;
Vedi anche
Funzioni
geoquadline
(Mapping Toolbox) |bufgeoquad
(Mapping Toolbox) |wmsfind
(Mapping Toolbox) |WMSLayer.refine
(Mapping Toolbox) |wmsread
(Mapping Toolbox) |geoshow
(Mapping Toolbox) |thingSpeakRead