Некоторые реализации сервера WMS, такие как GeoServer, могут визуализировать свои карты в формате, отличном от изображения, таком как KML. KML - XML-диалект, используемый браузерами Google Earth™ и Google Maps™. WebMapServer.getMap метод и wmsread функция не позволяет использовать формат KML, поскольку они импортируют только стандартные форматы графических изображений. Обойти это ограничение с помощью WMSMapRequest.RequestURL собственность.
Поиск уровней в базе данных WMS на любом сервере GeoServer. Уточните, чтобы включить только слои с сервера MassGIS. Уточните этот список, чтобы вернуть слой зоны затопления FEMA.
geoserver = wmsfind('geoserver', 'SearchField', 'any'); massgis = geoserver.refine('massgis*wms', 'SearchField', ... 'serverurl'); massgis = wmsupdate(massgis); floodzone = massgis.refine('FEMA Flood Zones', 'SearchField', ... 'LayerTitle'); floodzone = floodzone(1);
Установить географические границы для региона вокруг Бостона, Массачусетс.
latlim = [ 42.305 42.417]; lonlim = [-71.131 -70.99];
Создать WMSMapRequest и задайте географические границы.
request = WMSMapRequest(floodzone); request.Latlim = latlim; request.Lonlim = lonlim;
Получите графический образ с сервера.
[A, R] = wmsread(request.RequestURL);
Отображение изображения в окне рисунка.
figure usamap(A, R) geoshow(A, R)

Запрос формата изображения, открывающегося в Google Earth.
request.ImageFormat = 'application/vnd.google-earth.kml+xml';Используйте urlwrite для записи файла KML.
filename = 'floodzone.kml';
websave(filename,request.RequestURL);Откройте файл с помощью Google Earth для просмотра. На платформах Windows ® просмотрите файл KML с помощью:
winopen(filename)
Для пользователей UNIX ® и Mac просмотрите файл KML с помощью:
cmd = 'googleearth ';
fullfilename = fullfile(pwd, filename);
system([cmd fullfilename])