Commit Graph
97 Commits
Author SHA1 Message Date
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
Eric Fischer 896f05aea6 Use gzip tile compression to match current tile server 2014-11-14 14:21:12 -08:00
Eric Fischer ffe4c95376 Calculate point dropping during encoding instead of tiling
so it is consistent across tile boundaries, and so every point
that exists at zoom x always also exists at zoom x+1.
2014-11-14 12:42:50 -08:00
Eric Fischer e7aa05e7e4 Don't immediately fail when a very low tile resolution is specified manually 2014-11-12 17:06:58 -08:00
Eric Fischer 5595a087c7 Quick reject by bounding box of linear features too small to draw 2014-11-12 15:57:45 -08:00
Eric Fischer 575a24b095 Use a set instead of a map to reduce needless memory overhead 2014-11-06 11:29:11 -08:00
Eric Fischer ea292def47 Make duplicate trimming less bad: only trim features indexed >1 time 2014-11-06 11:27:10 -08:00
Eric Fischer c24cfada61 Move feature type to index so point skipping can avoid looking up geometry
Which should avoid having to page the geometry in if there is
more data than will fit in memory
2014-11-05 12:18:03 -08:00
Eric Fischer 3f9f50258c Just use a standard C++ type for deduplicating instead of reinventing the wheel 2014-10-31 16:50:28 -07:00
Eric Fischer 3cd6fcfbe0 Add option to set buffer size. Pass it through to clipping functions. 2014-10-27 13:20:17 -07:00
Eric Fischer 4cb56a6b11 The indexing side of buffering features at the edges of tiles 2014-10-27 12:56:51 -07:00
Eric Fischer e0826a12c6 Much faster at low zooms to check for duplicates before simplifying 2014-10-27 10:00:46 -07:00
Eric Fischer 9bb4a549ca Silence warnings about unused variables 2014-10-24 17:24:04 -07:00
Eric Fischer 46100c34df Move projection and tile arithmetic to its own file 2014-10-24 17:22:14 -07:00
Eric Fischer 17384d5da7 Move geometric transformations into their own file 2014-10-24 15:12:02 -07:00
Eric Fischer ac00c84fb2 Save a little more space by sub-ordering within the same index
to put the lowest-numbered endpoint last
within lines that start at the same point,
since that is the one that might come next.
2014-10-21 17:59:42 -07:00
Eric Fischer 1cae0e85b3 Reindex features by their first coordinates so they coalesce better 2014-10-21 16:16:09 -07:00
Eric Fischer 9dab4b9fb6 Reverse lines that point the "wrong" direction so they coalesce better 2014-10-21 16:09:51 -07:00
Eric Fischer 043b35eede Take another opportunity to simplify lines after coalescing features 2014-10-18 11:40:09 -07:00
Eric Fischer 151f0c116c Fix clipping of polygons with multiple rings. 2014-10-16 15:17:18 -07:00
Eric Fischer 3bdcc3ca90 Heavy-handedly fix clipping errors at the edges of z0 and z1 tiles 2014-10-15 17:03:30 -07:00
Eric Fischer 8fec4ef9fc Return immediately instead of failing to clip polygons to the z0 tile 2014-10-15 16:34:49 -07:00
Eric Fischer 43b27e2dfd Don't closepath twice in multipolygons 2014-10-15 16:30:33 -07:00
Eric Fischer ac34a292e9 Add an flag to remove all properties and use only geometry 2014-10-09 15:11:43 -07:00
Eric Fischer dea4335162 Less accurate but much faster estimate of size savings from excluding metadata 2014-10-09 14:02:20 -07:00
Eric Fischer 389c89bdf9 Put the suggestions in order 2014-10-08 16:59:00 -07:00
Eric Fischer 67b8b984e5 Suggest properties you could drop to make the tiles smaller 2014-10-08 16:39:44 -07:00
Eric Fischer e1c5bfe3e1 Factor out aspects of tile creation 2014-10-08 14:01:47 -07:00
Eric Fischer 376bab74a5 Larger minimum polygon size looks better than dropping to larger pixels 2014-10-07 16:19:18 -07:00
Eric Fischer 49b36e09cc Tiny polygons (smaller than a pixel) decay into probabilities. 2014-10-07 15:38:06 -07:00
Eric Fischer adbd9f6edb Add a flag to select the rate at which points are dropped at low zooms. 2014-10-07 13:54:13 -07:00
Eric Fischer 8594dbe56b If a tile is too big, try backing off to lower resolutions before failing 2014-10-07 10:27:17 -07:00
Eric Fischer 3433d17a96 Clip polygons to just outside the tile boundary 2014-10-03 16:33:22 -07:00
Eric Fischer 722e5f16eb Dashing: better than shortening, but still too visible 2014-10-01 14:01:58 -07:00
Eric Fischer 6922a57aea Still looks terrible, but make segment shortening work again 2014-10-01 11:09:35 -07:00
Eric Fischer 7df269219c Fix memory leak of field names 2014-10-01 10:20:04 -07:00
Eric Fischer 6a64cf1b04 Convert metadata to use a vector too. 2014-09-30 17:24:34 -07:00
Eric Fischer 6bbe023187 Return to sorting features before coalescing 2014-09-30 17:18:23 -07:00
Eric Fischer 3ad8a919d9 Crash if the geometry is corrupted 2014-09-30 16:37:09 -07:00