Commit Graph

183 Commits

Author SHA1 Message Date
Eric Fischer
635429cd87 Fix dangling pointer. Defer tilestats generation until tiling if filtering. 2017-08-08 13:38:48 -07:00
Eric Fischer
eebc8f7639 Remember to close polygons before sending them to the prefilter 2017-08-08 11:58:51 -07:00
Eric Fischer
04d0cc6fa1 Merge branch 'master' into plugins 2017-07-06 22:28:35 -07:00
Eric Fischer
dba24959ba Avoid potential infinite loop from choosing the same min density again 2017-05-31 11:02:02 -07:00
Eric Fischer
cf3a0800b8 Add an option to increase maxzoom if features are still being dropped 2017-05-31 10:47:34 -07:00
Eric Fischer
b80a1d7621 Merge pull request #425 from mapbox/better-maxzoom-guessing
Better maxzoom guessing by considering resolution within features
2017-05-30 17:22:40 -07:00
Eric Fischer
8776f17980 Bump version number, give better warning message 2017-05-30 16:02:08 -07:00
Shan-Chun Kuo
9c3fb0f669 Change the function name rawtiles to dirtiles 2017-05-24 16:32:44 +01:00
Eric Fischer
b301512860 Merge branch 'master' into plugins 2017-05-12 17:20:30 -07:00
Eric Fischer
94a15eaf85 Merge branch 'master' into plugins 2017-04-07 14:28:58 -07:00
Eric Fischer
1c1ae6a8be Update documentation and reduce use of global variables 2017-04-07 12:36:34 -07:00
Shan-Chun Kuo
a320248857 Do make indent, add flag --output-to-directory or -e to write pbf files to a directory, also add flag --no-tile-compression or -pC to get raw protobuf 2017-04-07 13:33:01 +01:00
Shan-Chun Kuo
f03b89656c Seperated out to method and added test for --raw-tiles 2017-04-05 15:59:37 +01:00
Shan-Chun Kuo
aee12ac1fe Add flag --raw-tiles or -pC to get raw protobuf 2017-04-05 00:34:54 +01:00
Eric Fischer
834ba19277 Add option for newline-delimited output format to tippecanoe-decode 2017-03-28 16:25:40 -07:00
Eric Fischer
fa56adc530 Clean up utility functions that are also used in other projects 2017-03-16 15:06:58 -07:00
Eric Fischer
eaff7b93c5 Merge branch 'master' into plugins 2017-03-15 16:19:33 -07:00
Eric Fischer
9c53268a2b Stop processing zooms when a feature reaches its explicit maxzoom tag 2017-03-14 16:14:54 -07:00
Eric Fischer
c46f4cfc75 Remove polygon splitting, since polygon cleaning is now fast enough 2017-03-02 12:08:08 -08:00
Eric Fischer
9cbbc4c68d Merge branch 'master' into plugins-merge 2017-03-02 10:45:25 -08:00
Eric Fischer
218a2fc75e Clean up layer name handling to fix layer merging crash 2017-02-20 16:19:34 -08:00
Eric Fischer
62e1018c87 Fix area of placeholders for degenerate multipolygons 2017-02-06 14:14:34 -08:00
Eric Fischer
150e3663e1 Pass the index, sequence, and extent through the prefilter when needed 2017-01-13 14:59:11 -08:00
Eric Fischer
cf6a2d3a67 Provide layer names to postfilter and read layer names back in 2016-12-21 11:47:49 -08:00
Eric Fischer
71ac6596af Warn about broken pipes in filters instead of exiting abruptly 2016-12-21 10:10:22 -08:00
Eric Fischer
6a5461763c Fix reordering of attributes and failure to update layer name table 2016-12-20 16:41:23 -08:00
Eric Fischer
4fc671f1d1 Merge branch 'master' into plugins 2016-12-14 11:29:58 -08:00
Eric Fischer
56e1f55bb6 Fix warnings identified by g++ 2016-12-13 17:54:55 -08:00
Eric Fischer
af3d48e5b3 Fix integer overflow identified by -fsanitize=integer 2016-12-13 16:19:38 -08:00
Eric Fischer
c2fa8e3633 Switch the segment and layer ID based on prefilter output 2016-12-12 17:00:45 -08:00
Eric Fischer
9c0e2cdfa7 Fill out layermaps when reading the output of the prefilter 2016-12-12 16:08:08 -08:00
Eric Fischer
5e7f718afc Fill out layermaps when reading the output of the postfilter 2016-12-12 15:21:05 -08:00
Eric Fischer
5dc773ffae Carry attribute keys and values through from the prefilter 2016-12-09 15:54:47 -08:00
Eric Fischer
0e5b513637 Start getting features (just geometry so far) back from the prefilter 2016-12-09 15:35:57 -08:00
Eric Fischer
a338f5390f Fix where I was closing the prefilter pipe in the wrong thread 2016-12-09 14:15:17 -08:00
Eric Fischer
c8a8915064 Push prefilter writing into a thread (but something is crashing) 2016-12-09 14:01:07 -08:00
Eric Fischer
9f10f48bfb Pull feature deserialization and rewriting out of the loop 2016-12-09 11:53:50 -08:00
Eric Fischer
5194a39c16 Factor out clipping to tile boundaries; test random attributes & layers 2016-12-09 10:47:03 -08:00
Eric Fischer
daf1941ba9 Add missing #include 2016-12-08 17:22:07 -08:00
Eric Fischer
569825324a Factor out feature deserialization 2016-12-08 17:11:37 -08:00
Eric Fischer
16df86c26e Set up and tear down the prefilter pipeline 2016-12-08 16:13:02 -08:00
Eric Fischer
d1dc310bbc The GeoJSON-producing part of prefiltering 2016-12-08 15:13:38 -08:00
Eric Fischer
5960a15fcd Add magic #defines to avoid default small Mac stdio limits 2016-12-08 12:33:02 -08:00
Eric Fischer
3f14a0dd55 Factor out conversion from JSON types to vector tile attribute types 2016-12-07 16:17:17 -08:00
Eric Fischer
5554b9cbba Add the command-line option to specify the filter 2016-12-07 12:15:57 -08:00
Eric Fischer
58e268777c Missed a file for the close-on-exec flag 2016-12-07 11:19:29 -08:00
Eric Fischer
87d86ecfc9 Set close-on-exec flag for most file descriptors 2016-12-07 10:57:56 -08:00
Eric Fischer
94bebbd276 Write GeoJSON to the filter and read (but don't parse) what comes back 2016-12-06 17:19:22 -08:00
Eric Fischer
e8c5759f70 Dot-dropping doesn't apply if there is a per-feature minzoom tag 2016-12-06 15:36:10 -08:00
Eric Fischer
0db8d9ed8b Option to snap low zooms to a stairstep grid 2016-11-28 15:45:38 -08:00
Eric Fischer
c867ce5f32 Stop --drop-smallest-as-needed from always dropping all points 2016-11-23 13:57:32 -08:00
Eric Fischer
e9aa8c1b7d Add an option to prevent tiny polygon reduction 2016-11-21 11:26:37 -08:00
Eric Fischer
dc9e68b128 Make feature-dropping option names a little more consistent 2016-11-17 12:40:11 -08:00
Eric Fischer
5479e59aa9 Save another byte in features that have no metadata 2016-11-17 10:11:59 -08:00
Eric Fischer
439b544c8c Don't serialize the feature sequence number unless needed for -pi 2016-11-16 17:35:25 -08:00
Eric Fischer
9ea29601ab Don't let line simplification reduce a polygon ring to below 3 points 2016-11-14 11:22:21 -08:00
Eric Fischer
32aa653082 Don't spend geometry space on index or extent unless it is needed 2016-11-11 17:37:46 -08:00
Eric Fischer
013e6512b4 Add an option to drop the smallest features to make tiles small enough 2016-11-09 17:09:05 -08:00
Eric Fischer
38ce49d2d4 Another option for plain fractional dropping, but across the whole zoom 2016-11-04 12:26:13 -07:00
Eric Fischer
700ca489c7 Fix flakiness: don't decrease the global feature gap 2016-11-03 17:49:32 -07:00
Eric Fischer
a8bdbe8012 Fix the progress indicator when doing two passes over each zoom level 2016-11-03 17:13:11 -07:00
Eric Fischer
689f2ef7e9 Make better guesses about what gap will make a tile small enough 2016-11-02 16:57:35 -07:00
Eric Fischer
2e3ba8f374 Retain original feature index rather than recalculating
For better density calculation of clipped features
2016-11-02 15:11:22 -07:00
Eric Fischer
d0db3323fb Binary search to find gap that leaves the desired fraction of features 2016-11-02 14:25:04 -07:00
Eric Fischer
2e026f9b3b Use float instead of double in tiles if the value comes out the same 2016-10-27 14:37:46 -07:00
Eric Fischer
80e5159144 Remove dead code 2016-10-26 16:00:59 -07:00
Eric Fischer
8296190487 Remove leftovers from early versions of --detect-shared-borders 2016-10-26 15:47:26 -07:00
Eric Fischer
7727b3a92c Start each tile's gamma/mingap at the same point to help flaky tests 2016-10-26 10:40:53 -07:00
Eric Fischer
10fc9254d1 Add an option to discover the minimum workable gap between features 2016-10-25 16:28:32 -07:00
Eric Fischer
db859e8801 Reorder which tile-shrinking strategy to try first 2016-10-25 15:21:00 -07:00
Eric Fischer
667e8f7a29 Use the same discovered gamma across all tiles of a zoom level 2016-10-25 14:13:55 -07:00
Eric Fischer
4b3fc4aebe Track the new identity of merged polygons so they can be merged further 2016-10-25 10:01:18 -07:00
Eric Fischer
057d7b759c Iterate over arcs, not polygons, when merging 2016-10-24 17:58:26 -07:00
Eric Fischer
2798bf7b6f Add an option to merge adjacent polygons together to reduce tile size 2016-10-24 17:22:07 -07:00
Eric Fischer
f32916c472 Tests of the three current strategies for reducing tile size 2016-10-24 15:33:14 -07:00
Eric Fischer
7cb7fc4913 Fix where I was inserting the copied ring in backwards order 2016-10-24 15:06:57 -07:00
Eric Fischer
3cc95231ec Work on merging together adjacent polygons to reduce tile size 2016-10-24 15:06:49 -07:00
Eric Fischer
83e73e8840 Add an option to dynamically increase gamma until tiles are small enough 2016-10-24 12:29:36 -07:00
Eric Fischer
92cc08a554 Fix some compiler warnings about signed comparisons 2016-10-14 17:11:57 -07:00
Eric Fischer
82377944ee Merge branch 'master' into consistent-dropping 2016-10-14 15:35:35 -07:00
Eric Fischer
71bf20b205 Remove debug output 2016-10-14 12:30:54 -07:00
Eric Fischer
feb9b4481a Stabilize edge list order by also comparing ring IDs 2016-10-14 12:27:24 -07:00
Eric Fischer
a5d803aa9a Lots of debug output to try to track down Mac/Linux differences 2016-10-14 12:15:23 -07:00
Eric Fischer
081e330845 Reset counter with each tile, to match old low-zoom feature density 2016-10-12 09:49:25 -07:00
Eric Fischer
5ab41417fc Calculate feature-dropping (except gamma) during geometry reordering 2016-10-10 17:15:33 -07:00
Eric Fischer
c8a1b082e0 Don't serialize the per-feature minzoom until geometry merging time 2016-10-10 15:31:09 -07:00
Eric Fischer
896c9d8398 Rename option to --detect-shared-borders and add a test 2016-10-06 16:16:51 -07:00
Eric Fischer
7258643d5a A sorted list is smaller and faster than a map of sets 2016-10-05 17:16:18 -07:00
Eric Fischer
4c1b135848 Save a little time by only looking up each segment once 2016-10-05 17:16:18 -07:00
Eric Fischer
46b634ce46 Remember to close the polygon 2016-10-05 17:16:18 -07:00
Eric Fischer
6455b6633e Remember to honor --no-line-simplification if it was requested 2016-10-05 17:16:18 -07:00
Eric Fischer
938274aa91 Remove more debugging code 2016-10-05 17:16:18 -07:00
Eric Fischer
2b4280695f Extract common edges, simplify, then reassemble polygon rings 2016-10-05 17:16:18 -07:00
Eric Fischer
d35dc4936a If a point divides one border, it divides any that touch there 2016-10-05 17:16:18 -07:00
Eric Fischer
57cc343855 Most of the way toward TopoJSON-style factoring out of edges 2016-10-05 17:16:18 -07:00
Eric Fischer
91bfc2ca89 Choose a consistent starting point for rings with no shared edges 2016-10-05 17:16:18 -07:00
Eric Fischer
59619fb6cd Crunch out zero-length linetos to improve the match 2016-10-05 17:16:18 -07:00
Eric Fischer
6b4076684c Find a common-edge transition if it's the first point of the ring 2016-10-05 17:16:18 -07:00
Eric Fischer
2bc9e15975 Roll rings around so they start at an intersection transition, if any 2016-10-05 17:16:18 -07:00
Eric Fischer
f7daa05515 Add a critical point where the set of rings using a polygon edge changes 2016-10-05 17:16:18 -07:00