Suchen Sie eine hochgradig anpassbare GIS-Plattform? [geschlossen]

9

Ich wurde mit ArcGIS (Desktop und Workstation) in GIS geschult und habe mit (sehr) kurzen Einblicken in MapInfo und uDig damit recherchiert. Während dieser Zeit war ich mit dem Programm zufrieden, da ich relativ kleine Datenbanken verwendete und nicht viele Wiederholungsaufgaben erledigte und ArcGIS viele coole Tools zum Analysieren wissenschaftlicher Daten hat.

Seit meinem Abschluss arbeite ich seit zwei Jahren in einem ganz anderen Unternehmen. Ich beschäftige mich mit riesigen Datenbanken und erledige relativ "einfachere" Aufgaben, aber darüber hinaus bestehen sie aus sich wiederholenden Aufgaben (ich mache einmal pro Woche eine Reihe einfacher Aufgaben für die gesamte Datenbank). Während dieser Zeit habe ich viel AutoCAD verwendet (da viele unserer Daten mit AutoCAD gezeichnet werden) und es immer mehr zu schätzen gelernt. Der größte Vorteil ist, dass Sie mit der Programmiersprache LISP und mit Systemvariablen ein Ganzes steuern können Viele der Einstellungen - ob es darum geht, den Standardwert für ein Werkzeug anzupassen, die Verwendung von Dialogfeldern im Programm zu eliminieren oder Optionen zum Skript zum automatischen Öffnen und Bearbeiten von Zeichnungen.

Gibt es kostenlose oder nicht kostenlose GIS-Plattformen mit diesem hohen Anpassungsgrad oder bin ich zu frustrierter manueller Arbeit verurteilt?

Ich bevorzuge Plattformen mit einer guten Benutzeroberfläche entlang der Skriptoptionen, aber das ist kein Muss.

jonatr
quelle
6
In ArcGIS gibt es Aufgaben, die hervorragend skriptfähig und automatisierbar sind, andere definitiv nicht, und einen Bereich dazwischen. Dito für alle anderen Plattformen. Wenn Sie Beispiele für die Art von Handarbeit geben können, die Sie vermeiden möchten, gibt es möglicherweise einige spezifische hilfreiche Antworten.
Matt Wilkie
@PolyGeo Sie wissen, dass dies eine 7 Jahre alte Frage ist, die bearbeitet werden soll?
Nicklas Avén
@ NicklasAvén Ich fordere definitiv nicht, dass es bearbeitet wird. Ich habe einfach dafür gestimmt, dass es geschlossen wird, damit es nicht als eine Frage angesehen wird, die als geeignet erachtet wird, als Modell für eine ähnliche Frage zu dienen, die heute gestellt wird. Um zu versuchen, einige der Gründe anzusprechen, warum ich denke, dass dies der Fall ist, habe ich selbst einige Änderungen daran vorgenommen. Ob solche alten Fragen geschlossen werden sollten, wird unter meta.stackexchange.com/a/194117/215590
PolyGeo

Antworten:

5

Ich bin nicht erfahren genug, um eine Antwort aus sehr vielen Aspekten zu geben, aber ... Ich habe meine ersten Dinge in GIS in ArcView 3.x in Avenue geschrieben. Die Geschwindigkeit und die Möglichkeiten haben mir sehr gut gefallen. Dann habe ich nie die Freude verstanden, darauf zu warten, dass ArcGIS gestartet wird, nach dem richtigen Werkzeug zu suchen und dann das Werkzeug zu finden, das ich brauche, und ArcInfo benötigt.

Meine neue Liebe ist PostGIS. Es ist sehr viel mehr als eine Datenbank zum Speichern. Die eingebaute Funktionalität ermöglicht es, alle Verarbeitungen und Analysen durchzuführen, die ich bisher verwendet habe. In den meisten Fällen ist es sehr viel schneller als Arc-Produkte.

In der Open Source-Welt erhalten Sie nicht für alles eine Lösung, aber es gibt Projekte und Software, die alle Ihre Anforderungen abdecken.

