Menu
  • Über uns
    • Unternehmen
    • Team
    • Karriere
    • Referenzen
    • Partner
    • Kontakt
  • Produkte
    • Erdbeobachtungsmetadatenoptimierer
    • Temperaturdaten
    • LST-Daten Client
    • Schulungen
  • Services
    • actinia – Geoprozessierung in der Cloud
    • Analyse von raumbezogenen Daten und Erdbeobachtungsdaten
    • CORONA Spionagesatellitendaten
    • maps.mundialis
    • Web Kartendienste
    • GIS Entwicklung
    • Open Source GIS
  • Märkte
    • Fernerkundung für die Landwirtschaft
    • Satellitenbilder für die Wiederherstellung von Wald- und Bodenbedeckung
    • Glasfaser-Trassenplanung – FTTH
    • Copernicus und Sentinel
  • News & Blog
    • News
    • Blog
    • Satellitenbild des Monats
  • English English
  • Deutsch Deutsch
  • Über uns
    • Unternehmen
    • Team
    • Karriere
    • Referenzen
    • Partner
    • Kontakt
  • Produkte
    • Erdbeobachtungsmetadatenoptimierer
    • Temperaturdaten
    • LST-Daten Client
    • Schulungen
  • Services
    • actinia – Geoprozessierung in der Cloud
    • Analyse von raumbezogenen Daten und Erdbeobachtungsdaten
    • CORONA Spionagesatellitendaten
    • maps.mundialis
    • Web Kartendienste
    • GIS Entwicklung
    • Open Source GIS
  • Märkte
    • Fernerkundung für die Landwirtschaft
    • Satellitenbilder für die Wiederherstellung von Wald- und Bodenbedeckung
    • Glasfaser-Trassenplanung – FTTH
    • Copernicus und Sentinel
  • News & Blog
    • News
    • Blog
    • Satellitenbild des Monats
  • English English
  • Deutsch Deutsch

Raster Dateien mit einer Bounding Box filtern


29. Juni 2017 | Category blog

Oftmals ist es nicht nötig, alle verfügbaren Raster-Dateien zu prozessieren, sondern nur einen Teil in einem bestimmten geographischen Gebiet. Diese Region wird meist durch eine rechteckige Bounding Box definiert, d.h. „ein Gebiet, dass durch zwei Längen- und Breitengrade bestimmt wird“.

Rasterdateien finden

Zuerst möchten wir einen Überblick über die vorhandenen Dateien bekommen. In der Unix-Shell gibt es die Funktion find, welche praktischerweise alle Dateien mit der Endung „tif“ im Zielordner findet:

Shell
1
find /path/to/file -type f -name "*.tif" > list_of_raster.txt

Mit gdalbuiltvrt anhand der Bounding Box filtern

In einem zweiten Schritt werden nun die Dateien anhand der Bounding Box gefiltert. Die freie Programmbibliothek GDAL hat für diese Problemstellung das passende Tool. Die Funktion gdalbuiltvrt erzeugt eine virtuelle Datei (VRT), welche eine Liste aller Input-Dateien enthält. Dabei ist gdalbuiltvrt sehr schnell und verbraucht kaum Speicherplatz. Die Option -te setzt die Bounding Box anhand der spezifizierten Breiten- und Längengrade. Der Befehl, um alle Rasterdateien innerhalb der Landesgrenzen von NRW zu filtern, lautet daher:

Shell
1
gdalbuildvrt -te 5.8887,50.3332,9.4702,52.5212 output.vrt -input_file_list list_of_raster.txt

GDAL Python-Funktionen

Nun wird die GDAL Funktion GetFileList() für Python benutzt, welche die Rasterliste in der virtuellen Datei auslesen kann. Damit nur Rasterdateien ausgelesen werden, muss der erste Eintrag (output.vrt) ignoriert werden. Dies erreicht man indem der erste Wert der Dateiliste durch [1:] übersprungen wird (Python fängt bei 0 an zu zählen):

Python
1
2
3
4
5
6
7
8
dataset = gdal.Open("output.vrt", GA_ReadOnly)
filelist = dataset.GetFileList()
 
#writes it to a new file
with open(dir + "/vrt_list.txt", 'w+') as f:
    for line in filelist[1:]:
        f.write(str(line) +"\n")
f.close()

Die erstellte Test-Datei kann somit einfach weiter benutzt werden, z.B. indem man eine while-Schleife in Bash ausführt:

Shell
1
2
3
while read line; do
    #do something here
done < vrt_list.txt

Das dazugehörige Skript kann auf GitHub eingesehen werden und steht frei zur Verfügung.

Schlagwörter: bounding box, GDAL, python

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Folgen Sie uns hier

Kontakt

mundialis GmbH & Co. KG
Kölnstrasse 99
53111 Bonn

Telefon: +49 (0)228 / 387 580 80
Fax: +49 (0)228 / 962 899 57

E-Mail: info [at] mundialis [dot] de

Letzte Beiträge

  • ++ Eine neue Heimat für Actinia ++

    Dienstag, der 24. Januar 2023
  • Positiv in die Zukunft – Änderungen in der Geschäftsführung bei mundialis

    Dienstag, der 4. Oktober 2022
  • Zusammenfassung von der FOSS4G 2022 in Florenz

    Freitag, der 16. September 2022
  • FOSS4G 2022 in „La Bella“ – Florenz lässt grüßen!

    Donnerstag, der 14. Juli 2022
  • VALE Projekt erfolgreich abgeschlossen

    Dienstag, der 21. Juni 2022
Alle Beiträge ansehen

Blog

  • Satellitenbild des Monats – Februar – Amazonas-Regenwald (Brasilien und Bolivien) 7. Februar 2023
    Amazonas-Regenwald – Brasilien und Bolivien, aufgenommen vom Sentinel-2A Satelliten am ...
  • Satellitenbild des Monats – Januar – Yalu (Volksrepublik China und Demokratische Volksrepublik Korea) 2. Januar 2023
    Yalu – Volksrepublik China und Demokratische Volksrepublik Korea, aufgenommen ...
  • Satellitenbild des Monats – Dezember – Super-Pit-Goldmine (Australien) 1. Dezember 2022
    Super-Pit-Goldmine – Australien, aufgenommen vom Sentinel-2A Satelliten am 21.11.2022 Auf dem ...
Alle Blog-Beiträge ansehen

Copyright © 2015-2021 mundialis GmbH & Co. KG

Impressum Datenschutzerklärung

Theme created by PWT. Powered by WordPress.org