Algebra map dla rastra jest łatwa dzięki ArcGIS Raster Calculator (lub QGIS). Pomyślałem, że będzie to łatwe z serwerami WWW GIS, takimi jak GeoServer i MapServer oraz OpenLayers itp. Chcę osiągnąć proste rzeczy, takie jak podzielenie dwóch obrazów i wygenerowanie trzeciego obrazu o proporcjach do wyświetlenia na stronie internetowej. Spędziłem tygodnie, aby znaleźć rozwiązanie i okazuje się to dość trudne (dla mnie).
Próbowałem kilku rzeczy, w tym:
Raster PostGIS. Myślę, że algebra rastrowa nie stanowi tutaj problemu.
Jednak raster PostGIS jest dość trudny do załadowania do GeoServera. Często zadawane jest wiele pytań na temat ładowania pgrastera w GeoServer. Zobacz np. Jak zaimportować GeoTIFF przez postGIS do GeoServer? ? , /gis/86006/publish-rasters-stored-in-postgresql-with-geoserver ? Żadna odpowiedź tutaj w GIS.SE ani na oficjalnej stronie GeoServer nie zawiera pełnej listy kroków, które można wykonać, aby działać. Ładowanie pgraster do MapServera zgłosiło sukces, ale z bardzo małą wydajnością. Wydaje się, że oba wymagają kafelkowania. Wydaje się, że nie ma mowy o jednoliniowym poleceniu importowania rastra na dowolny serwer.
GeoTIFF
GeoTIFF można łatwo załadować do GeoServer i MapServer. Ale co możemy z tym zrobić? Bez PostGIS, takiego jak SQL, zwróciłem się i krótko przeszukałem przy użyciu WCS, aby wykonać algebrę mapy, ale nie znalazłem wiele. Czy WCS jest realną ścieżką do tego w obecnych serwerach?
Zaprogramuj to na poważnie
W jakiś sposób używaj AJAX do wywoływania strony PHP lub pisania WPS za pomocą GeoServera do importowania obrazów do PostGIS, wykonywania algebry map, a następnie konwertowania wyniku pgraster do formatu (np. GeoTIFF), który można łatwo załadować i wyświetlić w GeoServer / MapServer.
Oczywiście można napisać kod do bezpośredniego odczytu GeoTIFF i wykonać algebrę mapy bez obsługi GIS.
Żadne z powyższych nie wydaje mi się łatwe ani rozsądne, biorąc pod uwagę łatwość, z jaką tę samą algebrę można wykonać w Desktop GIS.
Zastanawiałem się, czy ktoś miał jakieś doświadczenie w robieniu Algebry Map w internetowym środowisku GIS i czy może zasugerować realną ścieżkę?
Interesują mnie rozwiązania Open Source (z powodów politycznych w mojej organizacji). Zdaję sobie sprawę, że ArcGIS Server może wywoływać kod python ArcGIS, ale nie mamy licencji, a środowisko nie jest sprzyjające do jej nabycia.
źródło
Odpowiedzi:
Używając wyłącznie oprogramowania typu open source, prawie na pewno będziesz musiał samemu trochę zaprogramować. GDAL jest de facto biblioteką we / wy rastrową typu open source, więc prawdopodobnie będziesz go używać lub jednego z jego wielu opakowań. Możesz użyć Pythona (np. Rasterio + numpy / scipy ) lub node.js, np. Node-gdal (choć uważaj, że obecnie jest synchroniczny / blokujący). Jeśli chodzi o faktyczne wdrożenie go jako usługi internetowej, nie jestem pewien, jakie byłoby najlepsze podejście, ale pojawia się podobne pytanie: Porównanie różnych serwerów GIS typu open source?
Jeśli programowanie nie jest Twoją sprawą, możesz rzucić okiem na Serwer FME . Jest to produkt komercyjny, ale prawdopodobnie znacznie tańszy niż ArcGIS Server, i ma wszelkiego rodzaju transformatory obliczeniowe rastrowe , więc byłbym bardzo zaskoczony, gdyby nie udało się osiągnąć tego, co musisz zrobić. Nie musisz ładować rastrów do bazy danych, ponieważ może czytać z dowolnego formatu plików rastrowych .
Część serwerowa umożliwia uruchomienie transformacji (obszarów roboczych FME) na serwerze i użycie interfejsu API, np. Interfejsu API REST FME Server , w celu zainicjowania tych transformacji i uzyskania dostępu do wyników.
Główną zaletą jest to, że nie trzeba wiele robić, jeśli programowanie jest potrzebne do uruchomienia usług, wystarczy niewielkie kodowanie front-end do pracy z interfejsem API.
źródło
To, czego szukasz, to serwer obrazów. ArcGIS for Server ma to rozszerzenie:
Rozszerzenie obrazu ArcGIS dla serwera
nie znam żadnych odpowiedników typu open source.
źródło
Prawdopodobnie możesz to zrobić w przeglądarce za pomocą WebGL:
http://www.html5rocks.com/en/tutorials/webgl/webgl_fundamentals/
ale wymagałoby to programowania i przeglądarki zgodnej z WebGL. Ale powinno być szybkie, ponieważ w większości przypadków używa GPU.
źródło