В этом примере показано, как использовать карту, чтобы получить информацию о географической особенности. Чтобы проиллюстрировать, этот пример измеряет длину Грубого Резервуара и добавляет некоторые маркеры и наложение линии, которые действуют как аннотации на карту.
Откройте веб-карту, сосредоточенную на Грубом Резервуаре к западу от Булдера, Колорадо. Используйте 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');
webmap
| wmsfind
| wmsupdate
| wmmarker
| wmline
| wmpolygon
| wmremove
| geoshape