Czy jest to alternatywa open source dla koncepcji usługi geoprzetwarzania ArcGIS?

15

Szukam jakichkolwiek przykładów implementacji logiki zbudowanej przez Esri przy pomocy usług geoprzetwarzania. Tworzysz niestandardowe narzędzie lub może to być narzędzie systemowe >> publikujesz je, odsłaniając tę ​​funkcjonalność jako usługę internetową >> korzystasz z usługi internetowej z klientem.

Klasyczny prosty przykład: użytkownik może kliknąć mapę, aby utworzyć punkt> współrzędne są wysyłane do serwera> operacja buforowania jest wykonywana na zapleczu> funkcja strefy buforowej (lub tylko obraz) jest odsyłana z powrotem do klienta i pokazane na kanwie mapy. Usługi Esri GP rozwijam od 3 lat i było to miłe doświadczenie, szczególnie od wersji 10.1.

Czy są jakieś przykłady systemu / rozwiązania typu open source, którego można użyć do zbudowania podobnej logiki?

Znalazłem google i znalazłem sextante gis, ale nie było nic konkretnego na temat tego, jak to działa i ile logiki dostępnej w Esri jest dostępne. Wydaje się, że Północ również nad tym pracuje, ale znów brakuje mi jasnego wyjaśnienia tego pojęcia.

Alex Tereshenkov
źródło

Odpowiedzi:

6

Korzystanie z istniejącego WPS lub budowanie ich

Istnieje cały opis / tutorial na temat usług przetwarzania internetowej (WPS) znaleźć tutaj . Większość z tego zostanie wykonana przy użyciu żądań HTTP wysłanych do serwera takiego jak GeoServer, który obsługuje ten proces. Łącze GeoServer nakreśli ogólny proces hostingu i wywoływania WPS przy użyciu ich oprogramowania. Rozszerzenie WPS GeoServera zawiera procesy JTS Topology Suite, które są biblioteką wspólnych funkcji przestrzennych, takich jak operacje buforowania i przecinania. Oto ich przykład wykonania operacji buforowej przy użyciu biblioteki JTS.

Inaczej

Istnieją jednak inne sposoby, aby to zrobić. Nasz zespół internetowy wykorzystuje zapytania do bazy danych PostGRE / PostGIS w celu przeprowadzenia prostej analizy, ale nie jestem w pełni z tym zaznajomiony.

Jeden pomysł, który zacząłem badać, polega na wykorzystaniu skryptów pythonowych typu open source, takich jak PySal / GDAL, do analizy przestrzennej. Będziesz musiał użyć JavaScript / AJAX (lub innego języka po stronie serwera), aby wykonać te skrypty na serwerze i wypluć wyniki. Byłaby to skomplikowana opcja, ale wierzę, że dałaby ci lepsze opcje dostosowywania niż ESRI.

Myślę, że powinieneś być w stanie podzielić funkcje na ciąg GeoJSON, aby przekazać go jako parametr do skryptów Pythona. Następnie należy przekonwertować ten wynik z powrotem na ciąg GeoJSON, aby przekazać go klientowi w celu wyświetlenia. Pakiety Python, takie jak Shapely, mogą interpretować ciąg GeoJSON. Inni mogą potrzebować opisanego obejścia, aby korzystać z GeoJSON, lub może istnieć lepsza opcja, o której nie myślałem.

Inną opcją byłoby użycie GeoTools do napisania aplikacji internetowej Java, która przeprowadzałaby analizę przestrzenną. Obsługuje również ciągi GeoJSON i ma wbudowane funkcje analizy przestrzennej. Mają kilka zrzutów ekranu pokazujących ich różne aplikacje.

Można utworzyć własny WPS lub uruchomić skrypt po stronie serwera. Nie będzie to tak łatwe, jak robi to ESRI, ale byłoby darmowe, jeśli używasz oprogramowania typu open source.

Niezależnie od wybranej trasy, zaktualizuj ją tutaj, ponieważ jest to świetny temat!

Branco
źródło
dziękuję bardzo, świetna odpowiedź. Wymieniłeś jedną z alternatyw, o których myślałem - uruchom pliki .py Pythona ze strony JS, przechowując przesłane dane użytkownika, przekazując te dane do funkcji Pythona, a następnie zwracając wyniki wyjściowe do przeglądarki internetowej. Chodzi o to, że musisz napisać większość narzędzi GP od zera. Udostępniony link GeoTools wygląda jednak interesująco. Byłoby naprawdę fajnie zobaczyć na żywo dowolny przykład operacji GP wykonywanej na zapleczu przez GeoServer!
Alex Tereshenkov
2

Wtyczka OpenGeo dla Qgis może korzystać z usług wps hostowanych na geoserver. Działa podobnie do sposobu, w jaki arcgis używa swojego zestawu narzędzi, będzie wymagało włączenia usługi wps i udostępnienia procesu. Powinieneś również sprawdzić pyWPS

John Jediny
źródło
czy mógłbyś rozwinąć wtyczkę QGIS? Czy będzie to tylko komputer stacjonarny, który może korzystać z usług WPS? Jestem zainteresowany tworzeniem usług WPS, a następnie podobnym obiegiem pracy, który ma Esri (lub zbliżony do tego z większą konfiguracją i niewielkim programowaniem dopuszczalnym). Być może mógłbyś podzielić się informacjami na temat rozwijania usługi wps z dowolnego GIS dla komputerów stacjonarnych na GeoServer lub inną platformę serwerową GIS?
Alex Tereshenkov