Wie gesagt, ich verarbeite und analysiere in PostGIS. Ich kann die SQL-Abfragen in Textdateien speichern, um sie wiederzuverwenden (wie jedes Tool in anderer Software, aber viel transparenter). Sie können Funktionen in vielen verschiedenen Sprachen wie plpgsql (eine spezielle PostgreSQL-Sprache), Python, pLR, C und vielen mehr schreiben.

Für Desktop-GIS verwende ich hauptsächlich QGIS. Was nicht im Kern von QGIS enthalten ist, sind die Erweiterungen. Wenn das nicht genug ist, kannst du deine eigene Erweiterung in Python schreiben und ich denke auch C ++)

Wenn Sie an uDig gewöhnt sind, ist dies natürlich eine Alternative.

Wenn Sie ein Web-Mapping durchführen möchten, können Sie MapServer ausprobieren. Mapserver gewann den großen Benchmark auf der diesjährigen FOSS4G-Konferenz im Dienste von WMS. Esri wollte dieses Jahr nicht teilnehmen. Letztes Jahr hatten sie sich für die Teilnahme angemeldet, aber nie. Dieses Jahr haben sie sich nicht einmal registriert.

GeoServer ist eine weitere Alternative zum Bereitstellen von Webkarten. Es ist sehr benutzerfreundlich und bedient viele verschiedene Formate. Es verarbeitet auch WFS-T, sodass Sie Kartendaten bearbeiten und die Änderungen an den Server zurücksenden können.

Wenn Sie einen leichten und sehr schnellen WFS-T-Server wünschen, sollten Sie sich Tiny-OWS ansehen

Nun, die Liste könnte lange aus kompetenter Software bestehen, die zusammen eine sehr leistungsfähige und natürlich anpassbare Suite bildet.

Ich meine, kann es anpassbarer sein. Sie haben Zugriff auf den gesamten Quellcode. Und für das Geld, das Sie sparen, wenn Sie keine jährlichen Gebühren an Esri zahlen, können Sie kostenlos Programmieren lernen oder einen Programmierer einstellen. In diesen Projekten erhalten Sie viel Codierung für die Kosten einer ArcGIS Server-Lizenz.

Nicklas Avén
quelle
12

Ich stimme dir nicht zu.

Ich denke, die ArcGIS-Hilfe / Foren / Blogs / Videos / usw. bieten einen guten Überblick darüber, was Sie mit der ArcGIS-Produktreihe erreichen können.

Sie sind nicht auf Python beschränkt, um Ihre Geodaten zu bearbeiten. Sie können weiterhin VBA bei 931 und 10 verwenden, um auf die ArcObjects-Bibliothek zuzugreifen, oder Sie können noch einen Schritt weiter gehen und .NET verwenden, um alle möglichen Aufgaben zu erledigen. Auch dies ist gut dokumentiert.

Ich finde auch die Verknüpfungen für ArcGIS Desktop großartig, und Sie können bei Bedarf Ihre eigenen Verknüpfungen über das Dialogfeld "Anpassen" erstellen.

Wenn Sie nicht lernen möchten, wie man programmiert , gibt es auch ModelBuilder, mit dem sich mühsame Aufgaben / allgemeine Workflows, insbesondere bei der Geoverarbeitung , hervorragend automatisieren lassen .

Ich bin voreingenommen, habe aber Erfahrung mit anderen Produkten.

