Was sind die FOSS-Entsprechungen zu diesen ArcGIS-Produkten? [geschlossen]

49

Ich bin ein langjähriger Benutzer von ESRI-Software und muss jetzt freie und Open-Source-Software verwenden.

Ich habe über OpenLayers, PostgreSQL, PostGIS, GeoServer und MapServer gelesen, finde aber keinen guten Überblick darüber, was jedes Produkt macht, warum es benötigt wird und wie sie alle zusammenpassen.

Beispielsweise führen http://www.osgeo.org/ und http://freegis.org/ beide eine Reihe von Produkten auf, geben jedoch nicht genügend Informationen an, damit ich entscheiden kann, welche relevant sind.

In ArcGIS würde ich Folgendes verwenden:

  • File-Geodatabase oder ArcSDE-Geodatabase für die Datenspeicherung
  • ArcMap Desktop zum Bearbeiten der Daten und Kompilieren des Kartendokuments
  • ArcGIS Server zum Erstellen von Web-Services
  • ArcGIS Server-JavaScript-API zum Erstellen der Endbenutzer-Maps aus den Web-Services

Was sind die äquivalenten FOSS-Produkte?

Stephen Blei
quelle
4
Antworten auf diese Frage könnten eine großartige Reihe von Blogeinträgen ergeben :-).
whuber
3
Ich halte einen Artikel "Erste Schritte mit FOSS4G" für äußerst nützlich. Die meisten der Ressourcen, die ich gesehen habe, wurden von erfahrenen Entwicklern für erfahrene Entwickler geschrieben, ohne einen Überblick auf hoher Ebene zu haben
Stephen Lead
@whuber ich stimme zu, sollten wir auch die bevorstehende FOSS4G 2011 Konferenz fördern .
Kirk Kuykendall
@Kirk Ich betrachte die Aussicht, etwas zu bewerben - Konferenzen, Software, was auch immer - als außerhalb des Geltungsbereichs dieser Website liegend und als destruktiven Einfluss durch potenzielle Interessenkonflikte (oder deren Auftreten). Ein Werbemechanismus besteht durch Werbung auf der Website, die zwischen den Veranstaltern der Konferenz und der SE besteht. Bemerkenswerte und berichtenswerte Ereignisse jedoch wurden veröffentlicht hier. Vielleicht ist das Posten in unserem Blog der
richtige
1
@whuber, sorry, ich hätte es ausarbeiten sollen. Eine Reihe von Blogs zu FOSS könnte auch für die FOSS4G-Konferenz werben. Ein Grund, warum ich dies vorschlage, ist, denjenigen, die wahrscheinlich als Werbung für Esri-Konferenzen dienten, die gleiche Zeit einzuräumen.
Kirk Kuykendall

Antworten:

63

Zum Speichern der Daten sind die ersten beiden zu erwähnenden Alternativen PostGIS und SpatiaLite .

  • SpatiaLite ist eine SQLite-Datenbank mit räumlichen Funktionen, die dateibasiert, kompakt und schnell ist.

  • PostGIS bietet räumliche Funktionen für eine PostgreSQL-Datenbank. Das bedeutet, dass es sehr leistungsfähig ist und große Datenmengen und komplexe Abfragen effizient verarbeiten kann.

Bevor Sie auf den Desktop wechseln, sollten Sie sich darüber im Klaren sein, dass sehr viele Aufgaben direkt in der Datenbank sehr effizient erledigt werden können. Die meisten Aufgaben, die Sie in ArcMap normalerweise ausführen , während Sie darauf warten, dass verschiedene Dialogfelder angezeigt werden , werden Sie mit ein paar Zeilen SQL-Code um ein Vielfaches schneller ausführen. Das bedeutet, dass Sie das, was Sie getan haben, auch ganz einfach speichern und in einem anderen Datensatz erneut ausführen können, indem Sie einfach Ihren SQL-Code speichern. Viele der hier gestellten PostGIS-Fragen beziehen sich auf das Schreiben dieser Abfragen. Sie können sich also ein Bild davon machen, was Sie tun können, wenn Sie Fragen mit PostGIS-Tags durchsuchen.

