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.
python
c++
references
Wille
quelle
quelle
Antworten:
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
quelle
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.
quelle
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).
quelle
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.
quelle
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:
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.
quelle
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
quelle
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.
quelle
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.
quelle
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 :-)
quelle
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.
quelle