Vorwort
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Python for Geospatial Data Analysis ist eine Einführung in die Analyse von Geodaten mithilfe einer Auswahl von Python-Bibliotheken und -Paketen, die für die Erkundung und Entdeckung optimiert sind. In den letzten Jahren, als das Internet der Dinge aufkam und Standortdaten auf lokalen Computern verfügbar wurden, haben Fachleute aus einer Vielzahl von Bereichen Geodatenplattformen mit integrierten Analysefunktionen erkundet - Geodatenexperten, Datenwissenschaftler, Wirtschaftsanalysten, Geografen, Geologen, Forscher, Analysten, Informatiker und Statistiker, um nur einige zu nennen. Diese Lernenden wollen oft ein tieferes Verständnis für die in ihren Tools eingebettete Technologie erlangen. Grafische Benutzeroberflächen sind mächtig, aber du kannst deine Fähigkeiten wirklich verbessern, indem du deinen eigenen Python-Code schreibst, um die Ergebnisse vollständig anzupassen oder zu automatisieren, und indem du ein besseres Verständnis dafür bekommst, wie große Plattformen und Systeme funktionieren.
Open-Source-Projekte zielen darauf ab, eine Vielzahl von Nutzern anzusprechen. Heutzutage haben Fachleute in den meisten Branchen wahrscheinlich Zugang zu Standortdaten und öffentlich verfügbaren Datensätzen. Die Fortschritte im Cloud Computing erfordern keine massiven Downloads auf lokale Computer mehr, so dass der Zugang für jeden, der ein internetfähiges Gerät besitzt, demokratisiert wurde. Dieses Buch soll eine Ressource sein, die Fachleute dort abholt, wo sie sich befinden, und ihnen als Leitfaden für ihre Ziele und ihr Verständnis dient. Dieses Buch ermutigt Leser/innen aller Fachrichtungen, sich mit Geodatenanalysen zu beschäftigen, um Entscheidungen in der Stadtplanung, der Forschung zum Klimawandel und vielen anderen Bereichen zu treffen.
Selbst für erfahrene Datenanalysten ist die Technologie oft isoliert. Du kennst vielleicht ein bisschen Python und kannst in QGIS oder ArcGIS ein- und aussteigen, ohne wirklich operationalisierte Arbeitsabläufe kennen zu müssen. Du kannst sicherlich mit eingebetteten Systemen arbeiten, ohne Raster-, Vektor- oder mathematische Modelle zu kennen, aber wenn du diese grundlegenden Elemente verstehst, wird deine Kompetenz im Bereich der Datenexploration und -erläuterung auf eine neue Ebene gehoben.
Wie kam es dazu, dass ich ein Buch über Geodatenanalyse und Python-Integration geschrieben habe? Ich hatte ein Problem zu lösen. Bei der Analyse elektronischer Gesundheitsakten stellte ich fest, dass sie zwar viele medizinische Daten, aber nur vage nützliche demografische Informationen enthielten. Bei der Untersuchung dieses Aspekts der Infrastruktur des Gesundheitswesens wurde mir klar, wie wichtig der Standort für die Vorhersage von Gesundheitsergebnissen ist. Wir können keine gesundheitspolitischen Entscheidungen treffen, ohne die Antworten auf Fragen wie diese zu kennen:
-
Gibt es in der Nachbarschaft der Patienten Frischmärkte, die zu Fuß oder mit öffentlichen Verkehrsmitteln erreichbar sind?
-
Sind die Wohngegenden der Patienten begehbar und sicher?
-
Haben die Patienten Zugang zu Grünflächen?
-
Wie wirkt sich zum Beispiel die Nähe zu Autobahnen, Stromleitungen und Kläranlagen auf die Gesundheit der Nachbarschaft aus?
-
Und wie können wir Standortdaten in die Untersuchung dieser Umgebungen einbringen?
Wenn du diese Arten von nicht-räumlichen Daten mit räumlichen Informationen verbindest, kannst du deine Umgebung - oder jeden anderen Ort auf der Erdoberfläche, der dich interessiert - erkunden und Karten und andere Visualisierungen erstellen, die dir helfen, über komplexe Fragen nachzudenken.
Warum Python?
Python ist eine beliebte, wendige Skriptsprache. Dank ihrer leicht verständlichen Syntax ist sie einfacher zu erlernen als die meisten anderen Programmiersprachen, sodass du relativ schnell mit ihr arbeiten kannst. Python eignet sich hervorragend für die Analyse von Geodaten, da es bereits in viele Geoinformationssystem (GIS)-Anwendungen integriert wurde, darunter ArcGIS und QGIS. Außerdem wird Python von einer lebendigen Open-Source-Gemeinschaft mit einer Vielzahl von Bibliotheken und Paketen unterstützt.
Dies ist kein Python-Buch für Anfänger. Wenn du ein Anfänger bist und eine grundlegende Einführung in die Sprache suchst, gibt es viele Ressourcen, die dir zur Verfügung stehen. Du könntest mit Pandas 1.x Cookbook, second edition, von Matt Harrison und Theodore Petrou (Packt Publishing) beginnen oder mit einem der Präsenz- oder Online-Kurse von Dunder Data, wie Master the Fundamentals of Python.
Vielleicht hast du nicht die Lust oder die Zeit, eine ganze Programmiersprache zu lernen. Obwohl ich dir empfehle, mindestens eine Computersprache in deinem Werkzeugkasten zu haben, ist das kein Problem. Der Zweck dieses Buches ist es, dich mit dem umfangreichen Ökosystem öffentlich zugänglicher Geodaten vertraut zu machen, und es sind keine umfassenden Programmierkenntnisse erforderlich. Ich gebe dir eine Schritt-für-Schritt-Anleitung zusammen mit den Codeschnipseln im Buch. Ich verweise dich auf Ressourcen für eine Vielzahl zusätzlicher Funktionen, die in diesem Buch nicht behandelt werden, damit du das Gelernte anwenden kannst, um es zu erforschen. Wenn du dich mit einer oder zwei Funktionen in einer großen Bibliothek oder einem großen Paket vertraut gemacht hast, wirst du das Selbstvertrauen gewinnen, in neue Bereiche vorzudringen.
Wie dieses Buch funktioniert
Wir beginnen mit einem schnellen Level-Set, das dich in einige wichtige GIS-Konzepte einführt. Nach und nach werde ich Python in den Kurs integrieren. Ich setze keine Kenntnisse in einer Programmiersprache oder in der Geoinformatik voraus.
Die hier vorgestellten Ressourcen sind Open Source: Ihr Quellcode wird von den Entwicklern frei verteilt und enthält in der Regel auch Beiträge von Community-Mitgliedern. Die meisten verwenden Python. Ich habe nach bestem Wissen und Gewissen dafür gesorgt, dass dieses Buch Ressourcen enthält, die ohne lästige Abo-Dienste verfügbar sind. Alle Kosten, auch wenn sie noch so gering sind, werden hervorgehoben, damit du eine fundierte Entscheidung treffen kannst. Dass ich mich auf Open Source konzentriere, bedeutet nicht, dass ich keine Unternehmenslösungen unterstütze, sondern dass ich die Hürden für aussagekräftige Analysen zu wichtigen Fragen senken möchte.
Dieses Buch deckt eine große Bandbreite an Open-Source-Tools und -Daten ab und befasst sich mit einer Vielzahl von Datensätzen, zu denen du in deiner aktuellen beruflichen Rolle vielleicht keinen Zugang hast. Python for Geospatial Data Analysis ist nicht linear aufgebaut wie typische Bücher über Technologie (oder über Python). Es gibt viele Möglichkeiten, Datenprobleme zu untersuchen. Vielleicht kannst du dich davon inspirieren lassen, zum ersten Mal in einer integrierten Entwicklungsumgebung (IDE) zu arbeiten. Vielleicht bist du neugierig auf die Arbeit in einem Terminal oder einer Konsole.
Es ist unmöglich, jedes Python-Paket oder jede Bibliothek in einem einzigen Buch bis ins kleinste Detail zu beschreiben. Wenn du mit einem bestimmten Tool oder einer Bibliothek vertraut bist, hast du wahrscheinlich Lieblingsfunktionen, die ich hier nicht aufgeführt habe. Das ist in Ordnung - ich möchte dir nur ein Gefühl für jede einzelne Funktion vermitteln. Von dort aus kannst du weiter entdecken, was sie zu bieten haben.
Für wen ist dieses Buch?
Meine Vision für Python for Geospatial Data Analysis stellte mich vor ein Rätsel: Wie schreibt man ein Buch für frischgebackene Geospatial-Profis, die Python kennen , und für frischgebackene Python-Programmierer, die sich mit Geospatial Analytics auskennen? Ich habe beschlossen, es einfach interessant zu machen. Mein Ziel ist es nicht, dir Fachwissen auf beiden Seiten des Spektrums zu vermitteln, sondern uns alle zusammenzubringen, damit wir Werkzeuge und bewährte Methoden lernen.
Am Ende dieses Buches möchte ich, dass du dich kompetent und selbstbewusst genug fühlst, um Geodatenanalyse selbst zu erforschen. Zu diesem Zweck bitte ich dich, den einzelnen Tools und Techniken zu folgen, sie bei Bedarf zu installieren und ein Jupyter- oder Google Colab-Notizbuch zu verwenden, um den Code auszuführen. Aber ich möchte nicht, dass du dabei stehen bleibst. Deshalb biete ich dir auch eine Reihe von verschiedenen Erfahrungen an, die dich dazu einladen, weiter zu forschen.
Ein paar Tipps zum Werkzeugbau
Es gibt keinen unfehlbaren Code. Du wirst lernen müssen, wie man Fehler behebt. Deshalb hat die Datengöttin Stack Overflow erfunden. Eine kurze Warnung: Du bekommst nicht immer die besten oder korrektesten Lösungen von Ratgeberseiten, also recherchiere mit Bedacht. Um dir zu helfen, habe ich Python-Pakete mit einer soliden GitHub-Präsenz ausgewählt, um sicherzustellen, dass der Support immer eine Option ist. Trotzdem möchte ich dir ein paar Tipps geben, die dir bei der Installation und beim Kennenlernen der Tools in diesem Buch helfen können:
-
Erstelle wenn möglich Python-Umgebungen, damit du Versionen und Abhängigkeiten kontrollieren kannst.
-
Wenn du nicht in einer Conda- oder Mamba-Umgebung arbeitest, solltest du immer die Versionen von Python und anderer Software oder Pakete überprüfen. Versionsprobleme sind die Hauptursache für Fehlercodes.
-
Bist du dir nicht sicher, ob deine Pip-Installation funktioniert hat? Schreibe
!pip list
in eine Zelle und führe es aus. Alle Pakete, die in dieser Sitzung installiert wurden, werden in die Liste aufgenommen. -
Hab keine Angst vor der Paketdokumentation! Das Lesen des Lehrmaterials ist ein wichtiger Teil des Erlernens neuer Fähigkeiten und der Schlüssel zur Fehlerbehebung.
Finde deinen Weg
In den ersten beiden Kapiteln geht es um allgemeine Konzepte und Kompetenzen, die du für deinen Einstieg in die Geodatenanalyse brauchst. Danach gehen wir auf spezifische Tools ein und machen dich anhand praktischer Übungen mit ihnen vertraut. In Kapitel 3 geht es um QGIS und in Kapitel 4 um Google Earth Engine und andere cloudbasierte Analysetools. Kapitel 5 führt dich in OpenStreetMap ein, Kapitel 6 zeigt dir die ArcGIS Python API und Kapitel 7 erforscht räumliche Statistiken mit der GeoPandas-Bibliothek. Kapitel 8 wirft einen Blick auf die Datenbereinigung: ein Verfahren, mit dem du die nützlichen Daten von dem Rauschen trennen kannst, das sie oft mit sich bringen. In Kapitel 9 wird dann eine phänomenal nützliche Ressource vorgestellt: die Geospatial Data Abstraction Library (GDAL). In Kapitel 10 schließlich werden drei praktische Projekte vorgestellt, die zeigen, wie nützlich deine Geodatenanalysefähigkeiten bei der Erforschung eines dringenden globalen Problems sein können: dem Klimawandel.
Am Ende des Buches findest du eine Fülle von Links zu Tools, Paketen und Datenquellen sowie Quellenangaben zu den im Text verwendeten Quellen und Leseempfehlungen, die dir helfen, deine Lernreise fortzusetzen.
In diesem Buch verwendete Konventionen
In diesem Buch werden die folgenden typografischen Konventionen verwendet:
- Kursiv
-
Weist auf neue Begriffe, URLs, E-Mail-Adressen, Dateinamen und Dateierweiterungen hin.
Constant width
-
Wird für Programmlistings sowie innerhalb von Absätzen verwendet, um auf Programmelemente wie Variablen- oder Funktionsnamen, Datenbanken, Datentypen, Umgebungsvariablen, Anweisungen und Schlüsselwörter hinzuweisen.
Constant width bold
-
Zeigt Befehle oder anderen Text an, der vom Benutzer wortwörtlich eingetippt werden sollte.
Constant width italic
-
Zeigt Text an, der durch vom Benutzer eingegebene Werte oder durch kontextabhängige Werte ersetzt werden soll.
Tipp
Dieses Element steht für einen Tipp oder eine Anregung.
Hinweis
Dieses Element steht für einen allgemeinen Hinweis.
Warnung
Dieses Element weist auf eine Warnung oder einen Warnhinweis hin.
Code-Beispiele verwenden
Zusätzliches Material (Code-Beispiele, Übungen usw.) steht unter https://github.com/datamongerbonny/geopy-notebooks.git zum Download bereit .
Wenn du eine technische Frage oder ein Problem mit den Codebeispielen hast, sende bitte eine E-Mail an bookquestions@oreilly.com.
Dieses Buch soll dir helfen, deine Arbeit zu erledigen. Wenn in diesem Buch Beispielcode angeboten wird, darfst du ihn in deinen Programmen und deiner Dokumentation verwenden. Du musst uns nicht um Erlaubnis fragen, es sei denn, du reproduzierst einen großen Teil des Codes. Wenn du zum Beispiel ein Programm schreibst, das mehrere Teile des Codes aus diesem Buch verwendet, brauchst du keine Erlaubnis. Der Verkauf oder die Verbreitung von Beispielen aus O'Reilly-Büchern erfordert jedoch eine Genehmigung. Die Beantwortung einer Frage mit einem Zitat aus diesem Buch und einem Beispielcode erfordert keine Genehmigung. Wenn du einen großen Teil des Beispielcodes aus diesem Buch in die Dokumentation deines Produkts aufnimmst, ist eine Genehmigung erforderlich.
Wir freuen uns über eine Namensnennung, verlangen sie aber in der Regel nicht. Eine Quellenangabe umfasst normalerweise den Titel, den Autor, den Verlag und die ISBN. Zum Beispiel: "Python for Geospatial Data Analysis " von Bonny P. McClain (O'Reilly). Copyright 2023 Grapheme Consulting, Inc. 978-0-098-10479-5."
Wenn du der Meinung bist, dass die Verwendung von Code-Beispielen nicht unter die Fair-Use-Regelung oder die oben genannte Erlaubnis fällt, kannst du uns gerne unter permissions@oreilly.com kontaktieren .
O'Reilly Online Learning
Hinweis
Seit mehr als 40 Jahren bietet O'Reilly Media Schulungen, Wissen und Einblicke in Technologie und Wirtschaft, um Unternehmen zum Erfolg zu verhelfen.
Unser einzigartiges Netzwerk von Experten und Innovatoren teilt sein Wissen und seine Erfahrung durch Bücher, Artikel und unsere Online-Lernplattform. Die Online-Lernplattform von O'Reilly bietet dir On-Demand-Zugang zu Live-Trainingskursen, ausführlichen Lernpfaden, interaktiven Programmierumgebungen und einer umfangreichen Text- und Videosammlung von O'Reilly und über 200 anderen Verlagen. Weitere Informationen erhältst du unter https://oreilly.com.
Wie du uns kontaktierst
Bitte richte Kommentare und Fragen zu diesem Buch an den Verlag:
- O'Reilly Media, Inc.
- 1005 Gravenstein Highway Nord
- Sebastopol, CA 95472
- 800-998-9938 (in den Vereinigten Staaten oder Kanada)
- 707-829-0515 (international oder lokal)
- 707-829-0104 (Fax)
Wir haben eine Webseite für dieses Buch, auf der wir Errata, Beispiele und zusätzliche Informationen auflisten. Du kannst diese Seite unter https://oreil.ly/python-for-geo-data aufrufen .
Schreib eine E-Mail an bookquestions@oreilly.com, um Kommentare oder technische Fragen zu diesem Buch zu stellen.
Neuigkeiten und Informationen über unsere Bücher und Kurse findest du unter https://oreilly.com.
Du findest uns auf LinkedIn: https://linkedin.com/company/oreilly-media.
Folge uns auf Twitter: https://twitter.com/oreillymedia.
Sieh uns auf YouTube: https://www.youtube.com/oreillymedia.
Danksagungen
Ich möchte mich bei den vielen Studierenden und Fachleuten der Geoinformatik bedanken, die mich mit ihren Ratschlägen, Vorschlägen und Fragen motiviert haben, dieses Thema in Angriff zu nehmen. Die Begeisterung für ein Buch, das sowohl ein Einstieg als auch ein nützlicher Leitfaden für Erfahrene ist, hat mich sehr stolz gemacht.
Ich bin dankbar für die großartige Arbeit und Unterstützung von Qiusheng Wu, Assistenzprofessor im Fachbereich Geografie an der University of Tennessee, Knoxville. Dr. Wus Beiträge zur Geodatengemeinschaft sind unvergleichlich, und es war sein Vortrag Google Earth Engine and geemap workshop at GeoPython Conference 2021, der mich in die wichtige Integration von Google Earth Engine und Python einführte. Ein Jahr später habe ich auf der gleichen Konferenz einen Vortrag gehalten.
Ich möchte mich auch bei Ted Petrou bedanken, einem meisterhaften Experten für Python und Datenexploration bei Dunder Data. Ted bietet zeitnahe Ressourcen und erschwingliche Workshops an, um die Lücke zwischen der didaktischen Vermittlung von Python und der Anwendung der Fähigkeiten in deinem Arbeitsumfeld zu schließen.
Ujaval Gandhi von SpatialThoughts war maßgeblich an der Einführung von Geodatenplattformen und -fähigkeiten sowohl für angemeldete als auch für unabhängige Lernende beteiligt. Ich habe sein Fachwissen und seine Großzügigkeit bei mehr als einer Gelegenheit zu schätzen gelernt.
Ein herzliches Dankeschön und Anerkennung für die kameradschaftliche Zusammenarbeit geht an meine Geospatial Connections Community-Moderatoren: Bruce Buxton, Juliana McMillan-Wilhoit, Tim Nolan und Kendrick Faison. Die Unterhaltungen mit unseren Kolleginnen und Kollegen in diesem Raum waren einfach nur erstaunlich und informativ.
Ich danke meinem Mann Steve, dass er mich mit guter Laune, endloser Unterstützung, großen Salaten und einem unerschöpflichen Vorrat an Gummibärchen versorgt hat. Meinen Söhnen Harrison und Ryland danke ich dafür, dass sie meine Nordsterne, endlose Quellen des Witzes und Charmes und mein Grund für alles sind.
Get Python für die Geodatenanalyse now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.