Automatischer Download passender Orthophotos für BricsCAD (Allgemeines)

Martin Vogel ⌂ @, Dortmund / Bochum, Fri, 14.05.2021, 14:37 (vor 1040 Tagen) @ Martin Vogel

Die letzte Version des Python-Programms „Gelaendemodell.py“ zum Download von NRW-Höhenmodellen lädt nun auch gleich die passenden Orthophotos herunter, schneidet sie zu und legt sie als JPG-Dateien im Arbeitsverzeichnis des Programms ab. Dazu werden Funktionen der GDAL-Bibliothek verwendet.

Mit den BricsCAD-Funktionen für TIN-Oberflächennetze erhält man anschließend in wenigen Minuten eine BIM-taugliche Geländeoberfläche mit exakt passender Textur. Die horizontale Auflösung der Textur beträgt dabei etwa 10 cm.

[image]

Kurzanleitung

1. ZIP-Datei herunterladen und Pythonprogramm „Gelaendemodell.py“ auspacken

2. Benötigte Python-Module für die GDAL-Funktionen installieren

Ubuntu Linux:

sudo apt install python3-gdal


Fertig. Weiter zu Schritt 3.

Microsoft Windows:
Es ist möglicherweise einfacher, Linux zu installieren und dann den Befehl oben einzugeben.
Wenn Sie jedoch ein zutiefst leidenshungriger Microsoft-Anhänger sind und absurd komplizierten Frickeleien huldigen, bitteschön:
a) Installieren Sie Python 3.7.
b) Starten Sie Python. Es wird eine Textzeile ausgegeben, die zum Beispiel so aussieht: „Python 3.7.9 (tags/v3.7.9:13c94747c7, Aug 17 2020, 18:58:18) [MSC v.1900 64 bit (AMD64)] on win32“ – merken Sie sich die Zahl hinter „MSC v.“.
c) Gehen Sie auf die Webseite https://www.gisinternals.com/release.php und suchen sie in den Downloads nach der passenden Release-Version zu der MSC-Version aus Schritt b. Das ist zum Beispiel „release-1900-x64-gdal-2-4-4-mapserver-7-4-3“. Klicken Sie den Link an.
d) Auf der folgenden Seite finden Sie den „Generic installer for the GDAL core components“ (in diesem Beispiel „gdal-204-1900-x64-core.msi“) und den „Installer for the GDAL python bindings“ für Ihre Python-Version, also hier „GDAL-2.4.4.win-amd64-py3.7.msi“. Laden Sie beide Dateien herunter und installieren Sie sie.
e) Finden Sie heraus, in welchem Ordner die GDAL-Installation gelandet ist, das könnte zum Beispiel „C:\Program Files\GDAL“ sein. In diesem Ordner gibt es auch ein Unterverzeichnis „gdal-data“.
f) Ergänzen Sie Ihre Umgebungsvariable PATH um den Ordner der GDAL-Installation und legen Sie zusätzlich eine neue Umgebungsvariable GDAL_DATA an, in die Sie den Pfad zum Ordner „gdal-data“ eintragen. Das sieht dann vielleicht so aus:[image]
g) Starten Sie Python neu. Wenn der Befehl „import osgeo“ keine Fehlermeldung verursacht, hat die Installation geklappt. Falls nicht, finden Sie die aktuelle Ubuntu-Linux-Version auf https://ubuntu.com/download/desktop. Führen Sie nach der Linux-Installation Schritt 2 erneut aus.

3. Nun werden nur noch zwei Geländepunkte im Dezimalgradformat benötigt, die man beispielsweise aus einem Onlinekartendienst ablesen kann, und das Pythonprogramm erledigt den Rest:

Als Beispiel nehme ich einmal den Grauwackesteinbruch in Hagen-Ambrock, der zwischen den Koordinaten 51.318339, 7.497003 und 51.325803, 7.513617 liegt.

[image]

Das Programm erzeugt hier (unter anderem) eine TIN-Koordinatendatei „Steinbruch.txt“ sowie ein Orthophoto „Steinbruch.jpg“. Zusätzlich gibt es die Information aus, dass der Geländeausschnitt 1174 Meter in Ost-West-Richtung und 807 Meter in Nord-Süd-Richtung umfasst.

In BricsCAD kann nun mit dem Befehl „TIN I“ die gerade erzeugte TXT-Datei geladen werden. Wenn BricsCAD behauptet, die TIN-Oberfläche könne nicht erstellt werden, schauen Sie einmal, ob der Datei- oder Ordnername Umlaute enthält. Die scheinen momentan ein Problem zu sein.

[image]

Auf diese TIN-Oberfläche kann nun das erzeugte Orthophoto gelegt werden.

BricsCAD hat dazu einen extra Befehl TINASSIGNIMAGE, der macht es jedoch unnötig kompliziert, das Bild in der korrekten Größe einzubinden.

Einfacher ist es, mit dem Befehl MATERIALIEN ein neues Material zu erzeugen, das als „Diffuse Map“ unser Orthophoto verwendet und direkt mit der oben ermittelten Breite und Höhe skaliert wird.
[image]

Man sollte bei der gewählten Bild- und Geländeauflösung innerhalb sinnvoller Grenzen bleiben. Bei einem Gelände aus rund einer Million Höhenpunkten und einem dazugehörigen 100-Megapixel-Foto wird das Programm schon arg ruckelig.

--
Dipl.-Ing. Martin Vogel
Leiter des Bauforums

Bücher:
CAD mit BricsCAD
Bauinformatik mit Python

Tags:
Python, GIS, BricsCAD, Orthophotos


gesamter Thread:

 RSS-Feed dieser Diskussion

powered by my little forum