exponenta event banner

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

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

  1. Поиск уровней в базе данных 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);
    
  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])
    

См. также

| |

Связанные темы