Last active
July 26, 2018 16:56
-
-
Save elbosso/584a4bc434190e726d59c688b088fb5b to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
CONTAINERNAME=hillshading | |
PROCESSORCOUNT=$(cat /proc/cpuinfo | grep processor | wc -l) # used to speed up make | |
lxc-create -n $CONTAINERNAME -t download -- --arch amd64 --dist ubuntu --release xenial | |
lxc-start -n $CONTAINERNAME | |
lxc-attach -n $CONTAINERNAME -- apt-get update | |
lxc-attach -n $CONTAINERNAME -- apt-get -y upgrade | |
lxc-attach -n $CONTAINERNAME -- apt-get -y install joe screen conky-cli openssh-server curl unzip gdal-bin tar wget bzip2 build-essential clang git autoconf libtool libxml2-dev libbz2-dev libgeos-dev libgeos++-dev libproj-dev gdal-bin libgdal-dev g++ libmapnik-dev mapnik-utils python-mapnik libxml2-dev libfreetype6-dev libjpeg-dev libpng-dev libproj-dev libtiff-dev libcairo2 libcairo2-dev python-cairo python-cairo-dev libgdal-dev build-essential python-dev libbz2-dev libicu-dev libboost-all-dev apache2 apache2-dev python-yaml python-pip mapnik-utils fonts-noto-cjk fonts-noto-hinted fonts-noto-unhinted fonts-hanazono ttf-unifont fontconfig fonts-dejavu-core nodejs-legacy npm | |
lxc-attach -n $CONTAINERNAME -- apt-get clean | |
lxc-attach -n $CONTAINERNAME -- useradd -m tileserver | |
lxc-attach -n $CONTAINERNAME -- passwd tileserver | |
lxc-attach -n $CONTAINERNAME -- usermod -aG sudo tileserver | |
ssh tileserver@$CONTAINERNAME | |
export LANGUAGE=en_US.UTF-8 | |
export LANG=en_US.UTF-8 | |
export LC_ALL=en_US.UTF-8 | |
test -d ~/src || mkdir ~/src ; cd ~/src | |
git clone https://github.com/openstreetmap/mod_tile.git | |
git clone https://github.com/gravitystorm/openstreetmap-carto.git | |
git clone https://github.com/googlei18n/noto-emoji.git | |
mapnik-config -v | |
python -c "import mapnik;print mapnik.__file__" | |
curl localhost| grep 'It works!' | |
cd mod_tile | |
./autogen.sh && ./configure && make -j$PROCESSORCOUNT && sudo make install && sudo make install-mod_tile && sudo ldconfig | |
cd ~/src/ | |
sudo cp noto-emoji/fonts/NotoColorEmoji.ttf noto-emoji/fonts/NotoEmoji-Regular.ttf /usr/share/fonts/truetype/noto | |
sudo fc-cache -fv | |
fc-list | |
fc-list | grep Emoji | |
cd openstreetmap-carto | |
scripts/get-shapefiles.py | |
sudo npm install -g carto@0.18.0 | |
cd ~/src/openstreetmap-carto | |
carto -a "3.0.0" project.mml > style.xml | |
ls -l style.xml | |
sudo joe /usr/local/etc/renderd.conf | |
--XML=/home/tileserver/src/openstreetmap-carto/style.xml | |
--HOST=localhost | |
--plugins_dir=/usr/lib/mapnik/3.0/input/ | |
sudo cp ~/src/mod_tile/debian/renderd.init /etc/init.d/renderd | |
sudo chmod a+x /etc/init.d/renderd | |
sudo joe /etc/init.d/renderd | |
--DAEMON=/usr/local/bin/$NAME | |
--DAEMON_ARGS="-c /usr/local/etc/renderd.conf" | |
--RUNASUSER=tileserver | |
sudo mkdir -p /var/lib/mod_tile | |
sudo chown tileserver:tileserver /var/lib/mod_tile | |
sudo systemctl daemon-reload | |
sudo systemctl start renderd | |
sudo systemctl enable renderd | |
sudo joe /etc/apache2/mods-available/mod_tile.load | |
--LoadModule tile_module /usr/lib/apache2/modules/mod_tile.so | |
sudo ln -s /etc/apache2/mods-available/mod_tile.load /etc/apache2/mods-enabled/ | |
sudo joe /etc/apache2/sites-enabled/000-default.conf | |
--# Load all the tilesets defined in the configuration file into this virtual host | |
--LoadTileConfigFile /usr/local/etc/renderd.conf | |
--# Socket where we connect to the rendering daemon | |
--ModTileRenderdSocketName /var/run/renderd/renderd.sock | |
--# Timeout before giving up for a tile to be rendered | |
--ModTileRequestTimeout 3 | |
--# Timeout before giving up for a tile to be rendered that is otherwise missing | |
--ModTileMissingRequestTimeout 60 | |
sudo systemctl restart apache2 | |
#clean out /home/tileserver/src/openstreetmap-carto/style.xml (essentially: remove all layers and styles) | |
sudo service renderd restart | |
wget --spider http://localhost/osm_tiles/0/0/0.png | |
cd ~/src | |
mkdir dem | |
cd dem | |
wget https://dds.cr.usgs.gov/srtm/version2_1/SRTM3/Eurasia/N49E010.hgt.zip | |
wget https://dds.cr.usgs.gov/srtm/version2_1/SRTM3/Eurasia/N49E011.hgt.zip | |
wget https://dds.cr.usgs.gov/srtm/version2_1/SRTM3/Eurasia/N49E012.hgt.zip | |
wget https://dds.cr.usgs.gov/srtm/version2_1/SRTM3/Eurasia/N50E010.hgt.zip | |
wget https://dds.cr.usgs.gov/srtm/version2_1/SRTM3/Eurasia/N50E011.hgt.zip | |
wget https://dds.cr.usgs.gov/srtm/version2_1/SRTM3/Eurasia/N50E012.hgt.zip | |
wget https://dds.cr.usgs.gov/srtm/version2_1/SRTM3/Eurasia/N51E010.hgt.zip | |
wget https://dds.cr.usgs.gov/srtm/version2_1/SRTM3/Eurasia/N51E011.hgt.zip | |
wget https://dds.cr.usgs.gov/srtm/version2_1/SRTM3/Eurasia/N51E012.hgt.zip | |
wget https://www.grassbook.org/wp-content/uploads/neteler/rs/srtm/srtm_generate_hdr.sh | |
joe shade.ramp | |
--0 0 0 0 255 | |
--32 0 0 0 240 | |
--64 0 0 0 180 | |
--96 0 0 0 120 | |
--128 0 0 0 0 | |
--129 255 255 255 0 | |
--160 255 255 255 32 | |
--224 255 255 255 128 | |
--255 255 255 255 192 | |
ID=N49E010 | |
/bin/bash srtm_generate_hdr.sh ${ID}.hgt.zip | |
gdal_translate -of GTiff -co "TILED=YES" -a_srs "+proj=latlong" ${ID}.tif ${ID}_adapted.tif | |
gdalwarp -of GTiff -co "TILED=YES" -srcnodata 32767 -t_srs "+proj=merc +ellps=sphere +R=6378137 +a=6378137 +units=m" -rcs -order 3 -tr 30 30 -multi ${ID}_adapted.tif ${ID}_warped.tif | |
gdaldem hillshade ${ID}_warped.tif ${ID}_hillshade.tif | |
gdaldem color-relief ${ID}_hillshade.tif -alpha shade.ramp ${ID}_hillshade_overlay.tif | |
ID=N49E010 | |
gdaldem color-relief ${ID}_hillshade.tif -alpha shade.ramp ${ID}_hillshade_overlay.tif | |
ID=N49E011 | |
gdaldem color-relief ${ID}_hillshade.tif -alpha shade.ramp ${ID}_hillshade_overlay.tif | |
ID=N49E012 | |
gdaldem color-relief ${ID}_hillshade.tif -alpha shade.ramp ${ID}_hillshade_overlay.tif | |
ID=N50E010 | |
gdaldem color-relief ${ID}_hillshade.tif -alpha shade.ramp ${ID}_hillshade_overlay.tif | |
ID=N50E011 | |
gdaldem color-relief ${ID}_hillshade.tif -alpha shade.ramp ${ID}_hillshade_overlay.tif | |
ID=N50E012 | |
gdaldem color-relief ${ID}_hillshade.tif -alpha shade.ramp ${ID}_hillshade_overlay.tif | |
ID=N51E010 | |
gdaldem color-relief ${ID}_hillshade.tif -alpha shade.ramp ${ID}_hillshade_overlay.tif | |
ID=N51E011 | |
gdaldem color-relief ${ID}_hillshade.tif -alpha shade.ramp ${ID}_hillshade_overlay.tif | |
ID=N51E012 | |
gdaldem color-relief ${ID}_hillshade.tif -alpha shade.ramp ${ID}_hillshade_overlay.tif | |
joe /home/tileserver/src/openstreetmap-carto/style.xml | |
#remainder is content of style file!! | |
<?xml version="1.0" encoding="utf-8"?> | |
<!DOCTYPE Map[]> | |
<Map srs="+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over" background-c | |
<Parameters> | |
<Parameter name="scale">1</Parameter> | |
<Parameter name="metatile">2</Parameter> | |
<Parameter name="name"><![CDATA[OpenStreetMap Carto]]></Parameter> | |
<Parameter name="description"><![CDATA[A general-purpose OpenStreetMap mapnik style, in CartoCSS]]></Parameter> | |
<Parameter name="bounds">-180,-85.05112877980659,180,85.05112877980659</Parameter> | |
<Parameter name="center">0,0,4</Parameter> | |
<Parameter name="format">png</Parameter> | |
<Parameter name="minzoom">0</Parameter> | |
<Parameter name="maxzoom">22</Parameter> | |
</Parameters> | |
<Layer name="dem" status="on"> | |
<StyleName>raster</StyleName> | |
<Datasource> | |
<Parameter name="type">gdal</Parameter> | |
<Parameter name="file">/home/tileserver/src/dem/N51E010_hillshade_overlay.tif</Parameter> | |
<Parameter name="format">tiff</Parameter> | |
</Datasource> | |
</Layer> | |
<Layer name="dem" status="on"> | |
<StyleName>raster</StyleName> | |
<Datasource> | |
<Parameter name="type">gdal</Parameter> | |
<Parameter name="file">/home/tileserver/src/dem/N51E011_hillshade_overlay.tif</Parameter> | |
<Parameter name="format">tiff</Parameter> | |
</Datasource> | |
</Layer> | |
<Layer name="dem" status="on"> | |
<StyleName>raster</StyleName> | |
<Datasource> | |
<Parameter name="type">gdal</Parameter> | |
<Parameter name="file">/home/tileserver/src/dem/N51E012_hillshade_overlay.tif</Parameter> | |
<Parameter name="format">tiff</Parameter> | |
</Datasource> | |
</Layer> | |
<Layer name="dem" status="on"> | |
<StyleName>raster</StyleName> | |
<Datasource> | |
<Parameter name="type">gdal</Parameter> | |
<Parameter name="file">/home/tileserver/src/dem/N50E010_hillshade_overlay.tif</Parameter> | |
<Parameter name="format">tiff</Parameter> | |
</Datasource> | |
</Layer> | |
<Layer name="dem" status="on"> | |
<StyleName>raster</StyleName> | |
<Datasource> | |
<Parameter name="type">gdal</Parameter> | |
<Parameter name="file">/home/tileserver/src/dem/N50E011_hillshade_overlay.tif</Parameter> | |
<Parameter name="format">tiff</Parameter> | |
</Datasource> | |
</Layer> | |
<Layer name="dem" status="on"> | |
<StyleName>raster</StyleName> | |
<Datasource> | |
<Parameter name="type">gdal</Parameter> | |
<Parameter name="file">/home/tileserver/src/dem/N50E012_hillshade_overlay.tif</Parameter> | |
<Parameter name="format">tiff</Parameter> | |
</Datasource> | |
</Layer> | |
<Layer name="dem" status="on"> | |
<StyleName>raster</StyleName> | |
<Datasource> | |
<Parameter name="type">gdal</Parameter> | |
<Parameter name="file">/home/tileserver/src/dem/N49E010_hillshade_overlay.tif</Parameter> | |
<Parameter name="format">tiff</Parameter> | |
</Datasource> | |
</Layer> | |
<Layer name="dem" status="on"> | |
<StyleName>raster</StyleName> | |
<Datasource> | |
<Parameter name="type">gdal</Parameter> | |
<Parameter name="file">/home/tileserver/src/dem/N49E011_hillshade_overlay.tif</Parameter> | |
<Parameter name="format">tiff</Parameter> | |
</Datasource> | |
</Layer> | |
<Layer name="dem" status="on"> | |
<StyleName>raster</StyleName> | |
<Datasource> | |
<Parameter name="type">gdal</Parameter> | |
<Parameter name="file">/home/tileserver/src/dem/N49E012_hillshade_overlay.tif</Parameter> | |
<Parameter name="format">tiff</Parameter> | |
</Datasource> | |
</Layer> | |
<Style name="raster"> | |
<Rule> | |
<RasterSymbolizer> | |
</RasterSymbolizer> | |
</Rule> | |
</Style> | |
</Map> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment