В этом примере показано, как использовать карту для получения информации о географической функции. Чтобы проиллюстрировать, этот пример измеряет длину Резервуара Gross и добавляет некоторые маркеры и наложение линий, которые действуют как аннотации на карте.
Откройте веб-карту с центром на резервуар Гросс к западу от Боулдера, Колорадо. Используйте USGS заштрихованную топографическую карту, чтобы получить уровень топографической детализации, необходимый для этого измерения.
webmap('usgsshadedtopographicmap')
lat = 39.9428;
lon = -105.3691;
zoom = 14;
wmcenter(lat,lon,zoom)
Идентифицируйте две точки на противоположных концах озера и получите широту и долготу этих точек. Чтобы получить эту информацию на веб-карте, наведите указатель мыши на местоположение на карте. В правом верхнем углу окна отображаются географические координаты точки.
Сохраните информацию о широте и долготе в векторе геошапы.
lat1 = 39.93504; lon1 = -105.38069; lat2 = 39.95226; lon2 = -105.35892; s = geoshape([lat1 lat2],[lon1 lon2])
s = 1×1 geoshape vector with properties: Collection properties: Geometry: 'line' Metadata: [1×1 struct] Vertex properties: Latitude: [39.9350 39.9523] Longitude: [-105.3807 -105.3589]
Вычислите расстояние между двумя точками, чтобы получить длину резервуара. Используйте distance
функция, которая вычисляет расстояние между точками на сфере или эллипсоиде.
d = distance(s.Latitude(1),s.Longitude(1),s.Latitude(2), ...
s.Longitude(2),wgs84Ellipsoid)
d = 2.6678e+03
Отображение линии между двумя точками. Включите информацию о длине озера в информационный номер линии. Сохраните расстояние и информацию об модулях измерения как двух динамических полях, добавленных к вектору геосхемы.
s.Distance = round(d); s.Units = 'meters'; wmline(s,'Color','red','FeatureName','Length of Gross Reservoir', ... 'Overlayname','Transect');
geoshape
| webmap
| wmline
| wmmarker
| wmpolygon
| wmremove
| wmsfind
| wmsupdate