Dann die Desktop-Seite . Es gibt viele Desktop-Lösungen. Ich denke, es ist Zeit zuzugeben, dass ESRI auf der Desktop-Seite gut ist. Wie bereits erwähnt, sind die meisten Aufgaben, die Sie in ArcMap ausführen , in der Datenbank besser erledigt, aber wenn es um die Aufgaben geht, für die Sie die Desktop-Lösung benötigen, ist ArcMap gut. Was ich benutze, ist QGIS . Wenn ich ein Budget hätte, würde ich die ESRI-Lizenzkosten verschieben, um die Fehlerbehebung in QGIS zu unterstützen. QGIS ist eine großartige Software, die mehr oder weniger alles kann, was ArcMap kann. Möglicherweise sind jedoch eine oder zwei ArcInfo-Lizenzen (in Geld) erforderlich, um das Problem zu beheben. Sie können sich auch Open Jump , GvSIG , uDIG und mehr ansehen .

Wenn es um Webservices geht, gibt es MapServer, GeoServer, TinyOWS und mehr.

  • GeoServer ist wahrscheinlich der einfachste Einstieg, da es eine recht intuitive Weboberfläche hat. GeoServer kann die meisten gewünschten Aufgaben ausführen. Es kann WMS WFS Tiled-Dienste usw. bereitstellen. Es ist alles in Java geschrieben.

  • MapServer ist in C geschrieben und ich denke, es ist fair zu sagen, dass es der König der WMS-Dienste ist. Zumindest hat es letztes Jahr das Shootout auf der FOSS4G-Konferenz gewonnen (ESRI wagte es nicht, daran teilzunehmen). Mapserver wird über eine "Map-Datei" konfiguriert und ich kenne keine grafische Oberfläche. Aber für ernsthafte WMS-Dienste ist es eine sehr interessante Alternative.

  • Für editierbare WFS-Dienste haben Sie GeoServer bereits erwähnt, aber auch TinyOWS . TinyOWS ist ein kleiner WFS-Server, der in C geschrieben wurde. In letzter Zeit wurde er stärker in Mapserver integriert, da Sie für beide dieselbe Map-Datei verwenden können.

Dann die Client-Seite im Web . Ich weiß nicht viel über alle Möglichkeiten dort, aber die meisten Lösungen sind auf die eine oder andere Weise auf OpenLayers aufgebaut, bei dem es sich um eine Javascript-Bibliothek handelt.

Ein Umzug aus der ESRI-Welt eröffnet Ihnen meiner Meinung nach eine weitere sehr wichtige Möglichkeit. Wenn Sie möchten, können Sie sich auch von der Windows-Plattform entfernen. Sie können alles auf jede Linux-Distribution schreiben.

Die oben erwähnte Software reduziert zusammen mit Linux den Hardwarebedarf erheblich.

Ein Beispiel für eine gut funktionierende FOSS-Software ist die Karte von Norgeskart , von der offiziellen Kartenbehörde in Norwegen.

Im Grunde verwenden sie PostGIS, um Mapserver zu bedienen. Zwischenspeichern von Kacheln in Geowebcache und Verwenden eines OpenLayer-basierten Clients. Es ist nicht auffällig wie eine Silverlight- Lösung, aber das ist auch möglich.

Sie haben zuvor ESRI-Software verwendet, mussten diese jedoch verlassen, wenn sich ihre Anforderungen in Bezug auf Kapazität und Geschwindigkeit erhöhten.

Nicklas Avén
quelle
Nicklas, vielen Dank - das hilft mir wirklich zu wissen, wo ich anfangen soll
Stephen Lead
2
Meiner Erfahrung nach ist die Kartografie der einzige Ort, an dem GIS-Aktivitäten nach wie vor unbestritten hoch im Kurs stehen. Ich würde gerne eine Kombination aus QGIS und Inkscape oder Scribus sehen und hatte einige Erfolge mit QGIS + Inkscape, aber nur mit Karten, die nur sehr wenige Features und Eckpunkte enthalten (wobei "wenige" zu Tausenden im Gegensatz zu Zehn oder Hunderten steht) von Tausenden). Ein zweiter Schwerpunkt ist der Zusammenhalt. Mit arcgis ist, sofern man Geld hat, fast alles da. Mit Zahnseide verbringt man viel Zeit damit, Dinge zusammenzukleben. Dies verbessert sich jedoch schnell, insbesondere bei QGIS.
Matt Wilkie
21

