Запись изображений WMS в файл KML

Некоторые реализации сервера WMS, такие как GeoServer, могут отображать свои карты в формате, отличном от неизображения, таком как KML. KML - XML-диалект, используемый браузерами Google Earth™ и Google Maps™. The WebMapServer.getMap метод и wmsread функция не позволяет вам использовать формат KML, потому что они импортируют только стандартные форматы графических изображений. Обойдите это ограничение при помощи WMSMapRequest.RequestURL свойство.

  1. Поиск слоев в базе данных WMS на любом GeoServer. Уточнить, чтобы включать только слои с сервера MassGIS. Обновите этот список, чтобы вернуть слой FEMA Flood Zone.

    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);
    
  2. Установите географические пределы для области вокруг Бостона, Массачусетс.

    latlim = [ 42.305  42.417];
    lonlim = [-71.131 -70.99];
    
  3. Создайте WMSMapRequest Объект и установите географические пределы.

    request = WMSMapRequest(floodzone);
    request.Latlim = latlim;
    request.Lonlim = lonlim;
    
  4. Получите графическое изображение от сервера.

    [A, R] = wmsread(request.RequestURL);
    
  5. Отобразите изображение в окне рисунка.

    figure
    usamap(A, R)
    geoshow(A, R)
    

  6. Запросить формат изображения, который откроется в Google Earth.

    request.ImageFormat = 'application/vnd.google-earth.kml+xml';
  7. Используйте urlwrite функция для записи файла KML.

    filename = 'floodzone.kml';
    websave(filename,request.RequestURL);
  8. Откройте файл с Google Earth, чтобы просмотреть. В Windows® платформы, отобразите файл KML с:

    winopen(filename)

    Для UNIX® и пользователи Mac отображают файл KML с:

    cmd = 'googleearth ';
    fullfilename = fullfile(pwd, filename);   
    system([cmd fullfilename])
    

См. также

| |

Похожие темы