Jestem długoterminowym użytkownikiem oprogramowania ESRI i teraz muszę korzystać z bezpłatnego i otwartego oprogramowania.
Czytałem o OpenLayers, PostgreSQL, PostGIS, GeoServer i MapServer, ale nie mogę znaleźć dobrego przeglądu opisującego, co robi każdy produkt, dlaczego jest potrzebny i jak wszystkie one do siebie pasują.
Na przykład http://www.osgeo.org/ i http://freegis.org/ oba zawierają listę produktów, ale nie zawierają wystarczających informacji, aby zdecydować, które z nich są istotne.
W ArcGIS użyłbym:
- geobaza plików lub geobaza ArcSDE do przechowywania danych
- Pulpit ArcMap do edycji danych i skompilowania dokumentu mapy
- ArcGIS Server do tworzenia usług sieciowych
- ArcGIS Server JavaScript API do tworzenia map użytkowników końcowych z usług internetowych
Jakie są równoważne produkty FOSS?
open-source-gis
Stephen Lead
źródło
źródło
Odpowiedzi:
Aby przechowywać dane , dwie pierwsze alternatywy, o których należy wspomnieć, to PostGIS i SpatiaLite .
SpatiaLite to baza danych SQLite z możliwościami przestrzennymi, co oznacza, że jest oparta na plikach, zwarta i szybka.
PostGIS to funkcje przestrzenne w bazie danych PostgreSQL. Oznacza to, że jest bardzo wydajny i ma zdolność do wydajnego przetwarzania dużych zestawów danych, złożonych zapytań.
Przed przejściem do pulpitu należy pamiętać, że bardzo wiele zadań można wykonać bardzo skutecznie bezpośrednio w bazie danych. Większość rzeczy, które zwykle robisz w ArcMap, czekając na pojawienie się różnych okien dialogowych, wykonasz wiele razy szybciej bezpośrednio za pomocą kilku linii kodu SQL. Oznacza to, że możesz również bardzo łatwo zapisać to, co zrobiłeś, i zrobić to ponownie na innym zestawie danych, po prostu zapisując kod SQL. Wiele pytań PostGIS tutaj dotyczy sposobu pisania tych zapytań, dzięki czemu można dowiedzieć się, co można zrobić, przeglądając pytania oznaczone postGIS.
Następnie strona pulpitu . Istnieje wiele rozwiązań komputerowych. Myślę, że czas przyznać, że po stronie komputera ESRI jest dobry. Jak powiedziano wcześniej, większość zadań wykonywanych w ArcMap lepiej wykonywać głębiej w bazie danych, ale jeśli chodzi o zadania, w których potrzebujesz rozwiązania komputerowego, ArcMap jest dobry. Używam QGIS , a gdybym miał budżet do wydania, przesunąłbym koszty licencji ESRI, aby wspierać usuwanie błędów w QGIS. QGIS to świetne oprogramowanie, które może zrobić mniej więcej wszystko, co potrafi ArcMap. Ale może do polerowania potrzebna jest jedna lub dwie licencje ArcInfo (pieniężne). Możesz także rzucić okiem na Open Jump , GvSIG , uDIG i więcej.
Jeśli chodzi o usługi sieciowe , masz MapServer, GeoServer, TinyOWS i wiele innych.
GeoServer jest prawdopodobnie najłatwiejszym początkiem, ponieważ ma dość intuicyjny interfejs WWW. GeoServer może robić większość rzeczy, które chcesz. Może obsługiwać usługi kafelkowe WMS WFS i tak dalej. Wszystko jest napisane w Javie.
MapServer jest napisany w C i myślę, że uczciwie jest powiedzieć, że jest królem usług WMS. Przynajmniej wygrał zeszłoroczną strzelaninę na konferencji FOSS4G (ESRI nie odważyła się wziąć udziału). Mapserver jest konfigurowany przez „plik mapy” i nie znam żadnego interfejsu graficznego. Ale dla poważnego serwowania WMS jest to bardzo interesująca alternatywa.
W przypadku edytowalnych usług WFS masz GeoServer wspomniany wcześniej, ale także TinyOWS . TinyOWS to mały serwer wfs napisany w C. Ostatnio został bardziej zintegrowany z Mapserver, ponieważ możesz używać tego samego pliku map dla obu.
Następnie po stronie klienta w sieci . Nie wiem dużo o wszystkich możliwościach, ale większość rozwiązań jest budowana w taki czy inny sposób na OpenLayers, która jest biblioteką JavaScript.
Przechodząc ze świata ESRI, myślę, że otwiera dla ciebie kolejną bardzo ważną możliwość. Jeśli chcesz, możesz również odejść od platformy Windows. Możesz umieścić wszystko na dowolnej dystrybucji Linuksa.
Wspomniane wyżej oprogramowanie wraz z Linuksem znacznie zmniejszy zapotrzebowanie na sprzęt.
Przykładem dobrze działającego oprogramowania FOSS jest mapa Norgeskart , oficjalnego organu ds. Map w Norwegii.
Na dole używają PostGIS obsługującego Mapserver. Buforowanie kafelków w Geowebcache i używanie na wierzchu klienta opartego na OpenLayer. Nie jest krzykliwy jak rozwiązanie Silverlight , ale można to również zrobić.
Wcześniej używali oprogramowania ESRI, ale musieli z niego zrezygnować, gdy wzrosły ich potrzeby w zakresie wydajności i szybkości.
źródło
Nicklas wskazał już na najpopularniejsze pakiety open source. Jeśli jesteś zainteresowany bliższym sprzężeniem GIS na pulpicie i serwerze, możesz przyjrzeć się bliżej QGIS.
Podobnie do konfiguracji opisanej dla ArcGIS, istnieje taka konfiguracja dla QGIS:
źródło
Mówiąc z perspektywy tego, czego używam na co dzień (choć jest to zabarwione moim zaangażowaniem w większość projektów):
PostGIS, SQLite i Shapefiles, w kolejności od najlepszej bazy danych do najbardziej przenośnego formatu.
QGIS dla operacji przestrzennych, TileMill do kompilowania dokumentu mapy (zakładając, że masz na myśli dokument mapy jak w stylach, kombinacji źródeł danych itd.)
TileStream do wyświetlania wygenerowanych map z TileMill lub TileStache do renderowania na żywo. Jednak wiele grup wybiera drogę generowania map zamiast serwowania ich na żywo, biorąc pod uwagę doświadczenie w utrzymywaniu serwerów w trybie online i szybkim.
Ulotka, jeśli chcesz uniknąć dodatkowego rozwoju. TurfJS do zadań analitycznych w przeglądarce.
źródło
Stos można zainstalować z witryny postgresql za pomocą programu installinstaller.
Najprostszym rozwiązaniem jest zainstalowanie stosu LAPP z Postgresql, zawierającego bazę danych Post GIS i być może serwer tomcat, który wywołuje Apache, na koniec potrzebna byłaby nazwa domeny lub obsługa ISP podająca dane do sieci z serwera.
Zainstaluj QGIS, aby uzyskać ładny GUI z przyzwoitą funkcjonalnością aplikacji i podłącz go do swojego kontenera Post GIS. Działa dobrze bez apache i tomcat dla intranetów.
Konieczne byłoby opracowanie aplikacji przy użyciu katalogu głównego instalacji apche do udostępniania przez Internet, chyba że jest się w chmurze.
Rozwój w przeglądarce jako klient, który można wywołać w przeglądarce, wymaga większego rozwoju i wymaga czegoś takiego jak Open Layers i Mapfish. Jest to najmniej bolesny sposób, a także wiele innych opcji i rozważań.
Na pulpicie działa to jednak dobrze, bez Mapfish i Open Layers.
Oto, jak to wygląda, logicznie. Wyślij GIS> Postgresql> Geoserver> QGIS> Tomcat> Mapfish
źródło