Visualizzare il percorso attraversato nelle mappe della NASA
Questo esempio mostra come visualizzare i dati di latitudine e longitudine memorizzati in un feed del 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.
Leggere 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
Elaborare i dati grezzi di latitudine e longitudine prima di tracciarli sulla mappa. Memorizzare le informazioni sulla latitudine e sulla 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 coordinate geografiche specificate da latitudine e longitudine. Per rendere la mappa più facilmente leggibile, espandere 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);
Recuperare la mappa raster dalla NASA
Utilizzare il NASA Web Map Service per produrre mappe di dati raster con riferimenti spaziali. La funzione wmsfind cerca la stringa 'nasa' nelle voci presenti nel database serverurl del WMS.
nasa = wmsfind('nasa','SearchField','serverurl');
Perfeziona la ricerca del livello di mappa raster richiesto dal database NASA utilizzando la funzione refine.
layer = refine(nasa,'bluemarbleng','SearchField','layername', ... 'MatchType','exact');
Chiamare la funzione wmsread per leggere la mappa raster.
[A,R] = wmsread(layer(1),'Latlim',latlim,'Lonlim',lonlim);
Generare la mappa
Utilizzare 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