Как получить список слоев из геосервера - PullRequest
10 голосов
/ 06 октября 2010

Можно ли получить список всех слоев, обслуживаемых геосервером? То есть Есть ли какой-то конкретный URL-запрос для отправки, который делает это?

Ответы [ 2 ]

9 голосов
/ 07 октября 2010

Ссылки возможностей на домашней странице геосервера каждый список слоев, обслуживаемых различными службами:

  • В списке возможностей WMS перечислены слои, которые поддерживают запросы на мозаичные изображения
  • в списках возможностей WFS перечислены слоикоторые поддерживают запросы на векторные данные
  • , возможности WCS перечисляют слои, которые поддерживают растровые запросы

Пример запроса WMS будет выглядеть следующим образом:

http://demo.opengeo.org/geoserver/wms?request=GetCapabilities&service=WMS&version=1.0.0

4 голосов
/ 12 февраля 2015

Итак, для полноты, вот пример того, как получить список / массив слоев:

        var formatter = new OpenLayers.Format.WMSCapabilities();
        var endpoint = "path/to/wms/endpoint";
        var layers = [];

        // async call to geoserver (I'm using angular)
        $http.get(endpoint + 'request=GetCapabilities').

        success(function(data, status, headers, config) {

            // use the tool to parse the data
            var response = (formatter.read(data));

            // this object contains all the GetCapabilities data
            var capability = response.capability;

            // I want a list of names to use in my queries
            for(var i = 0; i < capability.layers.length; i ++){
                layers.push(capability.layers[i].name);
            }
        }).

        error(function(data, status, headers, config) {
            alert("terrible error logging..");
        });
...