Skip to content

Commit 0b19d09

Browse files
committed
Add natural earth to mbtiles example
1 parent 009d4e9 commit 0b19d09

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
import geoscript.layer.ImageTileRenderer
2+
import geoscript.layer.Layer
3+
import geoscript.layer.MBTiles
4+
import geoscript.layer.Pyramid
5+
import geoscript.layer.TileGenerator
6+
import geoscript.layer.TileRenderer
7+
import geoscript.style.Fill
8+
import geoscript.style.Stroke
9+
import geoscript.workspace.Directory
10+
import geoscript.workspace.GeoPackage
11+
12+
import static geoscript.GeoScript.download
13+
import static geoscript.GeoScript.unzip
14+
15+
// Download data from natural earth
16+
File dataDir = new File("naturalearth")
17+
[
18+
[name: "countries", url: "http://www.naturalearthdata.com/http//www.naturalearthdata.com/download/110m/cultural/ne_110m_admin_0_countries.zip"],
19+
[name: "ocean", url: "http://www.naturalearthdata.com/http//www.naturalearthdata.com/download/110m/physical/ne_110m_ocean.zip"],
20+
[name: "places", url: "http://www.naturalearthdata.com/http//www.naturalearthdata.com/download/110m/cultural/ne_110m_populated_places.zip"],
21+
[name: "rivers", url: "http://www.naturalearthdata.com/http//www.naturalearthdata.com/download/110m/physical/ne_110m_rivers_lake_centerlines.zip"],
22+
[name: "states", url: "http://www.naturalearthdata.com/http//www.naturalearthdata.com/download/110m/cultural/ne_110m_admin_1_states_provinces.zip"]
23+
24+
].each { Map item ->
25+
println "Downloading ${item.name} from ${item.url}..."
26+
unzip(download(new URL(item.url), new File(dataDir, "${item.name}.zip"), overwrite: false))
27+
}
28+
29+
Directory directory = new Directory("naturalearth")
30+
Layer countries = directory.get("ne_110m_admin_0_countries")
31+
countries.style = new Fill("#ffffff") + new Stroke("#b2b2b2", 0.5)
32+
Layer ocean = directory.get("ne_110m_ocean")
33+
ocean.style = new Fill("#a5bfdd")
34+
35+
File mbtilesFile = new File("world.mbtiles")
36+
if (mbtilesFile.exists()) {
37+
mbtilesFile.delete()
38+
}
39+
TileGenerator generator = new TileGenerator(verbose: true)
40+
MBTiles mbtiles = new MBTiles(mbtilesFile, "World", "Natural Earth")
41+
ImageTileRenderer renderer = new ImageTileRenderer(mbtiles, [ocean, countries])
42+
generator.generate(mbtiles, renderer, 0, 3)

0 commit comments

Comments
 (0)