Commit Graph
100 Commits
Author SHA1 Message Date
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 6341419229 Punctuation and capitalization 2015-06-01 10:18:03 -07:00
Eric Fischer 9e162e6f8f Merge pull request #35 from mapbox/dropline
Add a flag to let you drop lines at low zooms just like points
2015-04-28 16:50:46 -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 12fb2c969c Merge pull request #34 from mapbox/warn-no-features
Warn if no Features have been seen after 50 JSON hashes are closed.
2015-04-17 10:49:36 -07:00
Eric Fischer 167ec690a0 Warn if no Features have been seen after 50 JSON hashes are closed. 2015-04-17 10:48:03 -07:00
Eric Fischer 4f9edf7f29 Merge pull request #32 from mapbox/proto-doc
Add Linux package requirement to readme
2015-04-17 10:13:06 -07:00
Eric Fischer fa9474ff74 Add Linux package requirement to readme 2015-04-17 10:12:11 -07:00
Eric Fischer d64328ac35 Fix crash when encoding boolean properties. 2015-04-10 13:03:11 -07:00
Eric Fischer ed2f968b4e Merge pull request #30 from mapbox/prevent
Add flags to disable simplification/coalescing/limits when unwanted
2015-04-10 12:00:26 -07:00
Eric Fischer 4041811372 Add flags to disable simplification/coalescing/limits when unwanted 2015-04-10 11:36:30 -07:00
Eric Fischer 85919de490 Merge pull request #29 from mapbox/multilayer
Add multilayer support
2015-04-10 11:03:36 -07:00
Eric Fischer e66d976d55 Merge pull request #28 from mapbox/dot-size-doc
Dot size doc
2015-03-26 11:28:43 -07:00
Eric Fischer 1f8581c76c More doc text 2015-03-26 11:28:06 -07:00
Eric Fischer 0cd733eb77 Document how to choose high-zoom dot sizes 2015-03-26 11:25:56 -07:00
Eric Fischer fd8de691eb Fix layer name crash when reading from the standard input 2015-03-25 14:07:34 -07:00
Eric Fischer e95cc82678 Revise documentation for multiple layers 2015-03-25 14:00:27 -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 f5135ebc63 Writing out the JSON metadata for multiple layers 2015-03-23 16:12:12 -07:00
Eric Fischer eb24c6e21e Include the layer number in the serialized geometry 2015-03-23 15:37:49 -07:00
Eric Fischer 3d074653b5 Merge pull request #26 from mapbox/gammafix
Clean up the gamma semantics a little.
2015-03-23 14:47:17 -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 26bcdef06b Clarify that base and lowest zoom are the same as maxzoom and minzoom 2015-03-18 17:23:08 -07:00
Eric Fischer 4549d1e4f4 Merge pull request #22 from mapbox/uniform
Add a dot-density gamma feature to thin out especially dense clusters
2015-03-09 13:54:33 -07:00
Eric Fischer f3e051a610 Clarify and correct gamma in README 2015-03-09 12:36:15 -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 f0a8e5b192 Progress indicator for reordering geometry 2015-03-06 15:32:52 -08:00
Eric Fischer 9343c5fcc1 Less wordy message about sorting 2015-03-06 14:35:39 -08:00
Eric Fischer 816ef2eca8 Flesh out README a little 2015-03-06 14:32:53 -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 ffe4c95376
2015-03-06 10:56:02 -08:00
Eric Fischer 572df8ad39 Reorder the geometries by index 2015-03-05 16:18:01 -08:00
Eric Fischer a8b2db8d5a Fix double-close of top level geometry file 2015-03-05 15:22:58 -08:00
Eric Fischer 97d65e6b7d Bring back the index: now just a file position and a point 2015-03-05 15:15:56 -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 290e39f80c Improve function name 2014-12-19 11:56:40 -08:00
Eric Fischer 0b84f13159 Merge pull request #18 from mapbox/topdown
Work from the top down instead of from feature indices
2014-12-18 11:28:40 -08:00
Eric Fischer 5a2003cb2c Fix failure to release temporary memory 2014-12-17 17:41:57 -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 7f3551070e Remove unneeded debug output 2014-12-17 14:01:20 -08:00
Eric Fischer 92bbf27f72 Merge branch 'master' into topdown
Conflicts:
	geojson.c
