269 Commits

Author SHA1 Message Date
Eric Fischer
066934a666
Merge pull request #553 from mapbox/zoom-filter
Allow filtering features by zoom level in conditional expressions
2018-04-09 09:24:25 -07:00
Andrew Harvey
0d6112cf20 include empty geometry test for csv 2018-04-07 08:05:45 +10:00
Eric Fischer
d01d8177a0 Allow filtering features by zoom level in conditional expressions
This moves filtering from the serialization stage to the
tiling stage so that the zoom level can be known to the filter.

The side effect is to carry null attributes much further through
the pipeline than previously.
2018-04-05 14:15:19 -07:00
Eric Fischer
e21e4d3b88 Forgot the indentation change in this test 2018-03-16 17:06:54 -07:00
Eric Fischer
3c827b1d68 Use the standard JSON writer when writing metadata.json 2018-03-16 15:35:26 -07:00
Eric Fischer
71df4d3e81 Always include tile and layer in tippecanoe-decode, fixing corrupt JSON. 2018-03-14 16:35:59 -07:00
Eric Fischer
18e345efb0 Make clusters look better by averaging locations of clustered points 2018-03-01 16:53:59 -08:00
Eric Fischer
a2dfaf85d0 Some basic tests for feature attribute accumulation 2018-02-27 17:49:48 -08:00
Eric Fischer
bfb6778e07 Add feature density tilestats during tiling instead of as a special case 2018-02-27 17:04:15 -08:00
Eric Fischer
f87b71b739 Check the layer before letting a feature be coalsced/clustered/dropped 2018-02-27 15:45:09 -08:00
Eric Fischer
c604a51039 Don't coalesce features whose non-string-pool attributes don't match
Fortunately most attributes are in the string pool, but ones that
have passed through the prefilter are not. (Nor are attributes that
are generated by clustering or by attribute accumulation.)
2018-02-27 13:38:37 -08:00
Eric Fischer
06ed9d14d8 Add an attribute for square root of cluster count 2018-02-26 12:53:43 -08:00
Eric Fischer
e4e39289a2 Fix the raw-tiles test and make it a little less fragile 2018-02-26 11:32:18 -08:00
Eric Fischer
a8a342f701 Send dot-dropping through the same pipeline.
The first feature in a tile can never be dropped, since there is
no previous feature to attach its properties to.

