Запишите изображения WMS в файл KML

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

  1. Ищите Базу данных WMS слои на любом GeoServer. Совершенствуйте, чтобы включать только слои с сервера MassGIS. Совершенствуйте тот список, чтобы возвратить слой Flood Zone 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);
    
  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';
    urlwrite(request.RequestURL, filename);
    
  8. Откройте файл с Google Earth, чтобы просмотреть. На платформах Windows® отобразите файл KML с:

    winopen(filename)

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

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

Смотрите также

| |

Похожие темы