Jakie są odpowiedniki FOSS tych produktów ArcGIS? [Zamknięte]

49

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?

Stephen Lead
źródło
4
Odpowiedzi na to pytanie mogą być świetną serią wpisów na blogu :-).
whuber
3
Myślę, że bardzo przydatny byłby artykuł „Jak zacząć korzystać z FOSS4G”. Większość zasobów, które widziałem, zostały napisane przez doświadczonych programistów dla doświadczonych programistów, bez ogólnego przeglądu
Stephen Lead
@ whuber Zgadzam się, że powinniśmy również promować nadchodzącą konferencję FOSS4G 2011 .
Kirk Kuykendall
@Kirk Perspektywa promowania czegokolwiek - konferencji, oprogramowania, cokolwiek - uważam za nieobjęty zakresem tej witryny i wywierający niszczący wpływ w wyniku potencjalnego konfliktu interesów (lub jego wyglądu). Istnieje mechanizm promocji poprzez reklamę na stronie, która jest kwestią między organizatorami konferencji a SE. Znane i warte uwagi wydarzenia zostały jednak tutaj opublikowane . Może publikowanie na naszym blogu jest
właściwą
1
@ whuber, przepraszam, powinienem był opracować. Seria blogów na FOSS mogłaby również promować konferencję FOSS4G. Jednym z powodów, dla których sugeruję, jest zapewnienie równego czasu temu, co prawdopodobnie wydawało się promocjom na konferencje Esri.
Kirk Kuykendall

Odpowiedzi:

63

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.

Nicklas Avén
źródło
Nicklas, dziękuję bardzo - to naprawdę pomaga mi wiedzieć, od czego zacząć
Stephen Lead
2
Z mojego doświadczenia wynika, że ​​jedynymi miejscami działalności GIS, w których ESRI wciąż bezsprzecznie zajmuje wysokie miejsce, są kartografia. Chciałbym zobaczyć kombinację qgis i inkscape lub scribus i odniosłem pewien sukces z qgis + inkscape, ale tylko z mapami obejmującymi bardzo niewiele funkcji i wierzchołków (gdzie „mało” oznacza tysiące, w przeciwieństwie do dziesiątek lub setek tysięcy). Drugim obszarem rozpowszechnienia jest spójność. W Arcgis, pod warunkiem, że ma się pieniądze, większość tam jest. W przypadku nici dentystycznej spędza się dużo czasu na sklejaniu. Szybko się to poprawia, szczególnie u qgis.
matt wilkie
21

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:

podmrok
źródło
3
przykład webgis.uster.ch jest doskonały!
Stephen Lead
2
Szczególnie podoba mi się funkcja drukowania.
podmroku
6

Mówiąc z perspektywy tego, czego używam na co dzień (choć jest to zabarwione moim zaangażowaniem w większość projektów):

  • geobaza plików lub geobaza ArcSDE do przechowywania danych

PostGIS, SQLite i Shapefiles, w kolejności od najlepszej bazy danych do najbardziej przenośnego formatu.

  • Pulpit ArcMap do edycji danych i skompilowania dokumentu mapy

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.)

  • ArcGIS Server do tworzenia usług sieciowych

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.

  • ArcGIS Server JavaScript API do tworzenia map użytkowników końcowych z usług internetowych

Ulotka, jeśli chcesz uniknąć dodatkowego rozwoju. TurfJS do zadań analitycznych w przeglądarce.

tmcw
źródło
super, dzięki za wskazówki. Sprawdzę je wszystkie
Stephen Lead
3
  • plik geodatabase = PostGIS
  • ArcMap = QGIS z PostGIS w backendie Postgresgl
  • ArcGIS Server = Geo Server, Map Server, QGIS Server
  • ArcGIS Server JavaScript API do tworzenia map użytkowników końcowych z usług internetowych = Otwórz warstwy za pomocą Mapfish.

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

chwytak
źródło