Ich weiß, dass Python nicht in der Lage ist, einfach anpassbare Benutzeroberflächen für Benutzer bereitzustellen, aber wie bereits erwähnt, können Sie mit VBA / .NET inhaltsreiche Formulare zusammenstellen, um Benutzern eine benutzerdefinierte Benutzeroberfläche zu bieten, auf der sie das tun können, was sie benötigen machen.

  • Mit .NET können Sie Skripte für MXDs erstellen (z. B. einen Ordner mit MXDs durchlaufen und jede MXD öffnen, einige Aufgaben ausführen und dann mit der nächsten MXD fortfahren
  • Das Bearbeiten von Standardwerten in Ihren Geodaten ist auch mit ArcObjects möglich.
Simon
quelle
Meine Programmierkenntnisse sind gut, aber ich bin in keiner Weise einem ausgebildeten Programmierer gewachsen (aber ich werde jeden Tag besser). Das gilt für Python / VBA. Da VBA leider (dank Microsoft) schnell den Bach runter geht, würde ich nur sagen, dass es meiner Erfahrung nach eine Schande ist, da es einerseits einfach und andererseits leistungsstark ist. Angesichts der Geschwindigkeit, mit der ESRI die Updates veröffentlicht (mit dem Versprechen, dass 10.1 VBA nicht unterstützt), sehe ich keine Rechtfertigung dafür, Zeit in das Erlernen der Entwicklung mit VBA zu investieren.
Jonatr
Und was VB.net / ArcObjects betrifft. Ich habe vergessen, mich darauf zu beziehen, da ich der Meinung bin (aufgrund der sehr geringen C # -Erfahrung), dass es nicht für den durchschnittlichen GIS-Analysten gedacht ist (der über Programmiererfahrung verfügt und grundlegende VBA / Python-Kenntnisse verwalten kann), sondern für erfahrene Allzeit-Experten. engagierte professionelle Programmierer. Es scheint mir, dass ESRI, indem es VB.net zur bevorzugten Sprache macht, einen ganzen Teil kleiner Unternehmen und Analysten aufgibt, die früher kleine Dinge für die persönliche Sichtweise angepasst haben.
Jonatr
Das grundlegende Problem, das ich mit VB.net habe, ist, dass ich leider nicht die Zeit investieren kann, um es von Grund auf neu zu lernen (es ist ein einjähriger Kurs), und alternativ kann ich keine Online-Referenzen \ Bücher finden, wie man mit ArcGIS arbeitet und VB.net. Soweit ich weiß, hat ESRI bis auf ein paar Codes keine Bücher zu diesem Thema (Dinge wie das Kennenlernen von Arcobjects, aber für c #). Wenn Sie es besser wissen, teilen Sie es bitte mit.
Jonatr
2
Das ist eine gute, separate Frage für gis.stackexchange.com: "1. Jedes Mal, wenn ich das Symbol öffne und zum Fenster Füllfarbe gehe, um die benötigten Farben anzupassen, wird es in CMYK geöffnet und ich muss es in RGB ändern." Möglicherweise gibt es einen nicht programmatischen Weg, um dieses Problem zu lösen.
Jay Cummins
1
Betreff: Ihre oben erwähnte Frage Nr. 2. Dieses Problem scheint mir pythonierbar, aber ich mache nicht viel mit Arcgis / Python, also wird vielleicht jemand anderes einen Kommentar abgeben. Ich würde empfehlen, dies in eine andere Frage für gis.stackexchange.com aufzuteilen (dies erleichtert zukünftigen, frustrierten GIS-Analysten, die eine Schleife erstellen, zoomen und exportieren müssen, um ihre Antwort zu finden).
Jay Cummins
4

"... Farbfenster füllen, um die benötigten Farben anzupassen. Es wird in CMYK geöffnet und ich muss es in RGB ändern."

  1. Komisch, ich habe letzte Woche gelernt, wie man das macht.

    • Öffnen Sie ArcMap -> fügen Sie eine Ebene hinzu -> gehen Sie zur Farbpalette
    • Ändern Sie den CYMK in RGB
    • Speichern Sie das Dokument in Normal.mxt unter Ihrem Dokument und Ihren Einstellungen (im ESRI-Ordner).
    • Schließen und erneutes Öffnen von ArcMap -> Von nun an wird standardmäßig immer RGB verwendet.
  2. DS Map Book könnte eine Lösung für Sie sein? Oder wenn Sie auf v10, D ata Driven Pages sind ? Wie gesagt, .NET / VBA-Skripte könnten dies tun. Ich bin nicht zu scharf auf Python, um eine Python-Lösung bereitzustellen

"arcobjects kennenlernen" aber für c #

Ich stimme dir hier zu. Ich weiß, dass ESRI sich dessen bewusst ist, bin mir aber nicht sicher, ob etwas in der Pipeline ist. Dieser Link kann als Starter hilfreich sein, wenn Sie einen Hintergrund in VBA haben. Ich würde immer noch argumentieren, dass die GTK AO immer noch eine gültige Lektüre ist und die gewonnenen Erkenntnisse weiterhin für .NET gelten (und Sie können das Buch in einer Woche um 1-2 Stunden pro Tag durcharbeiten).

Ich war / bin ein großer Fan von VBA ...

Simon
quelle
Vielen Dank. Ich habe heute Morgen den Staub von MEINER GTKAO-Kopie "gebürstet" und dachte, es ist Zeit, darauf zurückzukommen, da ich mich seit dem letzten halben Lesen verbessert habe. Vielleicht habe ich danach mehr Grundlagen, um in VB.Net einzutauchen und es anzugehen.
Jonatr
Ein Teil meines Problems besteht darin, die Computerabteilung des Unternehmens davon zu überzeugen, dass ich Visual Studio benötige (GIS ist nicht so beliebt - sie sehen uns nicht als Entwickler und ich muss kämpfen, um grundlegende Dinge zu bekommen). Das DS MapBook ist ein weiterer Grund für den Kampf mit Computern. Deshalb habe ich mich bis jetzt auf Python und VBA konzentriert - sie sind eingebaut und ich muss nicht darum kämpfen. Wie auch immer, danke für den Tipp zur CMYK / RGB-Angelegenheit, ich werde es ausprobieren.
Jonatr
@jonatr - Es gibt eine kostenlose Version von Visual Studio - ich denke, es heißt "Express". Es wird wahrscheinlich alles tun, was Sie brauchen. Die professionelle Version bietet meist nur mehr Tools für professionelle Entwickler.
Ich bin damit einverstanden, dass Visual Studio Express normalerweise umfangreich genug ist, um das zu erreichen, was Sie möchten. Es ist auf jeden Fall
Simon
3

Wenn Sie auf der ArcGIS-Plattform nicht zur manuellen Arbeit verurteilt sind, sind Sie dazu verdammt, Programmierarbeit zu leisten (nicht schlecht für mich, da mir so etwas Spaß macht)!

Ich kenne keine Möglichkeit in 9.3.x, Standardwerte in der Geodatabase zu überschreiben, ohne auf benutzerdefinierte Tools zurückzugreifen. Dies ist, was ich tue, insbesondere wenn es sich um eine Reihe sich wiederholender Bearbeitungsvorgänge handelt.

In ArcGIS 10 kann der Benutzer zunächst Vorlagen zum Erstellen von Features erstellen und Standardwerte für jede Vorlage festlegen. Die Vorlagen sind die Symbole für einen Feature-Layer. Sie können die Vorlagen zum Erstellen von Features jedoch nach Bedarf kopieren / entfernen / ändern . Ich bin noch nicht zu ArcGIS 10 übergegangen, aber dies ist eine der Funktionen, auf die sich unsere GIS-Editoren freuen.

Ich musste nie eine Verknüpfung entfernen, daher bin ich mir nicht sicher, ob Sie dies in einer beliebigen Version von ArcGIS tun können. Sie können sie definitiv hinzufügen (Beschleuniger). Ich bin nicht sicher, ob Sie sie überschreiben können. Wenn Sie können, können Sie sie möglicherweise mit einem Dummy-Befehl überschreiben, der nichts bewirkt.

Wie von Simon erwähnt, können Sie ArcObjects / .NET verwenden und mit mehreren MXDs arbeiten. Obwohl ich finde, dass ArcObjects sehr wählerisch ist, wenn das MXD entweder unterbrochene Datenverbindungen oder eine der verschiedenen Service-Schichten enthält. In ArcGIS 10 haben Sie arcpy.mapping in Python, das bei der Skripterstellung für MXDs / LYRs in Python hilft. Es ist immer noch ein kleiner Buggy, aber es könnte für Sie funktionieren, je nachdem, was Sie in Ihrem MXD haben.

Jay Cummins
quelle
Hallo. Da ich eine sehr lange Antwort an Simon geschrieben habe, möchte ich sie nicht kopieren und einfügen (siehe oben), aber ich würde es begrüßen, wenn Sie einen Kommentar abgeben würden (wenn Sie etwas zu kommentieren haben). Danke für die Antwort.
Jonatr
3

Obwohl ich ArcGIS wirklich mag, muss ich zugeben, dass die Möglichkeit, auf der Workstation ArcInfo bereitgestellte Überwachungsdateien zu erstellen, auf dem Desktop schmerzlich fehlt. Viele kennen die Fähigkeit von Excel, Makros aufzuzeichnen. Es scheint, als könnte ESRI ähnliche Funktionen entwickeln - auch nach 10.0, wenn VBA in den Ruhestand geht. Neooffice kann beispielsweise Python-Makros aufzeichnen .

ArcGIS Engine ist in hohem Maße anpassbar. Sie können damit kleine, fokussierte Tools erstellen, die eines tun und es gut machen. Es enthält Vorlagenprojekte für Visual Studio, einschließlich der kostenlosen Express Edition (?), Mit der kleine, leichte Kartenbetrachter-Apps ohne Codierung erstellt werden können. Um jedoch alle Vorteile von ArcGIS Engine nutzen zu können, müssen Sie Zeit in das Erlernen einer .NET-Programmiersprache investieren.

Kirk Kuykendall
quelle
1
Es ist nicht so nahtlos oder vollständig wie eine Überwachungsdatei , aber die Registerkarte Ergebnisse enthält den Verlauf Ihrer Geoverarbeitung, der per Drag & Drop in Model Builder gezogen oder in Python-Snippets exportiert werden kann. Ich verwende dies als eine Art verbesserten Metadatenverlauf für Datensätze.
Matt Wilkie
Außerdem gibt es hier einen Verlauf von GP-Tools als XML-Datei% AppData% \ Roaming \ ESRI \ Desktop10.0 \ ArcToolbox \ History. Die XML-Datei weist einige Probleme auf, die unter 10.1 behoben werden. aber es kann eine interessante Option für Sie sein.
Gotchula
1

Dies ist die Realität, wenn das Toolset die Datenbank steuert und nicht umgekehrt. Sie scheinen sich an der Stelle zu befinden, an der Sie eine umfassende Datenbankstruktur benötigen, mit der Sie Berichte ableiten, Aktualisierungen erstellen, Karten veröffentlichen usw. mit oder ohne GIS-Teil. Wenn Sie die Daten aus dem Tool freigeben, können Sie ein geeignetes Tool Ihrer Wahl verwenden. Deshalb haben wir offene Standards. Von dort aus können Sie die Anwendung verwenden, die den gewünschten Zweck am besten erfüllt. Ich hatte heute Morgen gerade das Gespräch, dass wenn Sie Daten in Spalten darstellen, diese nicht zu einer Excel-Tabelle werden.

Ein anderer Antwortender diskutierte die Einschränkung von Python, dies ist jedoch nicht der Fall. Aufgrund der umfangreichen Bibliotheken können Sie mit Python wahrscheinlich mehr Dinge tun als mit den meisten anderen Sprachen, und die Schnittstellen sind nicht so schwierig. Was einschränkt, ist die ESRI-Implementierung von Python in ArcGIS. Verwechseln Sie die beiden nicht.

westyvw
quelle
1

Vielleicht möchten Sie MapWindow als kostenlose Alternative ausprobieren ... liest Shapefiles usw., aber Sie müssen wissen, wie man in C # programmiert. Aber dann haben Sie die totale Kontrolle über alles ...

http://www.mapwindow.org/

Zeitspiegel
quelle
Das Problem besteht darin, Kenntnisse in C # zu erlangen, was nicht trivial und sehr zeitaufwändig ist. Aber danke, ich werde es mir merken.
Jonatr