185 Commits

Author SHA1 Message Date
Eric Fischer
1b72804358 Precalculate which child tiles a feature can overlap
instead of looping over them all
2015-07-01 15:17:35 -07:00
Eric Fischer
18cdcb0732 Drop linetos smaller than tile resolution before doing normal simplification
Since simplification is rather expensive
2015-07-01 12:16:50 -07:00
Eric Fischer
af13a95dc1 Shard the child tiles as widely as possible even if not skipping levels
to help future parallelization
2015-07-01 12:04:45 -07:00
Eric Fischer
0d3192b863 Break rewriting the geometry for the next zoom out into its own function 2015-06-30 16:36:26 -07:00
Eric Fischer
4bb88e228a Fix buffer overflow. This is a bounding box, not sub-tiles. 2015-06-29 17:05:33 -07:00
Eric Fischer
7724e2c329 Skip over some intermediate zooms below minzoom 2015-06-29 16:42:26 -07:00
Eric Fischer
efe3c62bb1 Start breaking the assumption that the next zoom is exactly 1 deeper 2015-06-29 16:16:38 -07:00
Eric Fischer
62052cafab Move zoom traversal into C++ 2015-06-19 17:29:56 -07:00
Eric Fischer
a185073f0a Shrink the geometry by shaving off bits below the maxzoom tile resolution 2015-06-18 14:16:16 -07:00
Eric Fischer
a1d3ecf9bb Save another byte per attribute by moving the type to the string pool 2015-06-18 12:12:20 -07:00
Eric Fischer
1a44538bdf Use the first coordinates of the first feature as the origin for deltas 2015-06-18 10:52:01 -07:00
Eric Fischer
46626e4f08 Delta encoding for motion within features 2015-06-17 17:48:29 -07:00
Eric Fischer
725ea71e57 Fix formatting 2015-06-17 17:30:17 -07:00
Eric Fischer
cde1e60603 Use a string pool to avoid duplicating keys and values 2015-06-17 17:18:08 -07:00
Eric Fischer
d5d322f36a Clearer message about projections 2015-06-05 10:34:19 -07:00
Eric Fischer
263ae94e75 Add a warning when data appears to be in the wrong projection 2015-06-05 10:23:25 -07:00
Eric Fischer
8a1f0d83e1 Consistent indent style with clang-format 2015-06-03 11:22:13 -07:00
Eric Fischer
34b00eca73 Merge pull request #50 from mapbox/gl4096
Add a command line option to specify the minimum allowed tile extent
2015-06-03 11:11:16 -07:00
Eric Fischer
bc2f243f0b Add a command line option to specify the minimum allowed tile extent 2015-06-01 15:01:46 -07:00
Eric Fischer
901f6a76b6 Keep the resolution constant as we drop features to make the tile fit 2015-05-20 15:15:45 -07:00
Eric Fischer
555ababd2e Add a flag to dynamically drop a fraction of features from large tiles 2015-05-20 14:57:00 -07:00
Eric Fischer
1381f0f276 Add a flag to let you drop lines at low zooms just like points 2015-04-21 08:19:51 -07:00
Eric Fischer
d64328ac35 Fix crash when encoding boolean properties. 2015-04-10 13:03:11 -07:00
Eric Fischer
4041811372 Add flags to disable simplification/coalescing/limits when unwanted 2015-04-10 11:36:30 -07:00
Eric Fischer
a076c5619d Merge remote-tracking branch 'origin/master' into multilayer 2015-03-25 13:54:29 -07:00
Eric Fischer
86925eea4c Write out geometries for all layers 2015-03-24 17:07:51 -07:00
Eric Fischer
73b63133e2 Multiple layers make it into JSON metadata now 2015-03-24 16:28:31 -07:00
Eric Fischer
2198bcc2a6 Handle multiple reading. Multiple writing still crashes. 2015-03-23 17:44:23 -07:00
Eric Fischer
eb24c6e21e Include the layer number in the serialized geometry 2015-03-23 15:37:49 -07:00
Eric Fischer
a880f44a91 Clean up the gamma semantics a little.
0 (default) means unchanged: maxzoom contains all the dots.

Positive number, even very small, means that it still checks
the gap size and thins out dots if they are close together.

Negative number means no gamma, and the old random instead of
uniform dropping at low zooms.
2015-03-23 14:44:21 -07:00
Eric Fischer
8002609f0c More scaffolding for multiple layers 2015-03-23 13:44:35 -07:00
Eric Fischer
d370b07231 Scaffolding for layers within per-tile processing 2015-03-23 11:36:35 -07:00
Eric Fischer
b59a251924 Write metadata even when tiling fails so you can look at the partial map 2015-03-06 16:33:32 -08:00
Eric Fischer
41b28b2a1b Add dot gamma processing 2015-03-06 13:12:32 -08:00
Eric Fischer
558a7a412c Restore old code for uniform instead of random dot-dropping
From ffe4c953760d8fd
2015-03-06 10:56:02 -08:00
Eric Fischer
b2eff13667 Impose a limit on the maximum number of features in a tile. 2014-12-19 14:33:39 -08:00
Eric Fischer
32010fc893 Oops. Do a lot less progress indicator I/O. 2014-12-17 17:08:04 -08:00
Eric Fischer
48b5db6ae5 Keep the progress indicator progressing while working through big tiles 2014-12-17 16:01:33 -08:00
Eric Fischer
cba1b8ae7f Remove unneeded old indexing code 2014-12-17 11:16:43 -08:00
Eric Fischer
0d0a546b1e No need to split features into child tiles when processing the final zoom. 2014-12-17 11:10:46 -08:00
Eric Fischer
ad17f1f282 Make -Z0 work again for file minimum zoom 2014-12-17 11:05:14 -08:00
Eric Fischer
3f2818a814 More useful progress indicator 2014-12-11 17:59:22 -08:00
Eric Fischer
c177b8bed2 No need to remove no-ops here unless we clipped 2014-12-11 16:08:53 -08:00
Eric Fischer
d69431e16b Partition each tile into children instead of repeatedly clipping the parent. 2014-12-11 15:46:54 -08:00
Eric Fischer
105dfa73d7 Use bounding box for quick accept/reject before detailed clipping. 2014-12-11 13:34:50 -08:00
Eric Fischer
380550ce85 Remember to remove the closepath after clipping away a polygon 2014-12-04 14:54:11 -08:00
Eric Fischer
028fef470e Fix the major bug: forgetting to offset back to world coordinates 2014-12-04 14:08:36 -08:00
Eric Fischer
08ff40e42f Trying to follow Vlad's suggestion and work from the top down.
Doesn't quite work yet, but seems like the right thing to do.
From the bottom up, indexing is a mess because of the buffering,
and includes unneeded areas in the bounding boxes of big features.
2014-12-03 16:18:43 -08:00
Eric Fischer
a1e7426956 Sprinkle consts and casts to make it valid C++ as well as C 2014-12-02 14:17:49 -08:00
Eric Fischer
bb13dc03e5 Gzip -9 tiles. Don't bother writing tiles whose features all got clipped away. 2014-11-20 14:33:45 -08:00