Mapfeatureserver как замена ArcGIS Server: различия между версиями
Vasnake (обсуждение | вклад) Нет описания правки |
Vasnake (обсуждение | вклад) Нет описания правки |
||
Строка 2: | Строка 2: | ||
{{Аннотация|Описание веб-сервиса Mapfeatureserver как замены ArcGIS Server}} | {{Аннотация|Описание веб-сервиса Mapfeatureserver как замены ArcGIS Server}} | ||
[https://github.com/vasnake/mapfeatureserver Mapfeatureserver] (далее MFS) - это веб-сервис, написанный на Python (WSGI, Flask) реализующий REST API ArcGIS Server для слоев типа Feature Layer. | [https://github.com/vasnake/mapfeatureserver Mapfeatureserver] (далее MFS) - это веб-сервис, написанный на Python (WSGI, Flask) реализующий REST API ArcGIS Server для слоев типа Feature Layer. MFS был задуман как средство, позволяющее избавиться от дорогостоящего ArcGIS Server при работе с веб-картами, использующими ArcGIS API. | ||
Mapfeatureserver будет полезен разработчикам ГИС решений для веб и интранет, поскольку позволяет получить веб-карты красивые и функциональные как в ArcGIS, но без затрат на приобретение ArcGIS Server. | |||
== Что это, Mapfeatureserver? == | |||
Как я уже упомянул, MFS это open source программа на Python, которая после запуска создает веб-сервис отвечающий спецификации ArcGIS REST API для картографических слоев типа Feature Layer. Веб модуль MFS написан с использованием фреймворка Flask и отвечает спецификации WSGI, что позволяет использовать MFS в качестве части более крупных веб-решений. | |||
Геоданные MFS считывает из PostGIS, что означает необходимость а) загрузить данные предполагаемого решения в БД PostGIS; б) обеспечить доступ к этой БД сервису MFS. На текущий момент кроме PostGIS другие БД не поддерживаются, но есть планы добавить поддержку MySQL и MongoDB. | |||
Общая картина использования MFS выглядит примерно так. | |||
* Геоданные (шейп-файлы, к примеру) загружаем в PostGIS. | |||
* Для каждого слоя данных вписываем сведения в конфигурационные файлы MFS. | |||
* Запускаем веб-сервис. | |||
* В клиентской программе, к примеру Картобонус, добавляем к карте слои также, как обычные FeatureLayer из ArcGIS. | |||
Теперь о недостатках и ограничениях MFS. | |||
На текущий момент программа находится в стадии «Proof of Concept», то есть обладает функциональностью минимально достаточной для демонстрации работоспособности подхода. | |||
Из всего многообразия запросов декларированных в API, наш сервис пока реализует два: | |||
* layer metadata http://<featureservice-url>/<layerId> | |||
* layer data query by box http://<featurelayer-url>/query | |||
причем запрос http://<featurelayer-url>/query может быть только одного типа - запрос на выборку по ограничивающему боксу (box). | |||
Этого достаточно, чтобы загрузить слой в карту и делать zoom, pan, просмотр атрибутов для features, но и только. | |||
Остальная часть API будет реализована несколько позже. Хорошая новость заключается в том, что проект - open source и любой, кто обладает соответствующими навыками, может ускорить реализацию недостающих функций. | |||
== Инструкция по использованию Mapfeatureserver == | |||
Изложенная здесь информация может устареть к тому времени как вы читаете этот текст. Наиболее свежую информацию о проекте вы всегда можете найти на странице проекта в GitHub https://github.com/vasnake/mapfeatureserver |
Версия от 16:06, 23 мая 2013
Описание веб-сервиса Mapfeatureserver как замены ArcGIS Server
Mapfeatureserver (далее MFS) - это веб-сервис, написанный на Python (WSGI, Flask) реализующий REST API ArcGIS Server для слоев типа Feature Layer. MFS был задуман как средство, позволяющее избавиться от дорогостоящего ArcGIS Server при работе с веб-картами, использующими ArcGIS API.
Mapfeatureserver будет полезен разработчикам ГИС решений для веб и интранет, поскольку позволяет получить веб-карты красивые и функциональные как в ArcGIS, но без затрат на приобретение ArcGIS Server.
Что это, Mapfeatureserver?
Как я уже упомянул, MFS это open source программа на Python, которая после запуска создает веб-сервис отвечающий спецификации ArcGIS REST API для картографических слоев типа Feature Layer. Веб модуль MFS написан с использованием фреймворка Flask и отвечает спецификации WSGI, что позволяет использовать MFS в качестве части более крупных веб-решений.
Геоданные MFS считывает из PostGIS, что означает необходимость а) загрузить данные предполагаемого решения в БД PostGIS; б) обеспечить доступ к этой БД сервису MFS. На текущий момент кроме PostGIS другие БД не поддерживаются, но есть планы добавить поддержку MySQL и MongoDB.
Общая картина использования MFS выглядит примерно так.
- Геоданные (шейп-файлы, к примеру) загружаем в PostGIS.
- Для каждого слоя данных вписываем сведения в конфигурационные файлы MFS.
- Запускаем веб-сервис.
- В клиентской программе, к примеру Картобонус, добавляем к карте слои также, как обычные FeatureLayer из ArcGIS.
Теперь о недостатках и ограничениях MFS.
На текущий момент программа находится в стадии «Proof of Concept», то есть обладает функциональностью минимально достаточной для демонстрации работоспособности подхода. Из всего многообразия запросов декларированных в API, наш сервис пока реализует два:
- layer metadata http://<featureservice-url>/<layerId>
- layer data query by box http://<featurelayer-url>/query
причем запрос http://<featurelayer-url>/query может быть только одного типа - запрос на выборку по ограничивающему боксу (box). Этого достаточно, чтобы загрузить слой в карту и делать zoom, pan, просмотр атрибутов для features, но и только.
Остальная часть API будет реализована несколько позже. Хорошая новость заключается в том, что проект - open source и любой, кто обладает соответствующими навыками, может ускорить реализацию недостающих функций.
Инструкция по использованию Mapfeatureserver
Изложенная здесь информация может устареть к тому времени как вы читаете этот текст. Наиболее свежую информацию о проекте вы всегда можете найти на странице проекта в GitHub https://github.com/vasnake/mapfeatureserver