Nicklas hat bereits auf die beliebtesten Open-Source-Pakete hingewiesen. Wenn Sie an einer engeren Kopplung von Desktop- und Server-GIS interessiert sind, sollten Sie sich QGIS genauer ansehen.

Ähnlich wie bei dem von Ihnen für ArcGIS beschriebenen Setup gibt es ein solches Setup für QGIS:

Underdunkel
quelle
3
Das Beispiel webgis.uster.ch ist exzellent!
Stephen Lead
2
Besonders gut gefällt mir die Druckfunktion.
Underdunkel
6

Ich spreche aus der Perspektive dessen, was ich tagtäglich benutze (obwohl dies durch meine Beteiligung an den meisten Projekten beeinflusst wird):

  • File-Geodatabase oder ArcSDE-Geodatabase für die Datenspeicherung

PostGIS, SQLite und Shapefiles in der Reihenfolge von der besten Datenbank zum portabelsten Format.

  • ArcMap Desktop zum Bearbeiten der Daten und Kompilieren des Kartendokuments

QGIS für räumliche Operationen, TileMill zum Kompilieren des Kartendokuments (unter der Annahme, dass Sie Kartendokumente wie Stile, Kombination von Datenquellen usw. meinen)

  • ArcGIS Server zum Erstellen von Web-Services

TileStream zum Bereitstellen generierter Karten aus TileMill oder TileStache für Live-Rendering. Viele, viele Gruppen generieren jedoch eher Karten als Live-Dienste, da die Server immer online und schnell sind.

  • ArcGIS Server-JavaScript-API zum Erstellen der Endbenutzer-Maps aus den Web-Services

Faltblatt, wenn Sie keine zusätzlichen Entwicklungsarbeiten durchführen möchten. TurfJS für Analyseaufgaben im Browser.

tmcw
quelle
cool, danke für die tipps. Ich werde sie alle überprüfen
Stephen Lead
3
  • file geodatabase = PostGIS
  • ArcMap = QGIS mit einem PostGIS im Postgresgl-Backend
  • ArcGIS Server = Geo-Server, Kartenserver, QGIS-Server
  • ArcGIS Server-JavaScript-API zum Erstellen der Endbenutzer-Maps aus den Web-Services = Open Layers mit Mapfish.

Der Stack kann von der postgresql-Site mit dem stackinstaller installiert werden.

Die einfachste Lösung besteht darin, einen LAPP-Stack mit Postgresql zu installieren, der eine Post-GIS-Datenbank und möglicherweise einen Tomcat-Server enthält, der Apache aufruft. Zum Schluss benötigen Sie einen Domainnamen, oder Ihr ISP-Support stellt Daten von Ihrem Server für das Web bereit.

Installieren Sie QGIS für eine schöne GUI mit angemessenen Anwendungsfunktionen und verbinden Sie es mit Ihrem Post-GIS-Container. Funktioniert gut ohne Apache und Tomcat für Intranets.

Sie müssen eine Anwendung mit dem Webstamm der apche-Installation entwickeln, um sie über das Internet bereitzustellen, sofern Sie nicht cloudbasiert sind.

Das Entwickeln in einem Browser als Client, der im Browser aufgerufen werden kann, ist entwicklungsintensiver und erfordert so etwas wie Open Layers und Mapfish. Dies ist der am wenigsten schmerzhafte Weg und es gibt viele andere Optionen und Überlegungen.

Für den Desktop funktioniert dies jedoch ohne Mapfish und Open Layers.

Hier ist eine Art, wie es aussieht, logisch. GIS bereitstellen> Postgresql> Geoserver> QGIS> Tomcat> Mapfish

Lewis
quelle