Erstellen Sie eine Webmap mit Python und GDAL

Erfahren Sie, wie Sie GIS-Daten mit Open Source Python und GDAL kostenlos verarbeiten. Bei den diesmal verwendeten Daten handelt es sich um ein numerisches Höhenmodell von grundlegenden Karteninformationen , das vom National Land Research Institute bereitgestellt wird.

Die obige Webmap wird mit einer Kombination aus Python und GDAL erstellt.

Installation

Verwenden Sie zunächst Miniconda , um Python und die erforderlichen Bibliotheken zu installieren. Öffnen Sie nach Abschluss des Downloads die Miniconda-Befehlszeile und starten Sie die virtuelle Python-Umgebung (mit der Standardversion von Python 3):

conda create --name myenv
conda activate myenv

Installieren Sie dann die für Python-Skripte verwendeten Bibliotheken:

conda install -c conda-forge gdal numpy beautifulsoup4

Laden Sie abschließend das Python-Skript herunter, mit dem die Webmap erstellt wurde:

git clone https://github.com/danielhoshizaki/hillshade

Wie benutzt man

Stellen Sie zunächst sicher, dass Sie eine numerische Höhenmodelldatei im Verzeichnis `. / Data / raw``` haben. Wenn Sie andere Dateien heruntergeladen haben, legen Sie sie zu diesem Zeitpunkt in `. / Data / raw``` ab.

Sie müssen einen Teil des Codes ändern, bevor Sie das Python-Skript drehen. Sie müssen den Pfad zur Bibliothek GDAL angeben, die mit `` `conda``` installiert wurde. GDAL ist eine kooperative Software, aber die Installation ist sehr kompliziert. Verwenden wir diesmal den absoluten Pfad. Um die GDAL-Binärdatei zu finden, verwenden Sie das Linux-Suchfeld oder das Windos-Suchfeld. Wenn Sie nach dem oben erstellten Verzeichnis der virtuellen Umgebung von myenv suchen, wird es sofort angezeigt. Suchen Sie im Verzeichnis nach gdaldem.exe und gdalbuildvrt.exe und im Verzeichnis nach gdal2tiles.py. Sobald Sie es gefunden haben, legen Sie den gdal_bin_path und den gdal_tiles_path in Ihrem Python-Skript fest.

Wenn Sie fertig sind, starten Sie das Skript und warten Sie auf die Webmap.

Wie es funktioniert

Python-Skripte können grob in zwei Rollen unterteilt werden. Eine besteht darin, eine rohe numerische Höhenmodelldatei (ZIPed XML-Datei) mit einer Funktion namens `` `convert``` in GeoTiff zu konvertieren. Die zweite Rolle besteht darin, dass GDAL die Daten direkt über die Befehlszeile verarbeitet. Es gibt drei Befehle, die direkt an GDAL gesendet werden können: Die folgende Datenverarbeitung wird ausgeführt:

  1. Konvertieren Sie GeoTiff jedes DEM in Shading GeoTiff
  2. Kombinieren Sie alle schattierenden GeoTiffs zu einem virtuellen Datensatz vrt
  3. Konvertieren Sie das virtuelle Dataset in eine Webmap

Der letzte Befehl gdal2tiles erstellt ein neues Verzeichnis `` `. / Data / WTMS```. Im Verzeichnis befindet sich eine Datei mit dem Namen Leaflet.html. Doppelklicken Sie also darauf. Ihre eigene Webkarte ist fertig! Diese Webkarte kann jedoch nur auf Ihrem eigenen PC angezeigt werden. Wenn Sie möchten, dass andere sie sehen, stellen Sie sie auf Github Pages oder AWS S3 oder geben Sie Ihr Bestes, um sie im Web-Vorort zu veröffentlichen!

Recommended Posts

