Visualice el camino recorrido en mapas de la NASA
Este ejemplo muestra cómo visualizar datos de latitud y longitud almacenados en un canal ThingSpeak™ en un mapa ráster proporcionado por la NASA. Puede recuperar un mapa rasterizado de un servicio de mapas web (WMS) y trazar el camino recorrido por el barco Mary Maersk.
Leer datos
El canal ThingSpeak 73734 almacena los datos de ubicación del barco Mary Maersk. Lea los datos de los últimos 10 días usando la función thingSpeakRead
.
data = thingSpeakRead(73734,'DateRange',... [datetime('now')-caldays(10),datetime('now')],'outputFormat','table');
Procesar datos sin procesar
Procese los datos sin procesar de latitud y longitud antes de trazarlos en el mapa. Almacene la información de latitud y longitud en variables separadas lat
y lon
. Utilice la función geoquadline
para encontrar los límites del cuadrilátero geográfico más estrecho posible que limita una línea que conecta los vértices con coordenadas geográficas especificadas por lat y lon. Para que el mapa sea más fácil de leer, amplíe los límites de latitud y longitud en 10 unidades.
lon = data.Longitude; lat = data.Latitude; [latlim,lonlim] = geoquadline(lat,lon); buf = 10; [latlim,lonlim] = bufgeoquad(latlim,lonlim,buf,buf);
Recuperar mapa ráster de la NASA
Utilice el servicio de mapas web de la NASA para producir mapas de datos ráster con referencia espacial. La función wmsfind
busca las entradas en el serverurl
de la base de datos WMS para la cadena 'nasa'.
nasa = wmsfind('nasa','SearchField','serverurl');
Refine la búsqueda de la capa de mapa ráster requerida en la base de datos de la NASA utilizando la función refine
.
layer = refine(nasa,'bluemarbleng','SearchField','layername', ... 'MatchType','exact');
Llame a la función wmsread
para leer el mapa ráster.
[A,R] = wmsread(layer(1),'Latlim',latlim,'Lonlim',lonlim);
Generar el mapa
Utilice el mapa ráster devuelto por la función worldmap
para generar un gráfico de la ruta recorrida por el Mary Maersk durante los últimos 10 días.
geoshow(A,R); geoshow(lat,lon); xlabel('Longitude'); ylabel('Latitude'); axis tight;
Consulte también
Funciones
geoquadline
(Mapping Toolbox) |bufgeoquad
(Mapping Toolbox) |wmsfind
(Mapping Toolbox) |WMSLayer.refine
(Mapping Toolbox) |wmsread
(Mapping Toolbox) |geoshow
(Mapping Toolbox) |thingSpeakRead