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?
open-source-gis
Stephen Blei
quelle
quelle
Antworten:
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.
quelle
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:
quelle
Ich spreche aus der Perspektive dessen, was ich tagtäglich benutze (obwohl dies durch meine Beteiligung an den meisten Projekten beeinflusst wird):
PostGIS, SQLite und Shapefiles in der Reihenfolge von der besten Datenbank zum portabelsten Format.
QGIS für räumliche Operationen, TileMill zum Kompilieren des Kartendokuments (unter der Annahme, dass Sie Kartendokumente wie Stile, Kombination von Datenquellen usw. meinen)
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.
Faltblatt, wenn Sie keine zusätzlichen Entwicklungsarbeiten durchführen möchten. TurfJS für Analyseaufgaben im Browser.
quelle
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
quelle