Eric Fischer
66a0d15481
Point IDs are per-feature, not global
2018-04-25 16:46:51 +02:00
Eric Fischer
d45c960c1f
Shift the coordinate system so the tile boundary marking works right.
...
(Was missing transitions before because division rounds toward zero)
2018-04-25 16:36:23 +02:00
Eric Fischer
6b70e2aebd
Tag all LineString crossings of tile boundaries
2018-04-25 14:59:41 +02:00
Eric Fischer
6fb308d049
Assign node IDs when edge points are introduced, not in next-zoom prep
2018-04-25 14:00:18 +02:00
Eric Fischer
b060eb539f
Clip late in the process to avoid compounding error between tiles
2018-04-24 16:27:52 +02:00
Eric Fischer
3775c9cac0
Merge branch 'master' into reconstruct
2018-04-09 09:29:19 -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
4055195498
Merge branch 'master' into reconstruct
2018-03-19 14:54:58 -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
d8a75a496c
Interject new points into LineStrings where they cross tile boundaries
2018-03-12 16:36:40 -07:00
Eric Fischer
086832d5e3
Put the feature-rejoining experiments behind an option flag
2018-03-09 16:47:29 -08:00
Eric Fischer
2294ff02aa
Remember to carry the feature and point IDs from one zoom to the next
2018-03-09 15:13:30 -08:00
Eric Fischer
3d7e069f8e
Add a counter in each feature to allocate point IDs from
2018-03-09 15:05:21 -08:00
Eric Fischer
94967369a7
Allocate an ID when each feature is clipped for the first time
2018-03-08 15:30:11 -08:00
Eric Fischer
9ed6fecaf3
Fix the first place that was losing the node ID
2018-03-07 17:24:17 -08:00
Eric Fischer
6aad06b90f
Don't allow coalescing of parts clipped from different features
2018-03-07 16:00:12 -08:00
Eric Fischer
71a0b189e4
Pass the IDs around
2018-03-07 15:47:57 -08: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
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
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
9a12a76855
Fix overflow when iterating through 0-length lists backwards
2017-11-17 15:47:10 -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
621e0afc3c
Merge branch 'more-warnings' into rate-clarify
2017-11-17 11:21:01 -08:00
Eric Fischer
76d86f7d45
Add an option to quiet the progress indicator but not warnings
2017-11-16 17:08:59 -08:00