Erstellen Sie eine Webmap mit Python und GDAL
Erstellen Sie mit tkinter eine Python-GUI
[Python] Erstellen Sie eine Stapelumgebung mit AWS-CDK
Erstellen Sie einen einfachen geplanten Stapel mit Dockers Python Image und parse-crontab
Erstellen Sie eine GIF-Datei mit Pillow in Python
Ich habe versucht, Web-Scraping mit Python und Selen
Erstellen Sie ein Python-Modul
Starten Sie einen Webserver mit Python und Flask
Erstellen Sie eine Python-Umgebung
Erstellen Sie eine MIDI-Datei in Python mit pretty_midi
Ich habe ein Beispiel für den Zugriff auf Salesforce mit Python und Bottle erstellt
Ich möchte eine Webanwendung mit React und Python Flask erstellen
Erstellen Sie eine Web-App, die PDF mit Flask und PyPDF2 in Text konvertiert
[Python] So erstellen Sie eine lokale Webserverumgebung mit SimpleHTTPServer und CGIHTTPServer
Erstellen Sie mit Selenium einen Datenerfassungsbot in Python
Erstellen Sie einen Farbsensor mit einem Raspeltorte und einer Kamera
Versuchen Sie, eine komprimierte Datei mit Python und zlib zu erstellen
(Python) Versuchen Sie, eine Webanwendung mit Django zu entwickeln
[CRUD] [Django] Erstellen Sie eine CRUD-Site mit dem Python-Framework Django ~ 1 ~
[Python] 2 Erstellen Sie eine Risiko-Rendite-Karte für Ihr Asset-Portfolio
[Python] Generieren Sie ValueObject mit dem vollständigen Konstruktor mithilfe von Datenklassen
Implementieren eines Generators mit Python> Link> Yield und next ()> Yield
[Python] So erstellen Sie eine Korrelationsmatrix und eine Heatmap
[CRUD] [Django] Erstellen Sie eine CRUD-Site mit dem Python-Framework Django ~ 2 ~
Erstellen Sie unter Windows eine anständige Shell- und Python-Umgebung
[CRUD] [Django] Erstellen Sie eine CRUD-Site mit dem Python-Framework Django ~ 3 ~
[CRUD] [Django] Erstellen Sie eine CRUD-Site mit dem Python-Framework Django ~ 4 ~
HTTP-Server und HTTP-Client mit Socket (+ Webbrowser) - Python3
[CRUD] [Django] Erstellen Sie eine CRUD-Site mit dem Python-Framework Django ~ 5 ~
Erstellen Sie ein Wörterbuch in Python
Erstellen Sie JIRA-Tickets mit Python
Erstellen Sie ein Python-Numpy-Array
Web Scraping mit Selenium (Python)
Erstellen Sie ein Verzeichnis mit Python
Erstellen Sie eine WEB-Überwachungskamera mit Raspberry Pi und OpenCV
Erstellen einer Python-Umgebung auf einem Mac bis zur Verwendung von Jupyter Lab
[Python] Kapitel 01-03 Über Python (Schreiben und Ausführen eines Programms mit PyCharm)
Lassen Sie uns ein PRML-Diagramm mit Python, Numpy und matplotlib erstellen.
Holen Sie sich Python-Webseite, Zeichenkodierung und Anzeige
[Python] Erstellen Sie einen ereignisgesteuerten Webcrawler mithilfe der serverlosen Architektur von AWS
Erstellen Sie den Code, der in Python "A und vorgeben B" ausgibt
Python: Erstellen Sie ein Wörterbuch aus einer Liste von Schlüsseln und Werten
Nehmen Sie Zeitraffer von einer PC-Kamera mit Python, OpenCV auf
Ich habe Chatbot mit LINE Messaging API und Python erstellt
Ich möchte eine Karaoke-Klangquelle erstellen, indem ich Instrumente und Gesang mit Python trenne
Python a + = b und a = a + b sind unterschiedlich
Erstellen einer Webanwendung mit Flask ②
Ich habe einen Line-Bot mit Python gemacht!
Authentifizierung mit Tweepy-User-Authentifizierung und Anwendungsauthentifizierung (Python)
Erstellen Sie einen DI-Container mit Python
Zeichnen einer Silbersteinkurve mit Python
Erstellen Sie ein verschachteltes Wörterbuch mit defaultdict
Erstellen Sie eine virtuelle Umgebung mit Python!
Erstellen Sie eine Binärdatei in Python
Erstellen Sie eine Python-Umgebung in Centos
Clustering und Visualisierung mit Python und CytoScape
Erstellen einer Webanwendung mit Flask ①
Erstellen Sie ein universelles Dekorationsframework für Python