Terrain erzeugen ================ Installation ------------ Ein eleganter Weg, das DataProcessing-Paket zu kompilieren und zu verwenden, ist mit Hilfe von Docker. Es sind dann keine Pakete auf der Host-Maschine zu installieren. Dies geschieht folgendermaßen:: cd aux/DataProcessing docker build -t dataprocessing . Andernfalls kann DataProcessing normal kompiliert werden. Eine Anleitung und alle benötigten Pakete finden Sie in ``DataProcessing/Dockerfile``. Datenquelle ----------- Terraindaten sollten als Digitales Geländemodell (DGM) im GeoTiFF-Format vorliegen. Ist für ein Projekt kein DGM verfügbar, kann auf die globalen, frei verfügbaren SRTM-Daten_ der NASA zurückgegriffen werden. .. _SRTM-Daten: http://dwtkns.com/srtm/ Anleitung --------- In diesem Beispiel wird von folgenden Gegebenheiten ausgegangen: * DGM-Tiles liegen als GeoTIFFs in ``terrain/`` * Ziel-Verzeichnis ist ``tiles/terrain/`` * EPSG ist 28992 (für UTM 32 N auf 25832 ändern) * Docker-Image ``dataprocessing`` wird verwendet (siehe oben). Wenn das Programm ohne Docker installiert wurde, kann in jedem Kommando der Teil ``docker run -i -v $PWD:/work -t dataprocessing`` einfach weggelassen werden. 1. ``setup.xml`` anlegen:: mkdir -p tiles cat >setup.xml < tiles . EOF 2. Ausdehnung errechnen:: docker run -i -v $PWD:/work -t dataprocessing ogCalcExtent \ --srs 'EPSG:28992' \ --input terrain/*.tif ... IF THIS IS ELEVATION: LOD=18: Tile Coords: (133964, 86546)-(134572, 86885) .... In diesem Beispiel wählen wir LoD **18** und Ausdehnung **133964 86546 134572 86885**. Es können andere LoD und Ausdehnung gewählt werden. 3. Terrainebene erzeugen:: docker run -i -v $PWD:/work -t dataprocessing ogCreateLayer \ --name terrain \ --lod 18 \ --extent 133964 86546 134572 86885 \ --type elevation 4. Daten hinzufügen:: for file in terrain/*.tif; do docker run -i -v $PWD:/work -t dataprocessing ogAddData \ --numthreads 4 \ --layer terrain \ --srs 'EPSG:28992' \ --fill \ --elevation $file; done 5. Höchste Zoomstufe triangulieren:: docker run -i -v $PWD:/work -t dataprocessing ogTriangulate \ --numthreads 4 \ --layer terrain \ --maxpoints 512 \ --verbose \ --triangulate 6. Basierend auf dem in Schritt 5 erzeugten TIN können nun die niedrigeren Zoomstufen errechnet werden:: docker run -i -v $PWD:/work -t dataprocessing ogResample \ --numthreads 4 \ --layer terrain \ --type elevation Nun existieren die TIN-Tiles in ``tiles/terrain``. Dieser Ordner kann nun in den entsprechenden Ordner der PlexMap-Installation kopiert werden.