-
Notifications
You must be signed in to change notification settings - Fork 0
/
composite_tiles
executable file
·103 lines (91 loc) · 2.93 KB
/
composite_tiles
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#!/bin/bash
source ./config
MAGICK='imagemagick'
# https://imagemagick.org/Usage/layers/
# contours
for ZDIR in $TILE_DIR/contours_mask/* ; do
Z=`basename $ZDIR`
for XDIR in $ZDIR/* ; do
X=`basename $XDIR`
OUTDIR=$TILE_DIR/contours/$Z/$X
mkdir -pv $OUTDIR
FILES=`basename --multiple \`ls $XDIR/*\``
parallel $PARALLEL_ARGS \
convert -size 256x256 xc:\\#553300 $XDIR/{1} -alpha off \
-compose CopyOpacity -composite \
PNG32:$OUTDIR/{1} \
::: $FILES
done
done
# hillshade_imhof
for ZDIR in $TILE_DIR/hillshade/* ; do
Z=`basename $ZDIR`
for XDIR in $ZDIR/* ; do
X=`basename $XDIR`
OUTDIR=$TILE_DIR/hillshade_imhof/$Z/$X
mkdir -pv $OUTDIR
FILES=`basename --multiple \`ls $XDIR/*\``
parallel --line-buffer $PARALLEL_ARGS \
convert $XDIR/{1} -level-colors \\#404010,\\#dfdfff $OUTDIR/{1} \
::: $FILES
done
done
# canopy_mask_exp
for ZDIR in $TILE_DIR/canopy_mask/* ; do
Z=`basename $ZDIR`
for XDIR in $ZDIR/* ; do
X=`basename $XDIR`
OUTDIR=$TILE_DIR/canopy_mask_exp/$Z/$X
mkdir -pv $OUTDIR
FILES=`basename --multiple \`ls $XDIR/*\``
parallel $PARALLEL_ARGS \
convert $XDIR/{1} -gamma 0.5 $OUTDIR/{1} ::: $FILES
done
done
# baselayer
for ZDIR in $TILE_DIR/canopy_mask_exp/* ; do
Z=`basename $ZDIR`
for XDIR in $ZDIR/* ; do
X=`basename $XDIR`
OUTDIR=$TILE_DIR/baselayer/$Z/$X
mkdir -pv $OUTDIR
FILES=`basename --multiple \`ls $XDIR/*\``
parallel $PARALLEL_ARGS \
convert -size 256x256 xc:\\#eeddcc \
xc:\\#709966 $TILE_DIR/canopy_mask_exp/$Z/$X/{1} -composite \
\\\( $TILE_DIR/hillshade_imhof/$Z/$X/{1} -alpha set -channel A -evaluate set 20% \\\) -compose hard-light -composite \
$TILE_DIR/contours/$Z/$X/{1} -compose src-over -composite \
$OUTDIR/{1} \
::: $FILES
done
done
# composite
for ZDIR in $TILE_DIR/baselayer/* ; do
Z=`basename $ZDIR`
for XDIR in $ZDIR/* ; do
X=`basename $XDIR`
OUTDIR=$TILE_DIR/composite/$Z/$X
mkdir -pv $OUTDIR
FILES=`basename --multiple \`ls $XDIR/*\``
parallel $PARALLEL_ARGS \
convert $TILE_DIR/baselayer/$Z/$X/{1} $TILE_DIR/features/$Z/$X/{1} \
-compose src-over -composite $OUTDIR/{1} \
::: $FILES
done
done
# Create JPEG composites
if $COMPOSITE_JPEG ; then
echo "Creating JPEG composites..."
find $TILE_DIR/composite -name "*.png" | \
parallel echo '{}' \; convert '{}' TGA:- \| \
$CJPEG -sample 1x1 -quality $JPEG_QUALITY -targa \
-outfile \`dirname '{}'\`/\`basename '{}' .png\`.jpg
fi
# Optimize PNG tiles (add other layers as needed)
if $OPTIMIZE_PNG ; then
for LAYER in composite ; do
echo "Optimizing PNG in $LAYER..."
find $TILE_DIR/$LAYER -name "*.png" | \
parallel -m $PARALLEL_ARGS pngquant -s 3 -f --ext .png --strip 256
done
fi