mirror of
https://github.com/mapbox/tippecanoe.git
synced 2025-04-24 04:55:55 +00:00
Merge any leftover feature remnants onto some feature.
Add a test for coalescing small features onto large ones.
This commit is contained in:
parent
748ef3b1d5
commit
91e469aac2
@ -1,3 +1,8 @@
|
||||
## 1.25.0
|
||||
|
||||
* Add --coalesce-smallest-as-needed strategy for reducing tile sizes
|
||||
* Add --stats option to tipppecanoe-decode
|
||||
|
||||
## 1.24.1
|
||||
|
||||
* Limit the size and depth of the string pool for better performance
|
||||
|
File diff suppressed because one or more lines are too long
16
tile.cpp
16
tile.cpp
@ -1575,7 +1575,7 @@ long long write_tile(FILE *geoms, long long *geompos_in, char *metabase, char *s
|
||||
|
||||
if (coalesced_geometry.size() != 0) {
|
||||
for (ssize_t i = coalesced_geometry.size() - 1; i >= 0; i--) {
|
||||
if (coalesced_geometry[i].t == sf.t) {
|
||||
if (coalesced_geometry[i].t == sf.t && coalesced_geometry[i].layer == sf.layer) {
|
||||
for (size_t j = 0; j < coalesced_geometry[i].geometry.size(); j++) {
|
||||
sf.geometry.push_back(coalesced_geometry[i].geometry[j]);
|
||||
}
|
||||
@ -1639,6 +1639,20 @@ long long write_tile(FILE *geoms, long long *geompos_in, char *metabase, char *s
|
||||
merge_previndex = sf.index;
|
||||
}
|
||||
|
||||
// Attach any pieces that were waiting to be coalesced onto some features that did make it.
|
||||
for (ssize_t i = coalesced_geometry.size() - 1; i >= 0; i--) {
|
||||
for (size_t j = 0; j < partials.size(); j++) {
|
||||
if (partials[j].layer == coalesced_geometry[i].layer && partials[j].t == coalesced_geometry[i].t) {
|
||||
for (size_t k = 0; k < coalesced_geometry[i].geometry.size(); k++) {
|
||||
partials[j].geoms[0].push_back(coalesced_geometry[i].geometry[k]);
|
||||
}
|
||||
|
||||
coalesced_geometry.erase(coalesced_geometry.begin() + i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (prefilter != NULL) {
|
||||
json_end(prefilter_jp);
|
||||
if (fclose(prefilter_read_fp) != 0) {
|
||||
|
@ -1,6 +1,6 @@
|
||||
#ifndef VERSION_HPP
|
||||
#define VERSION_HPP
|
||||
|
||||
#define VERSION "tippecanoe v1.24.1\n"
|
||||
#define VERSION "tippecanoe v1.25.0\n"
|
||||
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user