214 Commits

Author SHA1 Message Date
Eric Fischer
d3d73d3afa Encode and decode zoom/x/y tags in the layer
Don't tag zoom/x/y yet when creating tiles, to avoid remaking
all the tests
2018-10-11 12:21:07 -07:00
Eric Fischer
602508a2e2 Allow null attributes in tiles 2018-10-10 14:27:14 -07:00
Eric Fischer
c9a2a00e3c Turn the node attributes into a list to write them to the tile 2018-10-09 17:32:53 -07:00
Eric Fischer
afe739c2f3 String IDs are now plain strings instead of references 2018-09-10 11:25:52 -07:00
Eric Fischer
13879d0fa1 Read string IDs at all, and use the right IDs when writing 2018-09-07 17:03:10 -07:00
Eric Fischer
bd186664ac Untested support for string feature IDs 2018-09-07 15:37:46 -07:00
Eric Fischer
de120df7f2 Only the string values are in a sub-object of the layer now.
For https://github.com/mapbox/vector-tile-spec/pull/123
2018-09-04 16:07:12 -07:00
Eric Fischer
b7e56dd4a0 Unify some duplicated code, but it still loses the node attributes 2018-08-30 17:19:34 -07:00
Eric Fischer
1ddaa92166 Work on generalizing to arbitrarily many dimensions 2018-08-24 15:56:12 -07:00
Eric Fischer
68686e813b Carry the per-node attributes into the tile structure 2018-08-23 17:54:00 -07:00
Eric Fischer
366353a3a8 Fix undefined elevations coming back as 0 2018-08-23 16:38:40 -07:00
Eric Fischer
c43e6d63f1 Extend the elevation pipeline far enough to write some to the tile 2018-08-23 14:55:30 -07:00
Eric Fischer
ee3f35363b More plumbing for additional geometry dimensions 2018-08-22 16:58:22 -07:00
Eric Fischer
fc351aa5b8 Get rid of the experiment with inlining floats 2018-08-17 11:35:11 -07:00
Eric Fischer
f31024d97e Merge branch 'object-attributes' into blake-properties 2018-08-14 16:16:26 -07:00
Eric Fischer
e6fb320429 Treat compound tagging like any other tagging. Add postfilter test. 2018-08-14 16:05:51 -07:00
Eric Fischer
900738dba1 Pass compound objects through the prefilter 2018-08-14 15:56:52 -07:00
Eric Fischer
31e4ec65ae Merge branch 'object-attributes' into blake-properties 2018-08-14 15:36:44 -07:00
Eric Fischer
935cff2206 Merge branch 'master' into blake-properties 2018-08-14 14:58:51 -07:00
Eric Fischer
0b8dc68a03 Merge branch 'master' into object-attributes 2018-08-14 12:01:12 -07:00
Eric Fischer
759bceb986 Duplicate features within the buffer of the antimeridian on both sides 2018-07-27 16:14:49 -07:00
Eric Fischer
8722ec0b2f Add variant that inlines float values 2018-07-24 10:24:50 -07:00
Eric Fischer
e8011c59ba Make tile format configurable. Add option to sort values in v2 style. 2018-07-23 15:11:48 -07:00
Eric Fischer
c619f563c5 It works (except for tests that depend upon exact tile size) 2018-07-20 14:50:01 -07:00
Eric Fischer
8d6bd4e10f Add a filter extension to allow filtering individual attributes 2018-06-18 11:26:22 -07:00
Eric Fischer
b0229530ac Turn off progress indicators during tests
(For the sake of Travis's 4MB log limit)

Also fix a few places that logged progress even when told not to.
2018-06-07 13:27:49 -07:00
Eric Fischer
c9eed0d457 Be careful to remove null attributes from prefilter/postfilter output 2018-06-06 11:48:57 -07:00
Eric Fischer
09565b4632 Fix arithmetic overflows 2018-05-11 17:29:29 -07:00
Eric Fischer
59dd095607 Make file positions and lengths thread-safe 2018-05-07 14:42:49 -07:00
Eric Fischer
8ba884530a Also take note of --force-feature-limit if extending zooms 2018-05-04 12:43:27 -07:00
Eric Fischer
4756be6e2e Merge branch 'master' into object-attributes 2018-04-09 09:32:45 -07:00
Eric Fischer
1b26becad9 Clear up some confusion about attribute count and external references
Now the count is always adjacent to whereever the key/value pair is
stored, and is not kept in the serial feature object other than as
the length of the vectors of keys and values.
2018-04-05 15:40:14 -07: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
c64a39cc58 Merge branch 'master' into object-attributes 2018-03-19 11:29:20 -07:00
Eric Fischer
6f4ec2a3f3 Merge branch 'master' into object-attributes-merge3 2018-03-16 18:07:17 -07:00
Eric Fischer
1c4aa57ffd Change the JSON writing functions to object methods 2018-03-16 13:43:21 -07:00
Eric Fischer
623e0c90fe More regularization of JSON writing 2018-03-15 17:07:26 -07:00
Eric Fischer
fac0ebbf52 All the other places where I used volatile but really wanted atomic 2018-03-13 15:21:21 -07:00
Eric Fischer
834c05038c Add --progress-interval setting to reduce progress indicator frequency 2018-03-13 14:51:48 -07:00
Eric Fischer
2b936af96a Fix indentation 2018-03-02 10:35:58 -08:00
Eric Fischer
18e345efb0 Make clusters look better by averaging locations of clustered points 2018-03-01 16:53:59 -08:00
Eric Fischer
10a1bc8580 Fix use of references into the wrong string pool after parallel input 2018-02-28 13:09:55 -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
d66d05213f Add the mean as an option for accumulating attributes 2018-02-27 16:12:29 -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
45b1a1d9e0 Sum, product, concat, and comma operations work now 2018-02-26 16:47:15 -08:00
Eric Fischer
06ed9d14d8 Add an attribute for square root of cluster count 2018-02-26 12:53:43 -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
7fe0c87806 Get attribute accmulation by concatenation working 2018-02-23 16:16:11 -08:00