Wie entwickle ich meine GIS-Programmierkenntnisse?

30

Ich möchte meine GIS-Programmierkenntnisse verbessern. Wo fange ich an? Die Leute sagen, lernen Sie C ++ oder Python, aber wo kann ich das in einem geografischen Kontext lernen? Tutorials oder ähnliches wären sehr hilfreich, ebenso wie Informationen zu den zu verwendenden Sprachen / Programmen.

Wille
quelle
2
Hast du schon Programmierkenntnisse? Sie sollten sich zumindest mit den Grundlagen vertraut machen, bevor Sie sich im nicht ganz so einfachen Bereich der GIS versuchen.
Underdunkel
Beginnen Sie mit arcgis Python ... es ist einfach zu bedienen. Viele Muster sind verfügbar.
Ich bin Programmierer und ich kenne Delphi & D2k. Ich möchte GIS-Programmierung studieren, wie es online möglich ist. bitte helfen
Dies ist keine Antwort. Wenn Sie eine Frage stellen möchten, stellen Sie eine Frage. Wenn Sie dieser Frage folgen möchten, markieren Sie sie als Favorit und versuchen Sie es erneut.
Branco

Antworten:

18

Es gibt einen Blogbeitrag von Michalis Avraam , der die wesentlichen Fähigkeiten für den Erfolg in der GIS-Karriere erklärt, was meiner Meinung nach gut geschrieben ist. Sie werden dort wahrscheinlich viele gute Ratschläge finden.

UPDATE: Leider sind die oberen Links tot, aber ein ähnliches Thema ist in einem Forschungsartikel zu finden. Ermitteln der Qualifikationsanforderungen für GIS-Positionen: Eine Inhaltsanalyse von Stellenanzeigen

Mario Miler
quelle
1
Die obigen Michalis Avraam-Links sind kaputt?
Umar Yusuf
@UmarYusuf thaks für die Benachrichtigung für tote Links. Ich habe einen Link mit einem ähnlichen Thema aktualisiert.
Mario Miler
Hier ist eine URL zum Blog-Post von Michalis Avraam - dusk.geo.orst.edu/gis/PPTs/essential_skills.pdf
birdybird03
13

Ich mag Chris Garrards Python für die Geoverarbeitung von Kursmaterialien. http://www.gis.usu.edu/~chrisg/python/2009/ Persönlich halte ich die programmatische Manipulation von OGR / GDAL für unverzichtbar.

Überlegen Sie, welche Software oder welcher Geostack für Sie am besten geeignet ist (z. B. ArcGIS, QGIS, PostGIS-GeoServer-OpenLayers), und wählen Sie dann die Programmiersprache (n) aus, die Ihre Auswahl am besten unterstützen. Dies lässt sich feststellen, indem Sie die Sprache der zugehörigen API oder andere Lernprogramme zur Anpassung überprüfen. Es gibt eine Menge Lernressourcen für Online-Programmierung, und eine Websuche Ihres bevorzugten Softwarepakets + Sprache + "Tutorial" wird Sie zum Laufen bringen.

Ich glaube auch an "learning by doing". Erstellen Sie beispielsweise eine einfache Karte mit Javascript und Google Maps und versuchen Sie, Geometrie, Stil, Benutzeroberfläche und Analysen von Interesse hinzuzufügen. Arbeiten Sie daran zu sehen, was möglich ist und was nicht. Während der Erstellung benötigen Sie komplexere Tools für die Anpassung, die auf relevante Plaftorms, Sprachen und Bibliotheken verweisen.

Glennon
quelle
10

Beginnen Sie nicht mit C ++ und GIS, ohne zuerst die Softwareentwicklung zu erlernen. Es ist einfach zu viel.

Python ist ein guter Startpunkt, unabhängig davon, mit welcher GIS-Plattform Sie später arbeiten. Es gibt viele Bücher, Websites und Schulungsmaterialien und viele Colleges verwenden Python als Einführung, bevor sie sich mit den Hochleistungsprogrammiersprachen wie C ++ und Java befassen.

Meine bevorzugten Python-Ressourcen außerhalb dieser Site sind Show Me Do , Think Python , Stack Overflow und die Mailinglisten der von mir verwendeten Software (hauptsächlich GDAL und ArcGIS).

Matt Wilkie
quelle
7

