Использование ранее существующего WPS или построение их
Существует целый описание / учебник по веб - сервисов обработки (WPS) здесь . Большая часть этого будет выполняться с использованием HTTP-запросов, отправляемых на сервер, такой как GeoServer , на котором размещен этот процесс. Ссылка GeoServer будет описывать общий процесс хостинга и вызова WPS с использованием их программного обеспечения. Расширение GeoServer WPS поставляется с процессами JTS Topology Suite, которые представляют собой библиотеку общих пространственных функций, таких как операции буферизации и пересечения. Вот их пример выполнения операции буфера с использованием библиотеки JTS.
Другие способы
Есть и другие способы сделать это, хотя. Наша веб-команда использует запросы к своей базе данных PostGRE / PostGIS для проведения простого анализа, но я не полностью знаком с этим.
Одна идея, которую я начал исследовать, заключается в использовании сценариев Python с открытым исходным кодом, таких как PySal / GDAL, для пространственного анализа. Вам потребуется использовать JavaScript / AJAX (или любой другой серверный язык), чтобы выполнить эти скрипты на вашем сервере и выложить результаты. Это будет сложный вариант, но я полагаю, что он даст вам лучшие варианты настройки в отличие от ESRI.
Я думаю, вы должны разбить объекты на строку GeoJSON для передачи в качестве параметра в скрипты Python. Оттуда вам нужно будет преобразовать этот результат обратно в строку GeoJSON для передачи обратно клиенту для отображения. Пакеты Python, такие как Shapely, могут интерпретировать строку GeoJSON. Другим, возможно, понадобится некоторый обходной путь, чтобы использовать GeoJSON, или может быть лучший вариант, о котором я даже не задумывался.
Другой вариант - использовать GeoTools для написания веб-приложения на Java, которое будет выполнять пространственный анализ. Это также поддерживает строки GeoJSON и имеет некоторые встроенные функции пространственного анализа. У них есть несколько скриншотов, показывающих их различные приложения.
Можно создать собственный WPS или запустить сценарий на стороне сервера. Это будет не так просто, как ESRI, но будет бесплатным, если вы используете открытый исходный код.
Какой бы маршрут вы ни выбрали, обновите его здесь, так как это отличная тема!