Альтернатива з відкритим кодом для концепції геопереробки ArcGIS?


15

Я шукаю будь-які приклади реалізації логіки, створеної Esri за допомогою служб геообробки. Ви є автором спеціального інструменту, або це може бути системний інструмент >> Ви публікуєте його, викриваючи цю функціональність як веб-сервіс >> Ви споживаєте веб-службу з клієнтом.

Класичний простий приклад: користувач може натиснути на карту, щоб створити крапку> координати надсилаються на сервер і зображено на карті полотна. Я розробляв послуги Esri GP протягом останніх 3 років, і це було приємним досвідом, зокрема з версії 10.1.

Чи є приклади системи / рішення з відкритим кодом, які можна використати для побудови подібної логіки?

Я переглянув Google і знайшов sextante gis, але не було нічого конкретного в тому, як це працює і скільки логіки, доступної через Esri, є. 52Норт також, здається, працює над цим, але я знову пропускаю чітке пояснення концепції.

Відповіді:


6

Використання наявних WPS або Building Them

Тут знайдеться цілий опис / підручник щодо служб веб-обробки (WPS) . Більшість цього буде зроблено за допомогою HTTP-запитів, надісланих на такий сервер, як GeoServer, який розміщує цей процес. Посилання GeoServer окреслить загальний процес хостингу та виклику WPS за допомогою їх програмного забезпечення. Розширення WPS GeoServer поставляється з процесами JTS Topology Suite, що є бібліотекою загальних просторових функцій, таких як буферизація та операції перетину. Ось їхній приклад щодо виконання операції буфера за допомогою бібліотеки JTS.

Інші способи

Є й інші способи зробити це. Наша веб-команда використовує запити до їх бази даних PostGRE / PostGIS, щоб зробити простий аналіз, але я не в повній мірі з цим ознайомлений.

Одна ідея, яку я почав досліджувати, включає використання скриптів з відкритим кодом python, таких як PySal / GDAL, щоб зробити просторовий аналіз. Вам потрібно буде використовувати деякі JavaScript / AJAX (або будь-яку мову на стороні сервера), щоб виконати ці сценарії на вашому сервері та виплюнути результати. Це був би складний варіант, але я вважаю, що це дасть вам кращі варіанти налаштування на відміну від ESRI.

Я думаю, ви повинні мати можливість розбивати функції на рядок GeoJSON, щоб перейти як параметр у сценарії python. Звідти вам потрібно буде перетворити цей результат назад у рядок GeoJSON, щоб передати його клієнту для відображення. Пакети Python, такі як Shapely, можуть інтерпретувати рядок GeoJSON. Іншим може знадобитися певна обробка записів для використання GeoJSON, або може бути кращий варіант, про який я не думав використовувати.

Іншим варіантом було б використання GeoTools для написання веб-програми Java, яка б робила просторовий аналіз. Це також підтримує рядки GeoJSON і має деякі вбудовані функції просторового аналізу. У них є скріншоти, на яких показані різні їх програми.

Доцільно створити свій власний WPS або запустити сценарій на стороні сервера. Це буде не так просто, як це робить ESRI, але це буде безкоштовно, якщо ви використовуєте відкритий код.

Який би маршрут ви не вирішили, оновіть його тут, оскільки це чудова тема!


велике дякую, чудова відповідь. Ви назвали одну з альтернатив, про яку я пам’ятав - запустіть Python .py файли з веб-сторінки JS, де зберігаються подані користувацькі дані, подаються ці дані до функцій Python, а потім повертаються результати виведення у веб-браузер. Вся справа в тому, що вам потрібно буде написати більшість інструментів GP з нуля. Цікаве посилання на GeoTools виглядає цікаво. Було б дуже приємно бачити будь-який живий приклад операції GP, виконаної в бек-енді GeoServer!
Олексій Терешенков

2

Плагін OpenGeo для Qgis може використовувати сервіси wps, розміщені на геосервері. Це дуже схоже на те, як аркгізи використовують свою панель інструментів, знадобиться ввімкнути сервіс wps і доступний процес. Ви також повинні перевірити pyWPS


Ви можете, будь ласка, детальніше розробити плагін QGIS? Чи буде просто настільний клієнт, який може споживати послуги WPS? Мені цікаво створити WPS-сервіси, а потім аналогічний робочий процес, який має Esri (або близький до того, з більшою конфігурацією та легким програмуванням). Можливо, ви могли б поділитися інформацією про розробку сервісу wps з будь-якого GIS на робочому столі до GeoServer або іншої платформи GIS-сервера?
Олексій Терешенков
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.