206 Commits

Author SHA1 Message Date
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
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
bc0edec753 Call a function that will eventually preserve the attributes 2018-02-20 17:24:15 -08:00
Eric Fischer
b73e710855 Add --accumulate-attribute flag and pass the result to tiling 2018-02-20 16:19:49 -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
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
01884a3bf6 Make sure the feature gap always increases when trying to reduce density 2017-12-19 12:09:30 -08:00