- Notifications
You must be signed in to change notification settings - Fork19
This module is to convert DEM to terrain RGB raster tiles.
License
watergis/dem2terrainrgb
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This module is to convert DEM to terrain RGB raster tiles.
cd dem2terrainrgbpipenv install
$ python main.py -husage: dem2terrainrgb.py --dem {dem file path} --dist {output directory path} --tmp {temporary directory path} --webp --remove_png --zoom {min-max zoom}This module is to convert DEM to terrain RGB raster tiles.optional arguments: -h, --help show this help message and exit --dem DEM Original DEM file. It must be already reprojected to EPSG:3857 before converting. --dist DIST Output directory for tiles --tmp TMP Temporary work directory --webp Use this option if you want to convert PNG to webp tiles --remove_png Use '--webp' option together. If this option is used, it will remove all of original PNG tiles. --zoom ZOOM Specify min-max zoom level for tiles. Default is 5-15.
The below is an example command. Before executing this module, you must reproject your DEM to EPSG:3857 coordinates by using GDAL or QGIS.
pipenv shellpython main.py --dem ./data/rwanda_dem_EPSG3857_10m.tif --dist ./tiles --webp --zoom 5-15
Finally, you can delete all of xml files under tiles folder.
find ./tiles -name "*.xml" -exec bash -c 'rm "$1"' - '{}' \;
If you want to validate processed tiff image, you can command like below.
$ rio info --indent 2 ./data/rwanda_dem_EPSG3857_10m_without_nodata.tif
{"blockxsize":256,"blockysize":256,"bounds": [3223733.0877,-316437.17616185057,3439718.7685284764,-115768.6321 ],"colorinterp": ["gray" ],"compress":"deflate","count":1,"crs":"EPSG:3857","descriptions": [null ],"driver":"GTiff","dtype":"uint16","height":19992,"indexes": [1 ],"interleave":"band","lnglat": [29.92940323722318,-1.9409140983431143 ],"mask_flags": [ ["all_valid" ] ],"nodata":null,"res": [10.037442179964515,10.037442179964515 ],"shape": [19992,21518 ],"tiled":true,"transform": [10.037442179964515,0.0,3223733.0877,0.0,-10.037442179964515,-115768.6321,0.0,0.0,1.0 ],"units": [null ],"width":21518}
For verifying the elevation data, you may do the below command.
$ gdallocationinfo -wgs84 ./data/rwanda_dem_EPSG3857_10m_RGB.tif 29.7363 -2.2313Report: Location: (8617P,13218L) Band 1: Value: 1 Band 2: Value: 199 Band 3: Value: 250(rwanda_terrain)
Formula is like this:
height = -10000 + ((R * 256 * 256 + G * 256 + B) * 0.1)
You can use mb-util module to convert tilesets into a mbtiles container.
$ mb-util --image_format=png --scheme=xyz ./tiles/ ./tilesets/rwanda_dem_EPSG3857_10m.mbtiles
If you want to create mbtiles from webp tiles, the command should be like below.
$ mb-util --image_format=webp --scheme=xyz ./tiles/ ./tilesets/rwanda_dem_EPSG3857_10m_webp.mbtiles
Before runningmb-util
, don't forget to putmetadata.json
undertiles
folder. The below is an example of content formetadata.json
.
{"name":"Rwanda 10m Terrain RGB Tileset","description":"Rwanda 10m Terrain RGB Tileset, CC-BY-4.0: Water and Sanitation Corporation (WASAC), Rwanda","version":"1"}
You can upload tilesets to Github pages for hosting. If you would like to host tiles on your own server, you may be able to usembtilesserver.
After installingmbtileserver
,
~/go/bin/mbtileserver --verbose
it will automatically find mbtiles undertilesets
folder, then access tohttp://localhost:8000/services. You will see the following response.
[ {"imageType":"png","url":"http://localhost:8000/services/rwanda_dem_EPSG3857_10m","name":"Rwanda 10m Terrain RGB Tileset" }]
After that, continue to accesshttp://localhost:8000/services/rwanda_dem_EPSG3857_10m and see more detailed information.
{"description":"Rwanda 10m Terrain RGB Tileset, CC-BY-4.0: Water and Sanitation Corporation (WASAC), Rwanda","format":"png","map":"http://localhost:8000/services/rwanda_dem_EPSG3857_10m/map","maxzoom":15,"minzoom":5,"name":"Rwanda 10m Terrain RGB Tileset","scheme":"xyz","tilejson":"2.1.0","tiles": ["http://localhost:8000/services/rwanda_dem_EPSG3857_10m/tiles/{z}/{x}/{y}.png" ],"version":"1"}
Tileset URL will be as below.
http://localhost:8000/services/rwanda_dem_EPSG3857_10m/tiles/{z}/{x}/{y}.png
About
This module is to convert DEM to terrain RGB raster tiles.