You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+41Lines changed: 41 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,46 @@
1
1
# Changelog
2
2
3
+
## [3.0.0] - 2024-01-15
4
+
5
+
3.0 is a major release that significantly reduces tilemaker's memory footprint and improves running time. Note that it has __breaking changes__ in the way you write your Lua scripts (`way:Layer` becomes simply `Layer`, and so on).
6
+
7
+
### Added
8
+
- PMTiles output (@systemed)
9
+
- C++ tilemaker-server for quick prototyping (@bdon)
10
+
- GeoJSON supported as an alternative to shapefiles (@systemed)
11
+
- Support nodes in relations and relation roles (@cldellow)
12
+
- Nested relations support (@systemed/@cldellow)
13
+
-`LayerAsCentroid` can use positions from relation child nodes (@cldellow)
14
+
- Add polylabel algorithm to `LayerAsCentroid` (@cldellow)
15
+
- Filter input .pbf by way keys (@cldellow)
16
+
- GeoJSON writer for debugging (@systemed)
17
+
- Warn about PBFs with large blocks (@cldellow)
18
+
- Unit tests for various features (@cldellow)
19
+
-`RestartRelations()` to reset relation iterator (@systemed)
20
+
- Per-layer, zoom-dependent feature_limit (@systemed after an original by @keichan34)
21
+
- Report OSM ID on Lua processing error (@systemed)
22
+
- Docker OOM killer warning (@Firefishy)
23
+
- Push Docker image to Github package (@JinIgarashi)
24
+
- Support `type=boundary` relations as native multipolygons (@systemed)
25
+
26
+
### Changed
27
+
-__BREAKING__: Lua calls use the global namespace, so `Layer` instead of `way:Layer` etc. (@cldellow)
28
+
-__BREAKING__: Mapsplit (.msf) support removed (@systemed)
Copy file name to clipboardExpand all lines: README.md
+13-11Lines changed: 13 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,14 +12,13 @@ See an example of a vector tile map produced by tilemaker at [tilemaker.org](htt
12
12
13
13
tilemaker is written in C++14. The chief dependencies are:
14
14
15
-
* Google Protocol Buffers
16
15
* Boost (latest version advised, 1.66 minimum)
17
16
* Lua (5.1 or later) or LuaJIT
18
17
* sqlite3
19
18
* shapelib
20
19
* rapidjson
21
20
22
-
sqlite_modern_cpp, and kaguya are bundled in the include/ directory.
21
+
Other third-party code is bundled in the include/ directory.
23
22
24
23
You can then simply install with:
25
24
@@ -32,20 +31,19 @@ For detailed installation instructions for your operating system, see [INSTALL.m
32
31
33
32
tilemaker comes with configuration files compatible with the popular [OpenMapTiles](https://openmaptiles.org) schema, and a demonstration map server. You'll run tilemaker to make vector tiles from your `.osm.pbf` source data. To create the tiles, run this from the tilemaker directory:
If you want to include sea tiles, then create a directory called `coastline` in the same place you're running tilemaker from, and then save the files from https://osmdata.openstreetmap.de/download/water-polygons-split-4326.zip in it, such that tilemaker can find a file at `coastline/water_polygons.shp`.
39
37
38
+
_(If you want to include optional small-scale landcover, create a `landcover` directory, and download the appropriate 10m files from 'Features' at https://www.naturalearthdata.com so that you have `landcover/ne_10m_antarctic_ice_shelves_polys/ne_10m_antarctic_ice_shelves_polys.shp`, `landcover/ne_10m_urban_areas/ne_10m_urban_areas.shp`, `landcover/ne_10m_glaciated_areas/ne_10m_glaciated_areas.shp`.)_
39
+
40
40
Then, to serve your tiles using the demonstration server:
41
41
42
42
cd server
43
-
ruby server.rb /path/to/your/output.mbtiles
43
+
tilemaker-server /path/to/your/output.mbtiles
44
44
45
45
You can now navigate to http://localhost:8080/ and see your map!
46
46
47
-
(If you don't already have them, you'll need to install Ruby and the required gems to run the demonstration server. On Ubuntu, for example, `sudo apt install sqlite3 libsqlite3-dev ruby ruby-dev` and then `sudo gem install sqlite3 cgi glug rack rackup`.)
48
-
49
47
## Your own configuration
50
48
51
49
Vector tiles contain (generally thematic) 'layers'. For example, your tiles might contain river, cycleway and railway layers. It's up to you what OSM data goes into each layer. You configure this in tilemaker with two files:
@@ -77,27 +75,31 @@ You might use tilemaker if:
77
75
But don't use tilemaker if:
78
76
79
77
* You want someone else to create and host the tiles for you
80
-
* You want the entire planet
81
78
* You want continuous updates with the latest OSM data
82
79
83
80
## Contributing
84
81
85
-
Bug reports, suggestions and (especially!) pull requests are very welcome on the Github issue tracker. Please check the tracker to see if your issue is already known, and be nice. For questions, please use IRC (irc.oftc.net or https://irc.osm.org, channel #osm-dev) and https://help.osm.org.
82
+
Bug reports, suggestions and (especially!) pull requests are very welcome on the Github issue tracker. Please check the tracker to see if your issue is already known, and be nice. For questions, please use IRC (irc.oftc.net or https://irc.osm.org, channel #osm-dev) and https://community.osm.org.
86
83
87
84
Formatting: braces and indents as shown, hard tabs (4sp). (Yes, I know.) Please be conservative about adding dependencies or increasing the memory requirement.
88
85
89
86
## Copyright
90
87
91
88
tilemaker is maintained by Richard Fairhurst and supported by [many contributors](https://github.com/systemed/tilemaker/graphs/contributors).
92
89
93
-
Copyright tilemaker contributors, 2015-2023.
90
+
Copyright tilemaker contributors, 2015-2024.
94
91
95
92
The tilemaker code is licensed as FTWPL; you may do anything you like with this code and there is no warranty.
96
93
97
94
Licenses of third-party libraries:
98
95
99
-
- sqlite_modern_cpp (Amin Roosta) is licensed under MIT
96
+
-[sqlite_modern_cpp](https://github.com/SqliteModernCpp/sqlite_modern_cpp) is licensed under MIT
100
97
-[kaguya](https://github.com/satoren/kaguya) is licensed under the Boost Software Licence
101
98
-[libpopcnt](https://github.com/kimwalisch/libpopcnt) is licensed under BSD 2-clause
102
99
-[pmtiles](https://github.com/protomaps/PMTiles) is licensed under BSD 3-clause
103
100
-[streamvbyte](https://github.com/lemire/streamvbyte) is licensed under Apache 2
101
+
-[polylabel](https://github.com/mapbox/polylabel) is licensed under ISC
102
+
-[protozero](https://github.com/mapbox/protozero) is licensed under BSD 2-clause
103
+
-[vtzero](https://github.com/mapbox/vtzero) is licensed under BSD 2-clause
104
+
-[minunit](https://github.com/siu/minunit) is licensed under MIT
105
+
-[Simple-Web-Server](https://gitlab.com/eidheim/Simple-Web-Server) is licensed under MIT
0 commit comments