2014-12-17 11:18:47 -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 3b9f4691c1 Merge pull request #16 from mapbox/nullprop
Allow features to have null properties
2014-12-16 22:49:23 -08:00
Eric Fischer a40192bcde Allow features to have null properties 2014-12-16 22:46:00 -08:00
Eric Fischer c90ba8511f Fix compiler warning 2014-12-12 14:52:12 -08:00
Eric Fischer 34a6422c42 Merge branch 'master' into topdown 2014-12-12 11:36:20 -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 a867646dfd Don't introduce bogus geometries in clipped-away features. 2014-12-10 12:07:54 -08:00
Eric Fischer b068635acf Elevation in geometry is a warning, not an error.
Only complain about the first null geometry, not ever one.
2014-12-09 15:23:22 -08:00
Eric Fischer 40ecfc0668 Add missing newline to error message. 2014-12-09 15:17:20 -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 b7b476b36c Don't introduce bogus geometries in clipped-away features. 2014-12-03 16:30:35 -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 eaeb55bf71 Distinguish between signed and unsigned in the temporary file 2014-12-02 18:03:07 -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 77c4ce4171 Make the bin directory on install if it doesn't already exist 2014-12-02 11:38:48 -08:00
Eric Fischer cc58588724 More sensible error message when there are no valid geometries 2014-11-24 22:50:12 -08:00
Eric Fischer 2bd0cb9f43 Don't override PREFIX if it is set in the environment 2014-11-24 10:35:06 -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 82c0f67813 Explicitly use /usr/local, as Yosemite apparently needs 2014-11-15 23:46:39 -08:00
Eric Fischer a1769416d1 Fix operator precedence warning 2014-11-14 15:26:59 -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 428be06442 Accept gzip compression as well as zlib 2014-11-13 22:47:54 -08:00
Eric Fischer 8210f83912 Make the progress indicator less chatty 2014-11-13 10:48:59 -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 2b6ad9968f Add a flag to exclude all properties except ones explicitly named 2014-11-12 12:41:56 -08:00
Eric Fischer b05c5a9583 Skip over properties with null values instead of considering it an error 2014-11-12 12:19:39 -08:00
Eric Fischer 1aea522ef5 Fix another overflow that broke line clipping at zoom level 1. 2014-11-07 12:51:26 -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 7f6a5dc005 The maxzoom=0 case couldn't have worked 2014-11-06 11:05:09 -08:00
Eric Fischer 241d96e57c Save a few more bytes per geometry in the temporary file
by using bytes instead of ints for the drawing operations
2014-11-05 14:37:54 -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 bc4527b25d Add an option to set the directory for the temporary files 2014-11-05 10:34:44 -08:00
Eric Fischer 097d6ccf7d Use a bitfield to make the index 2/3 the size, to save some disk churn 2014-11-05 10:07:05 -08:00
Eric Fischer a039aca860 Read-only memory map for merging, since there's no reason to write 2014-11-04 10:08:30 -08:00
Eric Fischer 3e3fdcbab4 Bring over the multistage sort from datamaps to avoid Mac crashes 2014-11-03 22:47:41 -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 8e84a8ffda I forgot how bad sorted data is in binary trees.
Swizzle the bits so deduplicating features isn't so terrible.
2014-10-31 16:41:11 -07:00
Eric Fischer ea7216641b If the requested tile doesn't exist, try climbing up to a lower zoom 2014-10-27 16:00:16 -07:00
Eric Fischer 984ac17d6c Use the same default ground precision whatever the base zoom is. 2014-10-27 14:36:13 -07:00
Eric Fischer a09bf3469d Fix line clipping overflow bug 2014-10-27 14:24:11 -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 be94bd0dd5 Remove an unused field from the index structure 2014-10-27 09:52:25 -07:00