Ich konnte Python lernen, indem ich mich mit einer Ausgabe von Learning Python von Lutz & Ascher (O'Reilly Press) hinsetzte. In meinem Büro werden ESRI-Produkte verwendet. Um eine Verbindung mit ArcGIS herzustellen, habe ich mit ESRI Model Builder mehrere Modelle erstellt und in Python exportiert. Anschließend mussten Sie sich nur die exportierten Python-Skripts ansehen, das Buch durchsuchen und das Online-Hilfesystem von ESRI für die Geoverarbeitungsthemen verwenden, um eine bessere Vorstellung davon zu erhalten, wie Python und ArcGIS zusammenarbeiten.

Jason V
quelle
3

Es gibt nur sehr wenige Colleges / Universitäten, die Programmierkurse im Zusammenhang mit GIS anbieten. Ich würde das Elmhurst College GIS Certificate Program empfehlen, bei dem zwei (2) dieser Kurse Teil des GIS Cert sind. Programm, beide programmierbezogen:

  1. ISG 100 GIS-Programmierung mit ArcObjects
  2. ISG 200 Implementieren von Geodatabases

    http://public.elmhurst.edu/adult/gis

Das gesamte Programm ist online und sie haben einen dedizierten GIS-Server. Sie unterrichten hauptsächlich Python.

Reich
quelle
2

Das Programmieren in GIS ist eine der Fähigkeiten, die in The Geospatial Technology Competency Model (GTCM) aufgeführt sind, das gerade herausgekommen ist und einige zusätzliche Fähigkeiten enthält, die möglicherweise die ultimative Referenzquelle dafür sind: http://www.careeronestop.org/ competencymodel / blockModel.aspx? tier_id = 4 & block_id = 708 & GEO = Y

Reich
quelle
Und es empfiehlt GeoTools als Toolkit - nicht, dass wir uns selbstgefällig fühlen oder so :-)
Ian Turton
2

Die Antwort hängt stark vom verwendeten System und dem Betriebssystem ab. Ich programmiere hauptsächlich Manifold unter Windows oder webbasierte Apps mit Manifold im Backend, sodass ich aus einer beliebigen .NET-Sprache auswählen kann. C # ist meine persönliche Wahl, da die meisten Beispiele und Tutorials, die Sie im Web finden, in C # vorliegen (zumindest für .NET).

Da Sie gerade erst anfangen, ist Manifold möglicherweise keine schlechte Wahl. Sie können es für unter 300 US-Dollar erwerben und mit den kostenlosen Express-Versionen von Visual Studio entwickeln.

Wenn Sie ein bisschen genauer sein können, können wir Ihnen wahrscheinlich weiterhelfen.

dmbrubac
quelle
1

Der ESRI Virtual Campus bietet ein paar kurze Einführungskurse in die Verwendung von Python für die Skripterstellung in ArcGIS. Ich denke, einer von ihnen ist frei. Wenn Sie einen nehmen, ist dies eine großartige Möglichkeit, um zu sehen, ob Sie bereit sind, tiefer in diesen Bereich einzutauchen.

L_Holcombe
quelle
1

Lernen Sie in ArcMap die Grundlagen des Umgangs mit räumlichen Objekten. Wenn Sie mit einer Operation vertraut sind, versuchen Sie, den Prozess mit ModelBuilder einzurichten. Model Builder ist das Äquivalent zu Lego in der ESRI-Welt. Es ermöglicht Ihnen, Python-Code zu generieren. Dieser Code wird vereinfacht, aber es wird funktionieren.

WingIDE ist ein Tool, mit dem Sie Python-Skripte einfach handhaben und eine vorhersehbare Umgebung zum Testen Ihrer Skripte bereitstellen können. Öffnen Sie das Model Builder-Skript in der IDE Ihrer Wahl und spielen Sie damit herum.

Wie Programmiersprachen gehen, ist Python eine niedrig hängende Frucht. Es bringt dich von der einfachen Ebene aufwärts :-)

Ragnvald
quelle
0

Ich bin überrascht, dass PyQGIS Developer Cookbook noch nicht da ist. Ich halte es für unverzichtbar, um meine alten GIS-Fähigkeiten und meine neuen Python-Fähigkeiten miteinander in Einklang zu bringen, insbesondere, wenn ich jetzt keinen Zugriff auf ArcGIS habe. Wenn Sie ArcGIS-orientierter sind, stehen Ihnen viel mehr Ressourcen zur Verfügung.

Es gibt eine Liste von Python-Trainingsprogrammen auf StackOverflow. Ich persönlich bevorzuge Checkio .

Beginnen Sie mit Python und lernen Sie später weitere Sprachen, es sei denn, Sie verfügen bereits über fundierte Kenntnisse in einer anderen Sprache (C # für ArcGIS, C ++ für OpenSource-GIS). Die meisten GIS-bezogenen Funktionen sollten eine ähnliche Syntax und Verwendung in Python und diesen Sprachen haben, daher sollte es nicht so schwierig sein, sie mit Vorkenntnissen in Python zu erlernen.

Pavel V.
quelle