Remove the previous special case that reset the dropping counter
at the first feature within each tile proper (as opposed to the
first feature in each tile, including its buffer, which is now
the one that is guaranteed to be preserved).
2018-02-23 17:19:54 -08:00
Eric Fischer
27154c8f06 Cluster onto the previous feature instead of onto the next
This also allows doing the attribute and tilestats all at once
at the end of the tile instead of having to update a feature
to handle the last cluster.
2018-02-23 12:26:58 -08:00
Eric Fischer
30a277a43e Always keep the first feature so there is something to coalesce onto 2018-02-22 17:25:54 -08:00
Eric Fischer
2d625d5807 Pass through any non-ASCII characters from file names into layer names
The Docker build doesn't include proper locale support
2018-02-07 13:15:36 -08:00
Eric Fischer
17942b3a89 Add an option to produce only a single tile 2018-02-06 17:25:58 -08:00
Eric Fischer
7ab94d43c6 Preserve non-ASCII characters when making layernames from filenames 2018-02-06 17:22:26 -08:00
Eric Fischer
2e5b597ca1 Add --coalesce-fraction-as-needed and --coalesce-densest-as-needed 2018-02-06 14:39:05 -08:00
Eric Fischer
d49606babf Fix opportunities for integer overflow 2018-01-18 12:37:15 -08:00
Eric Fischer
e07a4dd51b Fix out-of-bounds error when no threads were needed for a zoom level 2018-01-18 12:12:35 -08:00
Eric Fischer
aaf08a6c55 Add an option to specify the clustering distance directly 2017-12-20 17:33:30 -08:00
Eric Fischer
fc32a0e897 Add a test for the case that was getting stuck in a loop 2017-12-19 12:46:13 -08:00
Eric Fischer
6524b6510e Credit dangling clustered count at the end of a tile to the last feature 2017-12-18 12:55:22 -08:00
Eric Fischer
b03dabe098 Add an option for clustering features 2017-12-14 14:30:08 -08:00
Eric Fischer
2e32004589 Don't coalesce features that have different IDs.
Remove the 700-point limit on coalesced features, since
polygon merging is no longer a performance problem.
2017-12-13 12:05:53 -08:00
Eric Fischer
82a2b5dfdc Add CSV test and documentation 2017-12-13 11:32:19 -08:00
Eric Fischer
ba1c343204 Make --allow-existing work on dirs; trim .geojson from layer names 2017-11-29 16:24:48 -08:00
Eric Fischer
2234e37883 Quadkey-order index is a better secondary key for --reorder anyway 2017-11-22 12:49:40 -08:00
Eric Fischer
8230987405 Fix a bug that could cause the wrong features to be coalesced 2017-11-22 11:54:25 -08:00
Eric Fischer
9964784e77 Add null pointer check when testing for bare geometry in GeoJSON 2017-11-21 15:01:33 -08:00
Eric Fischer
6fd4918c4d Attach coalesced-as-needed leftovers to the last feature, not the first 2017-11-17 15:43:02 -08:00
Eric Fischer
ecbfad2576 Fix problem where --detect-shared-borders could simplify polygons away 2017-11-17 15:35:19 -08:00
Eric Fischer
3f54a70459 Add a test for joining with tippecanoe-json-tool 2017-11-17 14:05:37 -08:00
Eric Fischer
fda0e1f28a Fix more cases of loss of precision for large magnitude integers 2017-11-09 13:56:07 -08:00
Eric Fischer
aa7191b1ee Also test large integers. Work around an apparent bug in strtoull. 2017-11-09 12:52:38 -08:00
Eric Fischer
87ce5b9310 Be more careful about checking for overflow when parsing numbers 2017-11-09 12:11:07 -08:00
Eric Fischer
c217a77b0a Add UTF-8 and UTF-16 emoji to a test 2017-11-03 15:13:08 -07:00
Eric Fischer
18a5300e87 Add tile-join option to rename layers 2017-10-27 11:04:06 -07:00
Eric Fischer
ee6da93494 Fix error when parsing attributes with empty-string keys 2017-10-13 11:22:15 -07:00
Eric Fischer
91e469aac2 Merge any leftover feature remnants onto some feature.
Add a test for coalescing small features onto large ones.
2017-10-09 17:37:21 -07:00
Eric Fischer
748ef3b1d5 Add a tippecanoe-decode option to report tile size and feature count 2017-10-09 17:05:29 -07:00
Eric Fischer
c9e4275217 Do fewer tests in the address sanitizer build 2017-09-05 14:02:43 -07:00
Eric Fischer
bdd95af8b2 Be careful not to generate empty layers in tile-join.
Add a test of filtering during tile-join.
Bump version number.
2017-09-05 13:33:10 -07:00
Eric Fischer
d349b7700d Add the tests for filtering for feature type 2017-09-05 12:17:23 -07:00
Eric Fischer
681907e88d Add the feature ID filter tests 2017-09-01 16:53:19 -07:00
Eric Fischer
c232e565db Working on testing against Mapbox GL JS filter tests 2017-09-01 16:27:27 -07:00
Eric Fischer
a5b1378d1a Minimize external dependencies for Geobuf testing 2017-08-30 15:32:36 -07:00
Eric Fischer
076dfcdfeb Work around differences of opinion about the range of feature IDs
Geobuf uses signed 64-bit ints
Vector tile spec uses unsigned 64-bit ints
Geobuf silently corrupts IDs through use of floating point
2017-08-30 14:34:59 -07:00