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!