Skip to content

Commit 9a02822

Browse files
authored
Merge pull request #40 from Geodan/39-tiler-parallel-warnings-for-unzip
release 1.1, add --jobs parameter for parallel (default 5)
2 parents ded59e3 + fbfede2 commit 9a02822

File tree

3 files changed

+32
-11
lines changed

3 files changed

+32
-11
lines changed

README.md

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -125,10 +125,11 @@ $ docker run -v $(pwd):/data -it geodan/terrainwarp
125125
The script takes as input parameters:
126126

127127
```
128-
Syntax: [-c|m|h]
128+
Syntax: [-c|m|j|h]
129129
options:
130130
c Source s_srs - default EPSG:7415
131131
m fillnodata maxdistance (in pixels) - default 100
132+
j number of parallel jobs - default 5
132133
h Print this help
133134
```
134135

@@ -142,11 +143,12 @@ A the vertical EPSG code is optional but needed to transform from geoid to ellip
142143
Sample output:
143144

144145
```
145-
Terrain tiler 1.0 - Warp
146+
Terrain tiler 1.1 - Warp
146147
Start: Tue Jul 25 12:52:27 UTC 2023
147148
Temp directory: tmp
148149
s_src input images:
149150
Fillnodata maxdistance: 100
151+
Jobs: 6
150152
Delete tmp directory...
151153
tmp directory created.
152154
s_srs not set, trying to detect it from first GeoTIFF
@@ -178,6 +180,7 @@ o Output directory - default tiles
178180
b Break zoomlevel - default 9
179181
s Start zoomlevel - default 15
180182
e End zoomlevel - default 0
183+
j number of parallel jobs - default 5
181184
h Print this help
182185
```
183186

@@ -190,13 +193,14 @@ $ docker run -v $(pwd):/data -it geodan/terraintiler -s 10
190193
Sample output:
191194

192195
```
193-
Terrain tiler 1.0
196+
Terrain tiler 1.1
194197
Start: Wed Jun 21 09:24:39 UTC 2023
195198
Output directory: tiles
196199
Tif extension: TIF
197200
Start zoomlevel: 15
198201
Break zoomlevel: 9
199202
End zoomlevel: 0
203+
Jobs: 6
200204
Delete output directory...
201205
Directory created: tiles
202206
Running ctb-tile from 15 to level 9...
@@ -247,6 +251,12 @@ $ sh build_all.sh
247251

248252
## History
249253

254+
2023-08-08: release 1.1:
255+
256+
- add -j option for number of parallel jobs
257+
258+
- removed parallel progress bar in tiler
259+
250260
2023-07-26: release 1.0:
251261

252262
- performance improvement by using parallel processes;

tiler/process.sh

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
#!/bin/bash
22

3-
version=1.0
3+
version=1.1
44

55
# Set default values
66
output_dir=tiles
77
tmp_dir=tmp
88
start_zoom=15
99
break_zoom=9
1010
end_zoom=0
11+
jobs=5
1112
# Sample reading parameter
1213
echo Terrain tiler $version - Step 2/2 Tiling
1314
start_time=$(date +%s)
@@ -16,24 +17,26 @@ echo Start: $(date)
1617
print_usage()
1718
{
1819
# Display Help
19-
echo Syntax: '[b|s|e|o|h]'
20+
echo Syntax: '[b|s|e|o|j|h]'
2021
echo options:
2122
echo o Output directory - default $output_dir
2223
echo s Start zoomlevel - default $start_zoom
2324
echo b Break zoomlevel - default $break_zoom
2425
echo e End zoomlevel - default $end_zoom
26+
echo j Number of jobs - default $jobs
2527
echo h Print this help
2628
echo
2729
}
2830

2931
# Parse input arguments (flags)
30-
while getopts s:e:b:o:h flag
32+
while getopts s:e:b:o:j:h flag
3133
do
3234
case $flag in
3335
o) output_dir=$OPTARG;;
3436
s) start_zoom=$OPTARG;;
3537
b) break_zoom=$OPTARG;;
3638
e) end_zoom=$OPTARG;;
39+
j) jobs=$OPTARG;;
3740
h) print_usage; exit 0;;
3841
esac
3942
done
@@ -42,6 +45,7 @@ echo Output directory: $output_dir
4245
echo Start zoomlevel: $start_zoom
4346
echo Break zoomlevel: $break_zoom
4447
echo End zoomlevel: $end_zoom
48+
echo Jobs: $jobs
4549

4650
# Check on tmp dir
4751
if [ ! -d "$tmp_dir" ];
@@ -107,8 +111,11 @@ ctb-tile -v -f Mesh -C -N -e ${end_zoom} -s $((break_zoom-1)) -o ${output_dir} $
107111

108112
# end workaround for level break_zoom - 0
109113

114+
echo
110115
echo Unzip terrain files...
111-
find ${output_dir} -name '*.terrain' | parallel --bar 'mv {} {}.gz && gunzip -f -S terrain {}.gz'
116+
echo Warning: this may take a while...
117+
echo No progressbar is shown because performance.
118+
find ${output_dir} -name '*.terrain' | parallel -j ${jobs} 'mv {} {}.gz && gunzip -f -S terrain {}.gz'
112119

113120
end_time=$(date +%s)
114121
echo End: $(date)

warp/process.sh

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
#!/bin/bash
22

3-
version=1.0
3+
version=1.1
44
tmp_dir=tmp
55
default_s_srs=EPSG:7415
66
s_srs=""
77
md=100
8+
jobs=5
89

910
echo Terrain tiler $version - Warp
1011
start_time=$(date +%s)
@@ -13,10 +14,11 @@ echo Start: $(date)
1314
print_usage()
1415
{
1516
# Display Help
16-
echo Syntax: '[-c|m|h]'
17+
echo Syntax: '[-c|m|j|h]'
1718
echo options:
1819
echo c Source s_srs - default $s_srs
1920
echo m fillnodata maxdistance in pixels - default $md
21+
echo j Number of jobs - default $jobs
2022
echo h Print this help
2123
echo
2224
}
@@ -38,22 +40,24 @@ warp_tiff()
3840
warp_tiffs()
3941
{
4042
echo Start processing ${tiffs} GeoTIFFS...
41-
find ./ -maxdepth 1 -type f -iname '*.tif' | parallel --bar warp_tiff ${tmp_dir} ${md} ${s_srs}
43+
find ./ -maxdepth 1 -type f -iname '*.tif' | parallel --bar -j ${jobs} warp_tiff ${tmp_dir} ${md} ${s_srs}
4244
}
4345
export -f warp_tiff
4446

4547
# Parse input arguments (flags)
46-
while getopts c:m:h flag
48+
while getopts c:m:j:h flag
4749
do
4850
case $flag in
4951
c) s_srs=$OPTARG;;
5052
m) md=$OPTARG;;
53+
j) jobs=$OPTARG;;
5154
h) print_usage; exit 0;;
5255
esac
5356
done
5457

5558
echo Temp directory: $tmp_dir
5659
echo Fillnodata maxdistance: $md
60+
echo Jobs: $jobs
5761

5862
# Check if input directory has .tif files
5963
tiffs=`find ./ -maxdepth 1 -type f -iname '*.tif' 2> /dev/null | wc -l`

0 commit comments

Comments
 (0)