Skip to content

Instantly share code, notes, and snippets.

@drnextgis
Last active November 17, 2015 11:37
Show Gist options
  • Save drnextgis/576507789fec99dacab0 to your computer and use it in GitHub Desktop.
Save drnextgis/576507789fec99dacab0 to your computer and use it in GitHub Desktop.
GetLegendGraphic

GetLegendGraphic

Для слоёв WMS-сервиса, созданных на базе ресурса "Стиль MapServer" доступны запросы получения легенды GetLegendGraphic.

Пример запроса:

http://demo.nextgis.ru/ngw/api/resource/83/wms?SERVICE=WMS&REQUEST=GetLegendGraphic&LAYER=boundary-polygon

Пример ответа:

Обязательные параметры:

  • SERVICE
  • REQUEST (GetLegendGraphic)
  • LAYER (слой, для которого запрашивается легенда)

Для того, чтобы отобразились подписи соответствующих классов объектов, при настройке стиля слоя необходимо указать название этого класса внутри тега name. Параметры легенды настраиваются внутри секции legend: keysize - размеры пиктограмм, label - параметры шрифта подписи классов объектов:

<map>
  <layer>
    <class>
      <name>Границы</name>
      <style>
        <color blue="211" green="177" red="128"/>
        <outlinecolor blue="64" green="64" red="64"/>
      </style>
    </class>
  </layer>
  <legend>
    <keysize y="40" x="40"/>
    <label>
      <size>12</size>
      <type>truetype</type>
      <font>regular</font>
    </label>
  </legend>
</map>

Поддержка легенды для растровых слоёв в настоящее время не реализована.

ПМИ

  • Задача: получить легенду для слоя boundary-polygon
  • Выполнение: curl -u administrator:admin -o legend.png "http://demo.nextgis.ru/ngw/api/resource/83/wms?SERVICE=WMS&REQUEST=GetLegendGraphic&LAYER=boundary-polygon"
  • Ожидаемый результат: изображение вида
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment