[Git][debian-gis-team/tippecanoe][master] 1921 commits: Basic data types

Anthony Fok (@foka) gitlab at salsa.debian.org
Fri Feb 16 06:40:32 GMT 2024



Anthony Fok pushed to branch master at Debian GIS Project / tippecanoe


Commits:
c3cda93a by Eric Fischer at 2014-02-05T15:16:23-08:00
Basic data types

- - - - -
32cf6455 by Eric Fischer at 2014-02-05T15:33:43-08:00
Arrays and hashes

- - - - -
c913f0ee by Eric Fischer at 2014-02-05T15:42:15-08:00
Add null, true, false

- - - - -
f895b8f6 by Eric Fischer at 2014-02-05T15:49:53-08:00
Correct value for false

- - - - -
50f30c3d by Eric Fischer at 2014-02-05T16:00:01-08:00
Comma and colon

- - - - -
7865a975 by Eric Fischer at 2014-02-05T16:10:22-08:00
Attach child objects to the containers

- - - - -
2a7fa98a by Eric Fischer at 2014-02-05T16:23:01-08:00
Add numbers (and a buffer overflow risk to fix)

- - - - -
b0103ea4 by Eric Fischer at 2014-02-05T16:39:50-08:00
Growing string instead of static buffer

- - - - -
80408353 by Eric Fischer at 2014-02-05T16:45:20-08:00
Add strings

- - - - -
3e9bb456 by Eric Fischer at 2014-02-05T16:51:28-08:00
Test code

- - - - -
558c47c4 by Eric Fischer at 2014-02-05T17:21:19-08:00
Slightly better debug output

- - - - -
3e049754 by Eric Fischer at 2014-02-05T17:28:45-08:00
Fix null dereferences

- - - - -
285f1bf8 by Eric Fischer at 2014-02-05T17:38:02-08:00
Fix number parsing bug and hash initialization bug

- - - - -
e195aa54 by Eric Fischer at 2014-02-05T17:59:04-08:00
Much more reasonable pretty-printing (but still reversed)

- - - - -
8aec0ed9 by Eric Fischer at 2014-02-05T18:03:12-08:00
Break up the wall of text a little

- - - - -
45e37eb6 by Eric Fischer at 2014-02-05T18:23:49-08:00
Hash getter to extract all Features

- - - - -
281b98e3 by Eric Fischer at 2014-02-05T18:34:02-08:00
Guard against hash keys with no values

- - - - -
7983c66a by Eric Fischer at 2014-02-05T21:27:48-08:00
Separate source and header files

- - - - -
95410dbf by Eric Fischer at 2014-02-05T21:29:40-08:00
Fix logic error that broke top-level hashes

- - - - -
4506a85e by Eric Fischer at 2014-02-05T21:34:17-08:00
Add comments

- - - - -
e7184989 by Eric Fischer at 2014-02-05T21:42:49-08:00
Handle \u escapes in strings

- - - - -
264abd48 by Eric Fischer at 2014-02-05T21:52:39-08:00
Fix crash with comma or colon at the top level.

- - - - -
76414592 by Eric Fischer at 2014-02-05T22:00:52-08:00
Handle named files, not just standard input

- - - - -
71981fc4 by Eric Fischer at 2014-02-05T22:04:58-08:00
Add Makefile

- - - - -
9299ef2e by Eric Fischer at 2014-02-05T22:13:03-08:00
Handle empty arrays and hashes. Detect non-string hash keys.

- - - - -
c69e595e by Eric Fischer at 2014-02-05T22:34:47-08:00
Do escaping in output strings

- - - - -
879f9126 by Eric Fischer at 2014-02-05T22:40:35-08:00
Name the types in the order the JSON spec names them in

- - - - -
d630aa91 by Eric Fischer at 2014-02-05T23:18:27-08:00
Put arrays in order by getting rid of the linked lists.

Resizing is ugly, but less ugly than backwards arrays.

- - - - -
68e0784c by Eric Fischer at 2014-02-05T23:35:35-08:00
At least don't talk about allocation sizes in the public API

- - - - -
f8465828 by Eric Fischer at 2014-02-06T00:30:25-08:00
Maybe the right way to handle empty arrays?

The previous check for the array length being 0 didn't work
for the case of an array that contains only an empty array.

The tricky part is that the current node is the array when
the array has just begun or just after a comma, but also
when the completed array has been passed off to the caller.

- - - - -
42283ece by Eric Fischer at 2014-02-06T12:13:23-08:00
More sensible way of passing errors back to caller

- - - - -
94858412 by Eric Fischer at 2014-02-06T12:19:33-08:00
Detect trailing commas and colons inside arrays and hashes.

- - - - -
f76bcab8 by Eric Fischer at 2014-02-06T12:25:59-08:00
Detect misplaced comma within hash

- - - - -
ad2843d6 by Eric Fischer at 2014-02-06T12:31:12-08:00
Be consistent about EOF handling around whitespace

- - - - -
6449e817 by Eric Fischer at 2014-02-06T12:51:32-08:00
Detect attempts to attach an element to a non-container parent.

Maybe there is a better name for this. The typical case is adjacent
tokens not separated by a comma.

- - - - -
55692cb2 by Eric Fischer at 2014-02-06T13:20:56-08:00
Treat unclosed containers at EOF as an error after all

- - - - -
1a7b4189 by Eric Fischer at 2014-02-06T13:26:56-08:00
Detect a lack of digits in the exponent for a number

- - - - -
e9d2c94f by Eric Fischer at 2014-02-06T13:28:35-08:00
Pass along the string length instead of just null-terminating

- - - - -
55510cac by Eric Fischer at 2014-02-06T17:58:23-08:00
Start adding free logic

- - - - -
979b9243 by Eric Fischer at 2014-02-06T18:56:22-08:00
A container object makes the state transitions more straightforward

And should make it possible to free an object that has just been read
and still know what the next state will be, importantly.

- - - - -
ed079e37 by Eric Fischer at 2014-02-06T19:22:37-08:00
Add a reader abstraction

- - - - -
e22b154e by Eric Fischer at 2014-02-06T19:27:21-08:00
Add an input form that parses JSON from a string

- - - - -
46120e84 by Eric Fischer at 2014-02-06T20:31:31-08:00
Remember to check for missing commas

- - - - -
a74444af by Eric Fischer at 2014-02-06T20:44:39-08:00
Track line number for error reports

- - - - -
9d4ee102 by Eric Fischer at 2014-02-06T20:49:48-08:00
Forgot to initialize the error to NULL

- - - - -
69a5ca0b by Eric Fischer at 2014-02-06T20:51:15-08:00
Include filename in error output

- - - - -
415193ad by Eric Fischer at 2014-02-06T21:05:46-08:00
Remove old state resetting

- - - - -
f0f73c6d by Eric Fischer at 2014-02-06T21:06:27-08:00
Keep track of the root of the parse tree for the caller

- - - - -
f67e97cd by Eric Fischer at 2014-02-06T22:45:40-08:00
Work out more details of how json_free() needs to work.

The idea is that you can free any element once you are
done with it, even if it is part of an array or hash that
isn't completely read yet.

Removing array elements is reasonably well defined because
nothing else depends on them. Removing a hash key or value
causes it to be replaced by a null unless the other side of
the component has already been nulled out, in which case
the whole pair is removed.

- - - - -
fee27e13 by Eric Fischer at 2014-02-07T15:51:46-08:00
Add a callback interface for non-closing punctuation

- - - - -
4a14e094 by Eric Fischer at 2014-02-07T16:09:05-08:00
Clarify what types are used where

- - - - -
a7e26262 by Eric Fischer at 2014-02-07T16:23:03-08:00
Expose interface for arbitrary reader functions

- - - - -
82785803 by Eric Fischer at 2014-02-07T16:25:54-08:00
Begin README

- - - - -
45049fb8 by Eric Fischer at 2014-02-07T16:48:06-08:00
More documentation

- - - - -
1cbf8a81 by Eric Fischer at 2014-02-07T16:49:52-08:00
Match documented function names

- - - - -
e99c037b by Eric Fischer at 2014-02-07T16:53:02-08:00
Add header dependency

- - - - -
0fd66048 by Eric Fischer at 2014-02-07T16:56:38-08:00
Get rid of root node to simplify. Walk the tree if you need it.

- - - - -
9979c70b by Eric Fischer at 2014-02-07T17:02:33-08:00
Add the whole-tree reader

- - - - -
39f9ff3f by Eric Fischer at 2014-02-07T17:14:39-08:00
Make streaming formatting consistent

- - - - -
9d31e8a0 by Eric Fischer at 2014-02-07T18:01:18-08:00
Slightly less wordy name for reading JSON with separators

- - - - -
54f637a9 by Eric Fischer at 2014-02-07T18:11:36-08:00
More documentation of object internals

- - - - -
5e6fa6f8 by Eric Fischer at 2014-02-08T00:42:28-08:00
Remember to deallocate the parser

- - - - -
b72bb6f1 by Eric Fischer at 2014-02-08T09:31:49-08:00
Clean up after errors and fix related bugs:

It was freeing the wrong object when there was an error
attaching an object to its parent!

Don't crash when printing null (partially read) hash values.

- - - - -
5a010136 by Eric Fischer at 2014-02-08T09:41:49-08:00
Make sure the root pointer is null for errors at the top level

- - - - -
391db023 by Eric Fischer at 2014-02-08T09:57:55-08:00
Talk about error cleanup in README

- - - - -
c6077f7e by Eric Fischer at 2014-02-08T10:04:23-08:00
Fix memory leaks from errors while reading strings or numbers

- - - - -
b6f079fe by Eric Fischer at 2014-02-08T10:10:55-08:00
Additional rationale

- - - - -
a2fd84c0 by Eric Fischer at 2014-02-08T10:21:53-08:00
Fix more memory leaks

- - - - -
b09634f4 by Eric Fischer at 2014-02-08T10:28:52-08:00
More cleanup after errors. Command line options for the reader styles.

- - - - -
3bd06251 by Eric Fischer at 2014-02-08T10:32:04-08:00
Remove debug #include

- - - - -
559eb883 by Eric Fischer at 2014-02-08T10:33:57-08:00
Add license

- - - - -
bb33b45e by Eric Fischer at 2014-02-08T10:35:48-08:00
Clarify about reading trees

- - - - -
ad401663 by Eric Fischer at 2014-02-08T10:45:25-08:00
Document the test program

- - - - -
18e90522 by Eric Fischer at 2014-02-19T17:11:56-08:00
Remember return value from main()

- - - - -
0509a860 by Eric Fischer at 2014-02-21T16:55:36-08:00
Make it an actual library

- - - - -
73cf86ac by Eric Fischer at 2014-02-26T17:01:30-08:00
Preserve the original string representation of numbers too.

Not always useful, but sometimes it will be.

- - - - -
e61898b4 by Eric Fischer at 2014-09-15T15:02:33-07:00
Start of GeoJSON from datamaps v2

- - - - -
567d57b8 by Eric Fischer at 2014-09-15T15:18:08-07:00
Remove unneeded datamaps stuff

- - - - -
0ee8d877 by Eric Fischer at 2014-09-15T15:27:35-07:00
Add stub main() for testing

- - - - -
efa3995d by Eric Fischer at 2014-09-15T15:30:03-07:00
Clean up meta naming a little

- - - - -
3d43c5af by Eric Fischer at 2014-09-15T15:47:06-07:00
Flatten out error-handling so it isn't nested so deeply

- - - - -
f54af30a by Eric Fischer at 2014-09-15T16:32:06-07:00
Parse nested geometry

- - - - -
1dcfca9d by Eric Fischer at 2014-09-15T17:33:54-07:00
Get closer to vector format

- - - - -
ff5b632c by Eric Fischer at 2014-09-15T17:57:16-07:00
MultiPoints are all movetos, no linetos

- - - - -
33747bdf by Eric Fischer at 2014-09-16T11:16:51-07:00
Project to web mercator and calculate bounding box

- - - - -
e82edb90 by Eric Fischer at 2014-09-16T13:51:22-07:00
Most of the way toward serializing the drawing operations

- - - - -
d2f0aa0d by Eric Fischer at 2014-09-16T13:54:57-07:00
Fix not saying moveto for top level points

- - - - -
a5b8a02e by Eric Fischer at 2014-09-16T14:11:50-07:00
More consistent naming for constants

- - - - -
88dc948b by Eric Fischer at 2014-09-16T16:39:56-07:00
Serialize metadata and geometry to a file

- - - - -
449da18c by Eric Fischer at 2014-09-16T17:19:54-07:00
Sanity check serialization

- - - - -
ee8c23b0 by Eric Fischer at 2014-09-16T17:54:23-07:00
Start indexing; sanity check that the file positions are right

- - - - -
66132465 by Eric Fischer at 2014-09-17T15:44:07-07:00
Write the index to a file and then memory map it

- - - - -
a38ebd98 by Eric Fischer at 2014-09-17T15:48:29-07:00
Sort the index

- - - - -
57fe46f4 by Eric Fischer at 2014-09-17T16:00:19-07:00
Memory map the metadata pool too

- - - - -
14e7b648 by Eric Fischer at 2014-09-17T16:21:25-07:00
Error check when writing to temporaries

- - - - -
e8adeba4 by Eric Fischer at 2014-09-18T10:26:47-07:00
Keep a file bounding box to know the area that needs to be tiled

- - - - -
f4a40cb1 by Eric Fischer at 2014-09-18T12:12:59-07:00
Use proper temporary files instead of fixed names

- - - - -
b5d28af0 by Eric Fischer at 2014-09-18T14:01:22-07:00
Iterate through the bbox and look up geometries by tile

- - - - -
9fd4da4f by Eric Fischer at 2014-09-18T14:04:52-07:00
Unlink tmp files early in case the tiling doesn't run to completion

- - - - -
1554a591 by Eric Fischer at 2014-09-18T16:27:34-07:00
Add a progress indicator. Remember to run the optimizer.

- - - - -
7c5254b1 by Eric Fischer at 2014-09-18T17:02:09-07:00
Add progress indicator for tile iteration too

- - - - -
eedb0850 by Eric Fischer at 2014-09-18T17:25:33-07:00
Factor out code for finding ranges within the index

- - - - -
647edc36 by Eric Fischer at 2014-09-19T15:40:07-07:00
Index each feature in each tile rather than looking up features by tile later

- - - - -
95ff8de6 by Eric Fischer at 2014-09-22T10:45:34-07:00
Add vector tile boilerplate

- - - - -
94ef6afc by Eric Fischer at 2014-09-22T11:22:23-07:00
Identify the start and end of each tile

- - - - -
41981ec8 by Eric Fischer at 2014-09-22T12:22:58-07:00
Make the string pools within each tile

- - - - -
b8e7d3ed by Eric Fischer at 2014-09-22T15:41:13-07:00
Start toward actually writing out tiles

- - - - -
baf364dd by Eric Fischer at 2014-09-22T16:06:44-07:00
Write string pool to tile

- - - - -
74bdbfc7 by Eric Fischer at 2014-09-22T16:17:55-07:00
Serialize geometry before tags

To make it easier to skip the tags if the geometry is optimized away

- - - - -
c679fa17 by Eric Fischer at 2014-09-22T16:27:31-07:00
Move whole tile-producing function onto the C++ side

- - - - -
27f99a13 by Eric Fischer at 2014-09-22T16:39:25-07:00
Inline so there is access to the tile object the whole time

- - - - -
78304d63 by Eric Fischer at 2014-09-22T16:50:24-07:00
Start writing a feature

- - - - -
3df523a5 by Eric Fischer at 2014-09-22T17:12:38-07:00
Write out geometry

- - - - -
6851e914 by Eric Fischer at 2014-09-22T17:46:48-07:00
Write out the tile as PBF

- - - - -
d7cdbec9 by Eric Fischer at 2014-09-22T18:08:37-07:00
Fix bit shifting errors at z0

- - - - -
581105dc by Eric Fischer at 2014-09-22T22:31:55-07:00
Much faster to search and add to the string pool as a binary tree

- - - - -
7bb79dab by Eric Fischer at 2014-09-23T10:37:18-07:00
Optimize away deltas of 0

- - - - -
00a42796 by Eric Fischer at 2014-09-23T10:57:01-07:00
Use lower resolution at lower zooms. Not sure it's worth it.

- - - - -
8ebeada3 by Eric Fischer at 2014-09-23T10:57:50-07:00
Fix inconsistent indentation

- - - - -
40588931 by Eric Fischer at 2014-09-23T11:32:36-07:00
Optimize away any features that don't draw at all

- - - - -
3170616f by Eric Fischer at 2014-09-23T11:41:36-07:00
Fix encoding of attribute values. They do have their own pool.

- - - - -
dd8f43a6 by Eric Fischer at 2014-09-23T12:17:18-07:00
Bail if the tile size is larger than the uploader will accept

- - - - -
454a5dd3 by Eric Fischer at 2014-09-23T13:33:40-07:00
Index anything that entirely fits within the tile by its centroid

- - - - -
7fc1c0cd by Eric Fischer at 2014-09-23T14:02:18-07:00
Fix index mixup that kept points from working at all

- - - - -
91eefcbd by Eric Fischer at 2014-09-23T14:42:17-07:00
Drop more points at each lower zoom level

- - - - -
5d7a2f50 by Eric Fischer at 2014-09-23T16:12:41-07:00
Write the metadata file

- - - - -
8f77376b by Eric Fischer at 2014-09-23T16:41:38-07:00
Calculate a bounding box and hopefully reasonable center point

- - - - -
95c2fb67 by Eric Fischer at 2014-09-23T17:18:36-07:00
Fix large features getting included multiple times at low zooms

- - - - -
e8c31777 by Eric Fischer at 2014-09-23T18:08:31-07:00
Separate translation to tile coordinates from vector feature generation

- - - - -
a8907362 by Eric Fischer at 2014-09-23T18:19:06-07:00
Count drawing operations, not ops and coordinates equally

- - - - -
ef3d9867 by Eric Fischer at 2014-09-23T21:40:23-07:00
This can just be a regular loop now

- - - - -
fbf60b6d by Eric Fischer at 2014-09-24T11:42:20-07:00
Factor out and improve no-op drawing elimination

- - - - -
ce3cdfc5 by Eric Fischer at 2014-09-24T12:14:35-07:00
Choose the center of the busiest tile for the map center

- - - - -
5cde832e by Eric Fischer at 2014-09-24T14:15:04-07:00
Stay in (tile-relative) world-scaled coordinates initially

- - - - -
e65eb0b3 by Eric Fischer at 2014-09-24T14:58:26-07:00
Looks terrible, but drop pieces of lines to maintain density across zooms

- - - - -
509171b4 by Eric Fischer at 2014-09-24T15:43:24-07:00
Optimize out line movetos that don't actually move

- - - - -
41fcd4c8 by Eric Fischer at 2014-09-24T16:51:53-07:00
Mostly working line simplification

- - - - -
ed05bc9f by Eric Fischer at 2014-09-24T17:23:40-07:00
Fix overflow that was leaving some lines too far away

- - - - -
4de57b96 by Eric Fischer at 2014-09-24T17:40:32-07:00
Bump up tolerance. Anything higher is visibly off.

- - - - -
1bcbd066 by Eric Fischer at 2014-09-24T17:57:18-07:00
Curves look a lot better keeping 1/4-pixel detail at any zoom

- - - - -
dc7c5816 by Eric Fischer at 2014-09-24T22:58:17-07:00
Use a constant instead of assuming everything goes to z0

- - - - -
0b23e658 by Eric Fischer at 2014-09-24T23:22:14-07:00
Hardcode layer name a little less.

- - - - -
201708f1 by Eric Fischer at 2014-09-25T12:09:31-07:00
Add command line options for zoom, title, layer name, name, output dir

- - - - -
e722ee48 by Eric Fischer at 2014-09-25T14:36:25-07:00
More useful progress indicator

- - - - -
eec0e144 by Eric Fischer at 2014-09-25T15:20:17-07:00
Start putting data into mbtiles instead of separate files

- - - - -
86f4f2dd by Eric Fischer at 2014-09-25T15:38:20-07:00
More metadata adding, and boilerplate from mbutil

- - - - -
ce485148 by Eric Fischer at 2014-09-25T16:07:03-07:00
String formatting mess to encode the JSON metadata

- - - - -
528e0575 by Eric Fischer at 2014-09-25T16:34:17-07:00
Actually write tiles directly to the .mbtiles file!

- - - - -
0a8420cc by Eric Fischer at 2014-09-26T10:52:19-07:00
Add options to specify the base and low-zoom level of detail

- - - - -
6edaaa11 by Eric Fischer at 2014-09-26T14:33:03-07:00
Restrict to one input file, since that's all that will work

- - - - -
02b85931 by Eric Fischer at 2014-09-26T14:45:45-07:00
Replace README with something appropriate

- - - - -
a2f3dd47 by Eric Fischer at 2014-09-26T14:51:19-07:00
Correct example

- - - - -
70523786 by Eric Fischer at 2014-09-26T14:51:29-07:00
Remember to finalize statements

- - - - -
c083d2f9 by Eric Fischer at 2014-09-26T14:53:10-07:00
Commit to a name

- - - - -
1a7d2f6d by Eric Fischer at 2014-09-26T15:20:08-07:00
Expand README

- - - - -
0f593d8f by Eric Fischer at 2014-09-26T15:25:12-07:00
Fix build errors on Mac

- - - - -
be397b03 by Eric Fischer at 2014-09-26T15:27:20-07:00
Mention line simplification

- - - - -
9f366647 by Eric Fischer at 2014-09-26T15:36:41-07:00
More README clarification

- - - - -
69fa9e5f by Eric Fischer at 2014-09-26T16:14:13-07:00
Remove jsoncat since it doesn't belong in this project

- - - - -
2d34916f by Eric Fischer at 2014-09-26T16:35:18-07:00
Clipping code from datamaps

- - - - -
120809b0 by Eric Fischer at 2014-09-26T17:07:52-07:00
Clip large LineString features down to the bounds of the tile

- - - - -
c326762b by Eric Fischer at 2014-09-27T09:39:20-07:00
Crunch out spaces and most punctuation from autogenerated layer names

- - - - -
ca6c491c by Eric Fischer at 2014-09-27T10:36:45-07:00
More readme clarifications and examples

- - - - -
5ab7f894 by Eric Fischer at 2014-09-29T10:50:24-07:00
Add an option to exclude specified properties

- - - - -
fabeb458 by Eric Fischer at 2014-09-29T12:12:54-07:00
Stop duplicating pool initialization code

- - - - -
8118c13a by Eric Fischer at 2014-09-29T12:17:35-07:00
Give the constant pool its own source file

- - - - -
5e640408 by Eric Fischer at 2014-09-29T12:18:58-07:00
Remove dead code

- - - - -
26e9feda by Eric Fischer at 2014-09-29T12:48:58-07:00
Move mbtiles code to its own source file

- - - - -
c02c91df by Eric Fischer at 2014-09-29T14:46:45-07:00
Make an array of features in each tile to prepare to coalesce features

- - - - -
f0d2dbd2 by Eric Fischer at 2014-09-29T15:09:21-07:00
Add -f option to overwrite existing mbtiles file

- - - - -
a08e5735 by Eric Fischer at 2014-09-29T15:33:14-07:00
Coalesce geometries of features with the same attributes

- - - - -
98b0cb5e by Eric Fischer at 2014-09-29T15:38:33-07:00
Tiles are smaller if coalesced features are sorted geographically

- - - - -
099623cd by Eric Fischer at 2014-09-29T15:59:36-07:00
Arrays for coalescing can get too big for the stack.

- - - - -
e09bec08 by Eric Fischer at 2014-09-29T16:18:20-07:00
Don't coalesce point features, because multipoints don't seem to draw right.

- - - - -
04c8a444 by Eric Fischer at 2014-09-29T17:32:01-07:00
Remove no-ops after coalescing, which will often generate empty moves.

- - - - -
1b3620da by Eric Fischer at 2014-09-30T15:53:45-07:00
Start converting C arrays to C++ vectors

- - - - -
c32b0207 by Eric Fischer at 2014-09-30T16:27:00-07:00
Use a constructor, and fix an encoding bug for lines clipped away entirely

- - - - -
3ad8a919 by Eric Fischer at 2014-09-30T16:37:09-07:00
Crash if the geometry is corrupted

- - - - -
6bbe0231 by Eric Fischer at 2014-09-30T17:18:23-07:00
Return to sorting features before coalescing

- - - - -
6a64cf1b by Eric Fischer at 2014-09-30T17:24:34-07:00
Convert metadata to use a vector too.

- - - - -
7df26921 by Eric Fischer at 2014-10-01T10:20:04-07:00
Fix memory leak of field names

- - - - -
b292b66a by Eric Fischer at 2014-10-01T10:33:22-07:00
Fix more (small) memory leaks

- - - - -
6922a57a by Eric Fischer at 2014-10-01T11:09:35-07:00
Still looks terrible, but make segment shortening work again

- - - - -
722e5f16 by Eric Fischer at 2014-10-01T14:01:58-07:00
Dashing: better than shortening, but still too visible

- - - - -
3433d17a by Eric Fischer at 2014-10-03T16:33:22-07:00
Clip polygons to just outside the tile boundary

- - - - -
41447a46 by Eric Fischer at 2014-10-04T14:11:59-07:00
Be clearer about error reporting

- - - - -
bda20fe8 by Eric Fischer at 2014-10-06T10:55:40-07:00
Improve error reporting

- - - - -
8594dbe5 by Eric Fischer at 2014-10-07T10:27:17-07:00
If a tile is too big, try backing off to lower resolutions before failing

- - - - -
8f71604f by Eric Fischer at 2014-10-07T12:02:12-07:00
If reading from standard input, use the .mbtiles as default layer name

- - - - -
adbd9f6e by Eric Fischer at 2014-10-07T13:54:13-07:00
Add a flag to select the rate at which points are dropped at low zooms.

- - - - -
49b36e09 by Eric Fischer at 2014-10-07T15:38:06-07:00
Tiny polygons (smaller than a pixel) decay into probabilities.

- - - - -
376bab74 by Eric Fischer at 2014-10-07T16:19:18-07:00
Larger minimum polygon size looks better than dropping to larger pixels

- - - - -
e1c5bfe3 by Eric Fischer at 2014-10-08T14:01:47-07:00
Factor out aspects of tile creation

- - - - -
67b8b984 by Eric Fischer at 2014-10-08T16:39:44-07:00
Suggest properties you could drop to make the tiles smaller

- - - - -
389c89bd by Eric Fischer at 2014-10-08T16:59:00-07:00
Put the suggestions in order

- - - - -
65ec829d by Eric Fischer at 2014-10-09T12:23:43-07:00
Report every 10000 features on input, since parsing GeoJSON is slow.

- - - - -
dea43351 by Eric Fischer at 2014-10-09T14:02:20-07:00
Less accurate but much faster estimate of size savings from excluding metadata

- - - - -
ac34a292 by Eric Fischer at 2014-10-09T15:11:43-07:00
Add an flag to remove all properties and use only geometry

- - - - -
ea99ae8d by Eric Fischer at 2014-10-09T17:22:22-07:00
Document -X and improve option formatting in general

- - - - -
1502e583 by Eric Fischer at 2014-10-09T17:26:16-07:00
More option documentation cleanup

- - - - -
e561931d by Eric Fischer at 2014-10-15T15:49:03-07:00
Fix bug that would always index for z14 regardless of actual max zoom

- - - - -
dc3c6138 by Eric Fischer at 2014-10-15T16:15:24-07:00
Fix failure to close polygons.

- - - - -
43b27e2d by Eric Fischer at 2014-10-15T16:30:33-07:00
Don't closepath twice in multipolygons

- - - - -
8fec4ef9 by Eric Fischer at 2014-10-15T16:34:49-07:00
Return immediately instead of failing to clip polygons to the z0 tile

- - - - -
3bdcc3ca by Eric Fischer at 2014-10-15T17:03:30-07:00
Heavy-handedly fix clipping errors at the edges of z0 and z1 tiles

- - - - -
151f0c11 by Eric Fischer at 2014-10-16T15:17:18-07:00
Fix clipping of polygons with multiple rings.

- - - - -
043b35ee by Eric Fischer at 2014-10-18T11:40:09-07:00
Take another opportunity to simplify lines after coalescing features

- - - - -
84b9dea5 by Eric Fischer at 2014-10-19T15:15:36-07:00
Buffer the next character internally to make reading faster

- - - - -
4bb441ce by Eric Fischer at 2014-10-19T15:35:28-07:00
Speed up reading further by reading buffers instead of characters

- - - - -
9dab4b9f by Eric Fischer at 2014-10-21T16:09:51-07:00
Reverse lines that point the "wrong" direction so they coalesce better

- - - - -
1cae0e85 by Eric Fischer at 2014-10-21T16:16:09-07:00
Reindex features by their first coordinates so they coalesce better

- - - - -
ac00c84f by Eric Fischer at 2014-10-21T17:59:42-07:00
Save a little more space by sub-ordering within the same index

to put the lowest-numbered endpoint last
within lines that start at the same point,
since that is the one that might come next.

- - - - -
4e1eacc5 by Eric Fischer at 2014-10-23T14:04:57-07:00
Simple enumerate command like the datamaps one

- - - - -
75b7af8f by Eric Fischer at 2014-10-23T15:40:27-07:00
Minimal tile decoder, only geometry for the moment

- - - - -
17384d5d by Eric Fischer at 2014-10-24T15:12:02-07:00
Move geometric transformations into their own file

- - - - -
754dbf15 by Eric Fischer at 2014-10-24T15:23:35-07:00
Remove dead code

- - - - -
46100c34 by Eric Fischer at 2014-10-24T17:22:14-07:00
Move projection and tile arithmetic to its own file

- - - - -
9bb4a549 by Eric Fischer at 2014-10-24T17:24:04-07:00
Silence warnings about unused variables

- - - - -
4b171c74 by Eric Fischer at 2014-10-26T13:12:29-07:00
Constrain calculated center point to be within the bounding box

It could come out bigger because it is calculated from the center
of the densest tile, not actually the centroid.

- - - - -
be94bd0d by Eric Fischer at 2014-10-27T09:52:25-07:00
Remove an unused field from the index structure

- - - - -
e0826a12 by Eric Fischer at 2014-10-27T10:00:46-07:00
Much faster at low zooms to check for duplicates before simplifying

- - - - -
4cb56a6b by Eric Fischer at 2014-10-27T12:56:51-07:00
The indexing side of buffering features at the edges of tiles

- - - - -
3cd6fcfb by Eric Fischer at 2014-10-27T13:20:17-07:00
Add option to set buffer size. Pass it through to clipping functions.

- - - - -
a09bf346 by Eric Fischer at 2014-10-27T14:24:11-07:00
Fix line clipping overflow bug

- - - - -
984ac17d by Eric Fischer at 2014-10-27T14:36:13-07:00
Use the same default ground precision whatever the base zoom is.

- - - - -
ea721664 by Eric Fischer at 2014-10-27T16:00:16-07:00
If the requested tile doesn't exist, try climbing up to a lower zoom

- - - - -
8e84a8ff by Eric Fischer at 2014-10-31T16:41:11-07:00
I forgot how bad sorted data is in binary trees.

Swizzle the bits so deduplicating features isn't so terrible.

- - - - -
3f9f5025 by Eric Fischer at 2014-10-31T16:50:28-07:00
Just use a standard C++ type for deduplicating instead of reinventing the wheel

- - - - -
3e3fdcba by Eric Fischer at 2014-11-03T22:47:41-08:00
Bring over the multistage sort from datamaps to avoid Mac crashes

- - - - -
a039aca8 by Eric Fischer at 2014-11-04T10:08:30-08:00
Read-only memory map for merging, since there's no reason to write

- - - - -
097d6ccf by Eric Fischer at 2014-11-05T10:07:05-08:00
Use a bitfield to make the index 2/3 the size, to save some disk churn

- - - - -
bc4527b2 by Eric Fischer at 2014-11-05T10:34:44-08:00
Add an option to set the directory for the temporary files

- - - - -
c24cfada by Eric Fischer at 2014-11-05T12:18:03-08:00
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

- - - - -
241d96e5 by Eric Fischer at 2014-11-05T14:37:54-08:00
Save a few more bytes per geometry in the temporary file

by using bytes instead of ints for the drawing operations

- - - - -
7f6a5dc0 by Eric Fischer at 2014-11-06T11:05:09-08:00
The maxzoom=0 case couldn't have worked

- - - - -
ea292def by Eric Fischer at 2014-11-06T11:27:10-08:00
Make duplicate trimming less bad: only trim features indexed >1 time

- - - - -
575a24b0 by Eric Fischer at 2014-11-06T11:29:11-08:00
Use a set instead of a map to reduce needless memory overhead

- - - - -
1aea522e by Eric Fischer at 2014-11-07T12:51:26-08:00
Fix another overflow that broke line clipping at zoom level 1.

- - - - -
b05c5a95 by Eric Fischer at 2014-11-12T12:19:39-08:00
Skip over properties with null values instead of considering it an error

- - - - -
2b6ad996 by Eric Fischer at 2014-11-12T12:41:56-08:00
Add a flag to exclude all properties except ones explicitly named

- - - - -
5595a087 by Eric Fischer at 2014-11-12T15:57:45-08:00
Quick reject by bounding box of linear features too small to draw

- - - - -
e7aa05e7 by Eric Fischer at 2014-11-12T17:06:58-08:00
Don't immediately fail when a very low tile resolution is specified manually

- - - - -
8210f839 by Eric Fischer at 2014-11-13T10:48:59-08:00
Make the progress indicator less chatty

- - - - -
428be064 by Eric Fischer at 2014-11-13T22:47:54-08:00
Accept gzip compression as well as zlib

- - - - -
ffe4c953 by Eric Fischer at 2014-11-14T12:42:50-08:00
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.

- - - - -
896f05ae by Eric Fischer at 2014-11-14T14:21:12-08:00
Use gzip tile compression to match current tile server

- - - - -
a1769416 by Eric Fischer at 2014-11-14T15:26:59-08:00
Fix operator precedence warning

- - - - -
82c0f678 by Eric Fischer at 2014-11-15T23:46:39-08:00
Explicitly use /usr/local, as Yosemite apparently needs

- - - - -
bb13dc03 by Eric Fischer at 2014-11-20T14:33:45-08:00
Gzip -9 tiles. Don't bother writing tiles whose features all got clipped away.

- - - - -
2bd0cb9f by Eric Fischer at 2014-11-24T10:35:06-08:00
Don't override PREFIX if it is set in the environment

- - - - -
cc585887 by Eric Fischer at 2014-11-24T22:50:12-08:00
More sensible error message when there are no valid geometries

- - - - -
77c4ce41 by Eric Fischer at 2014-12-02T11:38:48-08:00
Make the bin directory on install if it doesn't already exist

- - - - -
a1e74269 by Eric Fischer at 2014-12-02T14:17:49-08:00
Sprinkle consts and casts to make it valid C++ as well as C

- - - - -
eaeb55bf by Eric Fischer at 2014-12-02T18:03:07-08:00
Distinguish between signed and unsigned in the temporary file

- - - - -
08ff40e4 by Eric Fischer at 2014-12-03T16:18:43-08:00
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.

- - - - -
b7b476b3 by Eric Fischer at 2014-12-03T16:30:35-08:00
Don't introduce bogus geometries in clipped-away features.

- - - - -
028fef47 by Eric Fischer at 2014-12-04T14:08:36-08:00
Fix the major bug: forgetting to offset back to world coordinates

- - - - -
380550ce by Eric Fischer at 2014-12-04T14:54:11-08:00
Remember to remove the closepath after clipping away a polygon

- - - - -
38a41f4d by Tom MacWright at 2014-12-09T11:03:44-05:00
Installation instructions
- - - - -
40ecfc06 by Eric Fischer at 2014-12-09T15:17:20-08:00
Add missing newline to error message.

- - - - -
b068635a by Eric Fischer at 2014-12-09T15:23:22-08:00
Elevation in geometry is a warning, not an error.

Only complain about the first null geometry, not ever one.

- - - - -
a867646d by Eric Fischer at 2014-12-10T12:07:54-08:00
Don't introduce bogus geometries in clipped-away features.

- - - - -
105dfa73 by Eric Fischer at 2014-12-11T13:34:50-08:00
Use bounding box for quick accept/reject before detailed clipping.

- - - - -
d69431e1 by Eric Fischer at 2014-12-11T15:46:54-08:00
Partition each tile into children instead of repeatedly clipping the parent.

- - - - -
c177b8be by Eric Fischer at 2014-12-11T16:08:53-08:00
No need to remove no-ops here unless we clipped

- - - - -
3f2818a8 by Eric Fischer at 2014-12-11T17:59:22-08:00
More useful progress indicator

- - - - -
34a6422c by Eric Fischer at 2014-12-12T11:36:20-08:00
Merge branch 'master' into topdown

- - - - -
c90ba851 by Eric Fischer at 2014-12-12T14:52:12-08:00
Fix compiler warning

- - - - -
a40192bc by Eric Fischer at 2014-12-16T22:46:00-08:00
Allow features to have null properties

- - - - -
3b9f4691 by Eric Fischer at 2014-12-16T22:49:23-08:00
Merge pull request #16 from mapbox/nullprop

Allow features to have null properties
- - - - -
ad17f1f2 by Eric Fischer at 2014-12-17T11:05:14-08:00
Make -Z0 work again for file minimum zoom

- - - - -
0d0a546b by Eric Fischer at 2014-12-17T11:10:46-08:00
No need to split features into child tiles when processing the final zoom.

- - - - -
cba1b8ae by Eric Fischer at 2014-12-17T11:16:43-08:00
Remove unneeded old indexing code

- - - - -
92bbf27f by Eric Fischer at 2014-12-17T11:18:47-08:00
Merge branch 'master' into topdown

Conflicts:
	geojson.c

- - - - -
7f355107 by Eric Fischer at 2014-12-17T14:01:20-08:00
Remove unneeded debug output

- - - - -
48b5db6a by Eric Fischer at 2014-12-17T16:01:33-08:00
Keep the progress indicator progressing while working through big tiles

- - - - -
32010fc8 by Eric Fischer at 2014-12-17T17:08:04-08:00
Oops. Do a lot less progress indicator I/O.

- - - - -
5a2003cb by Eric Fischer at 2014-12-17T17:41:57-08:00
Fix failure to release temporary memory

- - - - -
0b84f131 by Eric Fischer at 2014-12-18T11:28:40-08:00
Merge pull request #18 from mapbox/topdown

Work from the top down instead of from feature indices
- - - - -
290e39f8 by Eric Fischer at 2014-12-19T11:56:40-08:00
Improve function name

- - - - -
b2eff136 by Eric Fischer at 2014-12-19T14:33:39-08:00
Impose a limit on the maximum number of features in a tile.

- - - - -
97d65e6b by Eric Fischer at 2015-03-05T15:15:56-08:00
Bring back the index: now just a file position and a point

- - - - -
a8b2db8d by Eric Fischer at 2015-03-05T15:22:58-08:00
Fix double-close of top level geometry file

- - - - -
572df8ad by Eric Fischer at 2015-03-05T16:18:01-08:00
Reorder the geometries by index

- - - - -
558a7a41 by Eric Fischer at 2015-03-06T10:56:02-08:00
Restore old code for uniform instead of random dot-dropping

>From ffe4c953760d8fd

- - - - -
41b28b2a by Eric Fischer at 2015-03-06T13:12:32-08:00
Add dot gamma processing

- - - - -
816ef2ec by Eric Fischer at 2015-03-06T14:32:53-08:00
Flesh out README a little

- - - - -
9343c5fc by Eric Fischer at 2015-03-06T14:35:39-08:00
Less wordy message about sorting

- - - - -
f0a8e5b1 by Eric Fischer at 2015-03-06T15:32:52-08:00
Progress indicator for reordering geometry

- - - - -
b59a2519 by Eric Fischer at 2015-03-06T16:33:32-08:00
Write metadata even when tiling fails so you can look at the partial map

- - - - -
f3e051a6 by Eric Fischer at 2015-03-09T12:36:15-07:00
Clarify and correct gamma in README

- - - - -
4549d1e4 by Eric Fischer at 2015-03-09T13:54:33-07:00
Merge pull request #22 from mapbox/uniform

Add a dot-density gamma feature to thin out especially dense clusters
- - - - -
26bcdef0 by Eric Fischer at 2015-03-18T17:23:08-07:00
Clarify that base and lowest zoom are the same as maxzoom and minzoom

- - - - -
d370b072 by Eric Fischer at 2015-03-23T11:36:35-07:00
Scaffolding for layers within per-tile processing

- - - - -
8002609f by Eric Fischer at 2015-03-23T13:44:35-07:00
More scaffolding for multiple layers

- - - - -
a880f44a by Eric Fischer at 2015-03-23T14:44:21-07:00
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.

- - - - -
3d074653 by Eric Fischer at 2015-03-23T14:47:17-07:00
Merge pull request #26 from mapbox/gammafix

Clean up the gamma semantics a little.
- - - - -
eb24c6e2 by Eric Fischer at 2015-03-23T15:37:49-07:00
Include the layer number in the serialized geometry

- - - - -
f5135ebc by Eric Fischer at 2015-03-23T16:12:12-07:00
Writing out the JSON metadata for multiple layers

- - - - -
2198bcc2 by Eric Fischer at 2015-03-23T17:44:23-07:00
Handle multiple reading. Multiple writing still crashes.

- - - - -
73b63133 by Eric Fischer at 2015-03-24T16:28:31-07:00
Multiple layers make it into JSON metadata now

- - - - -
86925eea by Eric Fischer at 2015-03-24T17:07:51-07:00
Write out geometries for all layers

- - - - -
a076c561 by Eric Fischer at 2015-03-25T13:54:29-07:00
Merge remote-tracking branch 'origin/master' into multilayer

- - - - -
e95cc826 by Eric Fischer at 2015-03-25T14:00:27-07:00
Revise documentation for multiple layers

- - - - -
fd8de691 by Eric Fischer at 2015-03-25T14:07:34-07:00
Fix layer name crash when reading from the standard input

- - - - -
0cd733eb by Eric Fischer at 2015-03-26T11:25:56-07:00
Document how to choose high-zoom dot sizes

- - - - -
1f8581c7 by Eric Fischer at 2015-03-26T11:28:06-07:00
More doc text

- - - - -
e66d976d by Eric Fischer at 2015-03-26T11:28:43-07:00
Merge pull request #28 from mapbox/dot-size-doc

Dot size doc
- - - - -
85919de4 by Eric Fischer at 2015-04-10T11:03:36-07:00
Merge pull request #29 from mapbox/multilayer

Add multilayer support
- - - - -
40418113 by Eric Fischer at 2015-04-10T11:36:30-07:00
Add flags to disable simplification/coalescing/limits when unwanted

- - - - -
ed2f968b by Eric Fischer at 2015-04-10T12:00:26-07:00
Merge pull request #30 from mapbox/prevent

Add flags to disable simplification/coalescing/limits when unwanted
- - - - -
d64328ac by Eric Fischer at 2015-04-10T13:03:11-07:00
Fix crash when encoding boolean properties.

- - - - -
fa9474ff by Eric Fischer at 2015-04-17T10:12:11-07:00
Add Linux package requirement to readme

- - - - -
4f9edf7f by Eric Fischer at 2015-04-17T10:13:06-07:00
Merge pull request #32 from mapbox/proto-doc

Add Linux package requirement to readme
- - - - -
167ec690 by Eric Fischer at 2015-04-17T10:48:03-07:00
Warn if no Features have been seen after 50 JSON hashes are closed.

- - - - -
12fb2c96 by Eric Fischer at 2015-04-17T10:49:36-07:00
Merge pull request #34 from mapbox/warn-no-features

Warn if no Features have been seen after 50 JSON hashes are closed.
- - - - -
1381f0f2 by Eric Fischer at 2015-04-21T08:19:51-07:00
Add a flag to let you drop lines at low zooms just like points

- - - - -
9e162e6f by Eric Fischer at 2015-04-28T16:50:46-07:00
Merge pull request #35 from mapbox/dropline

Add a flag to let you drop lines at low zooms just like points
- - - - -
555ababd by Eric Fischer at 2015-05-20T14:57:00-07:00
Add a flag to dynamically drop a fraction of features from large tiles

- - - - -
901f6a76 by Eric Fischer at 2015-05-20T15:15:45-07:00
Keep the resolution constant as we drop features to make the tile fit

- - - - -
38dc80ec by Eric Fischer at 2015-05-20T18:04:34-07:00
Fix a place that wasn't checking for disk write errors

- - - - -
a0693446 by Tom MacWright at 2015-05-28T13:21:38-04:00
Add check that min is less than max. Fixes #40

- - - - -
ce6a1aac by Tom MacWright at 2015-05-29T10:33:44-04:00
Only error if minzoom is truly greater, not just equal

- - - - -
a4c79e1e by Tom MacWright at 2015-05-29T10:33:59-04:00
Merge pull request #41 from mapbox/minzoom-maxzoom

Add check that min is less than max. Fixes #40
- - - - -
67fe27f7 by Tom MacWright at 2015-05-29T10:44:39-04:00
Add changelog with entry for 1.2.0

- - - - -
95997b50 by Tom MacWright at 2015-05-29T10:50:11-04:00
Add tippecanoe -v

- - - - -
5ba8f2f8 by Tom MacWright at 2015-05-29T10:51:30-04:00
Merge pull request #45 from mapbox/version-flag

Add tippecanoe -v
- - - - -
2a6af266 by Tom MacWright at 2015-05-29T10:52:20-04:00
Add -v to changelog

- - - - -
4eaa740f by Tom MacWright at 2015-05-29T11:50:04-04:00
Add made with. Fixes #47

- - - - -
79a08edc by Tom MacWright at 2015-05-29T11:55:17-04:00
Add atmospheric river

- - - - -
22471ab5 by Tom MacWright at 2015-05-29T12:04:15-04:00
Use markdown syntax instead of html syntax where appropriate

- - - - -
4001df81 by Bruno Sánchez-Andrade Nuño at 2015-05-29T12:05:12-04:00
Fix RunKeeper link
- - - - -
142ea37e by Tom MacWright at 2015-05-29T12:06:41-04:00
use md2man to generate man page

- - - - -
25072133 by Tom MacWright at 2015-05-29T12:15:48-04:00
Install manpage

- - - - -
c0483111 by Tom MacWright at 2015-05-29T12:56:38-04:00
Merge pull request #48 from brunosan/patch-1

Fix RunKeeper link
- - - - -
63414192 by Eric Fischer at 2015-06-01T10:18:03-07:00
Punctuation and capitalization

- - - - -
bc2f243f by Eric Fischer at 2015-06-01T15:01:46-07:00
Add a command line option to specify the minimum allowed tile extent

- - - - -
70291f04 by Eric Fischer at 2015-06-03T11:10:54-07:00
Merge pull request #51 from mapbox/fitsample

Flag to drop as many features as necessary to keep tiles under the size limit
- - - - -
34b00eca by Eric Fischer at 2015-06-03T11:11:16-07:00
Merge pull request #50 from mapbox/gl4096

Add a command line option to specify the minimum allowed tile extent
- - - - -
d9ff3f78 by Eric Fischer at 2015-06-03T11:12:01-07:00
Update manpage

- - - - -
8a1f0d83 by Eric Fischer at 2015-06-03T11:22:13-07:00
Consistent indent style with clang-format

- - - - -
fd60cc66 by Eric Fischer at 2015-06-03T11:26:25-07:00
Merge pull request #52 from mapbox/indentstyle

Consistent indent style with clang-format
- - - - -
b70d1928 by Eric Fischer at 2015-06-03T11:31:41-07:00
Get back in sync with json-pull

- - - - -
1a955043 by Eric Fischer at 2015-06-03T12:47:56-07:00
No need to write a loop to reindent the source files

- - - - -
263ae94e by Eric Fischer at 2015-06-05T10:23:25-07:00
Add a warning when data appears to be in the wrong projection

- - - - -
448617e0 by Eric Fischer at 2015-06-05T10:24:13-07:00
Merge pull request #53 from mapbox/badproj

Add a warning when data appears to be in the wrong projection
- - - - -
d5d322f3 by Eric Fischer at 2015-06-05T10:34:19-07:00
Clearer message about projections

- - - - -
9b34f7e6 by Eric Fischer at 2015-06-05T10:35:02-07:00
Merge pull request #54 from mapbox/badproj

Clearer message about projections
- - - - -
fbe4416f by Anand Thakker at 2015-06-17T15:18:46-04:00
Update README to include buffer size units.
- - - - -
55e93a5d by Eric Fischer at 2015-06-17T16:46:36-07:00
Use variable-length zigzag for ints and long longs

- - - - -
cde1e606 by Eric Fischer at 2015-06-17T17:18:08-07:00
Use a string pool to avoid duplicating keys and values

- - - - -
725ea71e by Eric Fischer at 2015-06-17T17:30:17-07:00
Fix formatting

- - - - -
46626e4f by Eric Fischer at 2015-06-17T17:48:29-07:00
Delta encoding for motion within features

- - - - -
1a44538b by Eric Fischer at 2015-06-18T10:52:01-07:00
Use the first coordinates of the first feature as the origin for deltas

- - - - -
a1d3ecf9 by Eric Fischer at 2015-06-18T12:12:20-07:00
Save another byte per attribute by moving the type to the string pool

- - - - -
86a341c3 by Eric Fischer at 2015-06-18T12:39:00-07:00
Merge pull request #57 from anandthakker/master

Update README to include buffer size units.
- - - - -
a185073f by Eric Fischer at 2015-06-18T14:16:16-07:00
Shrink the geometry by shaving off bits below the maxzoom tile resolution

- - - - -
d96dee8d by Eric Fischer at 2015-06-18T14:47:29-07:00
Fix formatting again

- - - - -
dc302165 by Eric Fischer at 2015-06-18T16:13:37-07:00
Build the string pool in an appendable memory map, not the normal heap

- - - - -
498e7235 by Eric Fischer at 2015-06-18T16:30:51-07:00
Yet another temp file, for the tree of pointers into the string pool

- - - - -
e6997b00 by Eric Fischer at 2015-06-19T15:49:51-07:00
Swizzle the string comparison so it's not pathological if input is presorted

- - - - -
e6c5aa9b by Eric Fischer at 2015-06-19T15:53:09-07:00
Oops. Make sure that 0 stays 0 even when swizzling

- - - - -
265b6866 by Eric Fischer at 2015-06-19T17:08:00-07:00
Merge pull request #59 from mapbox/smaller

Optimizations to reduce memory footprint
- - - - -
62052caf by Eric Fischer at 2015-06-19T17:29:56-07:00
Move zoom traversal into C++

- - - - -
a42dbd79 by Eric Fischer at 2015-06-19T17:46:31-07:00
Merge pull request #60 from mapbox/cpp

Move zoom traversal into C++
- - - - -
59faead7 by Eric Fischer at 2015-06-21T11:18:14-07:00
Fix sign-extension bug with signed chars in attribute names

- - - - -
6951c1b7 by Eric Fischer at 2015-06-21T11:20:23-07:00
Merge pull request #62 from mapbox/signedchars

Fix sign-extension bug with signed chars in attribute names
- - - - -
efe3c62b by Eric Fischer at 2015-06-29T16:16:38-07:00
Start breaking the assumption that the next zoom is exactly 1 deeper

- - - - -
7724e2c3 by Eric Fischer at 2015-06-29T16:42:26-07:00
Skip over some intermediate zooms below minzoom

- - - - -
4bb88e22 by Eric Fischer at 2015-06-29T17:05:33-07:00
Fix buffer overflow. This is a bounding box, not sub-tiles.

- - - - -
530852ae by Eric Fischer at 2015-06-29T17:18:48-07:00
Maximum zoom increment of 3 seems to give the best performance

- - - - -
0d3192b8 by Eric Fischer at 2015-06-30T16:36:26-07:00
Break rewriting the geometry for the next zoom out into its own function

- - - - -
767a5818 by Eric Fischer at 2015-06-30T16:47:25-07:00
Inline the I/O in the long long serialization loop

- - - - -
b2fdcba6 by Eric Fischer at 2015-06-30T17:21:48-07:00
Don't shrink string buffers before returning them as JSON objects.

It takes a little bit of time, and it's already not shrinking them
for number objects.

- - - - -
af13a95d by Eric Fischer at 2015-07-01T12:04:45-07:00
Shard the child tiles as widely as possible even if not skipping levels

to help future parallelization

- - - - -
18cdcb07 by Eric Fischer at 2015-07-01T12:16:50-07:00
Drop linetos smaller than tile resolution before doing normal simplification

Since simplification is rather expensive

- - - - -
1b728043 by Eric Fischer at 2015-07-01T15:17:35-07:00
Precalculate which child tiles a feature can overlap

instead of looping over them all

- - - - -
65f37373 by Eric Fischer at 2015-07-02T17:07:11-07:00
Use a hash table of binary trees for string pooling, not just a binary tree

- - - - -
c19c913b by Eric Fischer at 2015-07-08T11:52:22-07:00
Fix confusing error messages from sloppy copying and pasting of code

- - - - -
6fd72d45 by Eric Fischer at 2015-07-08T12:25:09-07:00
Remove vacuum step, which doesn't seem to make .mbtiles smaller in practice

yet takes time and temporary disk space to perform

- - - - -
0ff6819e by Eric Fischer at 2015-07-08T12:26:01-07:00
Merge branch 'skip' of https://github.com/mapbox/tippecanoe into skip

- - - - -
e7b44438 by Eric Fischer at 2015-07-08T14:42:12-07:00
Enforce code style

- - - - -
3bc5a07e by Eric Fischer at 2015-07-08T14:44:55-07:00
Merge pull request #65 from mapbox/skip

Skipping over zoom levels when there is a minzoom, and other performance improvements
- - - - -
138699d2 by Eric Fischer at 2015-07-08T15:06:21-07:00
Add option to quiet the chatty progress indicators

- - - - -
9abf09eb by Eric Fischer at 2015-07-08T15:07:15-07:00
Merge pull request #66 from mapbox/quiet

Add option to quiet the chatty progress indicators
- - - - -
e5a6f981 by Eric Fischer at 2015-07-08T16:33:22-07:00
Work out the sharding math for multhreading

- - - - -
3452ee92 by Eric Fischer at 2015-07-08T16:35:02-07:00
Fix formatting

- - - - -
5d4ab6df by Eric Fischer at 2015-07-08T16:36:58-07:00
Merge branch 'master' into multithread

- - - - -
2bdb51e9 by Eric Fischer at 2015-07-09T15:24:47-07:00
Calculate how many threads should be run

- - - - -
2957f16b by Eric Fischer at 2015-07-09T16:09:40-07:00
Assign tasks (reading temporary files) to threads

- - - - -
d55af3b3 by Eric Fischer at 2015-07-09T16:14:24-07:00
Run through the thread task queues, although still sequentially

- - - - -
9d25afa4 by Eric Fischer at 2015-07-10T10:26:23-07:00
Fix buffer overflow in length of temporary file names

- - - - -
506c801c by Eric Fischer at 2015-07-10T10:27:39-07:00
Merge pull request #67 from mapbox/overflow

Fix buffer overflow in length of temporary file names
- - - - -
e01ea076 by Eric Fischer at 2015-07-14T17:11:34-07:00
Fix double-free crash with unsupported property type

- - - - -
41faf3a5 by Eric Fischer at 2015-07-14T17:12:02-07:00
Merge branch 'master' of https://github.com/mapbox/tippecanoe

- - - - -
a64913c9 by Eric Fischer at 2015-07-23T16:17:23-07:00
Move the data that threads will need into a parameter block

- - - - -
b897712a by Eric Fischer at 2015-07-23T16:24:50-07:00
Remove double-setting of thread task list

- - - - -
cc05f46f by Eric Fischer at 2015-07-27T16:20:20-07:00
Don't crash if there are more than 128 layers

- - - - -
32179b7a by Eric Fischer at 2015-07-27T16:21:24-07:00
Merge pull request #72 from mapbox/manylayers

Don't crash if there are more than 128 layers
- - - - -
26beada6 by Eric Fischer at 2015-07-28T12:38:35-07:00
Clarify documentation for dependencies

- - - - -
b115a070 by Eric Fischer at 2015-07-28T12:39:40-07:00
Merge pull request #73 from mapbox/doc

Clarify documentation for dependencies
- - - - -
70d11cc3 by Eric Fischer at 2015-07-28T12:48:49-07:00
Actually using the stock sqlite on MacOS

- - - - -
39cd5e21 by Eric Fischer at 2015-07-28T12:49:54-07:00
Merge pull request #74 from mapbox/doc

Actually using the stock sqlite on MacOS
- - - - -
10e35c43 by Eric Fischer at 2015-07-29T16:45:41-07:00
Fix memory leak when closing out tiles that had all features clipped away

- - - - -
a51ddbe1 by Eric Fischer at 2015-07-29T16:46:56-07:00
Fix misspelling in ifdef

- - - - -
b4339b2f by Eric Fischer at 2015-07-29T16:49:37-07:00
Merge pull request #75 from mapbox/memleak

Fix memory leak when closing out tiles that had all features clipped away
- - - - -
bc661ef3 by Eric Fischer at 2015-08-11T16:51:44-07:00
Most of the way to handling GeometryCollections

- - - - -
97610105 by Eric Fischer at 2015-08-11T16:55:54-07:00
Downgrade no-features error to a warning

- - - - -
86d5a542 by Alex Barth at 2015-08-15T09:50:04-04:00
Fix typo
- - - - -
caafe2fe by Eric Fischer at 2015-08-20T13:02:34-07:00
Checkpoint in copying data from one tileset to another

- - - - -
224321f6 by Eric Fischer at 2015-08-20T13:42:24-07:00
Look up layers by name because the source mbtiles might be inconsistent

- - - - -
863c9a59 by Eric Fischer at 2015-08-20T14:27:39-07:00
Retrieving keys and values

- - - - -
ed378681 by Eric Fischer at 2015-08-20T14:50:26-07:00
Making the string pool in the destination tile

- - - - -
2e3f0317 by Eric Fischer at 2015-08-20T15:01:34-07:00
Write out the JSON part of the metadata

- - - - -
29fcbf24 by Eric Fischer at 2015-08-20T15:15:47-07:00
Write each tile to the destination tileset

- - - - -
f131987f by Eric Fischer at 2015-08-20T15:48:11-07:00
Fix my pointer confusion around the global keys per layer

- - - - -
06ca5252 by Eric Fischer at 2015-08-20T16:12:34-07:00
Copy the bounding box, center, zoom range metadata over

- - - - -
514da467 by Eric Fischer at 2015-08-20T16:15:09-07:00
Only allow one input .mbtiles because multiple really won't work

- - - - -
9a495340 by Eric Fischer at 2015-08-20T16:45:45-07:00
Parse the CSV

- - - - -
529c9aed by Eric Fischer at 2015-08-20T17:32:58-07:00
Join attributes from CSV into tiles

- - - - -
88b97509 by Eric Fischer at 2015-08-21T10:33:57-07:00
Fix a bunch of compiler warnings

- - - - -
ea6775f1 by Eric Fischer at 2015-08-21T14:12:34-07:00
Merge pull request #77 from mapbox/tile-join

Tool to join new CSV data to an existing tileset
- - - - -
f99d3202 by Eric Fischer at 2015-08-21T14:27:41-07:00
Fix indent style

- - - - -
2814f1cc by Eric Fischer at 2015-08-21T14:37:55-07:00
Check for tiles that are too large to upload.

- - - - -
a57b0102 by Eric Fischer at 2015-08-21T17:32:44-07:00
Add a feature to exclude a key from the joined tileset

- - - - -
b3302c30 by Eric Fischer at 2015-08-24T14:12:46-07:00
Add a flag to retain only the features that match the join CSV

- - - - -
d9974d3c by Eric Fischer at 2015-08-25T13:17:57-07:00
Merge pull request #78 from mapbox/geometrycollection

Support GeometryCollection input
- - - - -
541d3518 by Eric Fischer at 2015-08-27T16:04:37-07:00
Change some defaults that keep tripping people up:

* Default detail with low -z is only 13, so it works with GL
* No coalescing, line-reversing, or reordering by attributes except by request
* Dropping lines like points moves from -d to -a

- - - - -
93b26875 by Eric Fischer at 2015-08-27T16:10:20-07:00
Merge pull request #79 from mapbox/rework-options

Change some defaults that keep tripping people up:
- - - - -
601c0928 by Eric Fischer at 2015-09-14T10:52:58-07:00
Merge branch 'master' into multithread

Conflicts:
	tile.cc

- - - - -
5ab2673b by Eric Fischer at 2015-09-14T15:42:06-07:00
Add a flag to preserve the original order of the features from the input

- - - - -
b5f374cd by Eric Fischer at 2015-09-14T15:43:16-07:00
Fix typo

- - - - -
4dd28f7a by Eric Fischer at 2015-09-14T15:45:51-07:00
Merge pull request #80 from mapbox/preserve-sequence

Add a flag to preserve the original order of the features from the input
- - - - -
763bc365 by Eric Fischer at 2015-09-15T13:23:34-07:00
Add const to fix the build

- - - - -
684e995c by Eric Fischer at 2015-09-17T12:10:17-07:00
Document tile-join

- - - - -
efe378a0 by Eric Fischer at 2015-09-17T12:18:01-07:00
Merge pull request #82 from mapbox/tile-join-docs

Document tile-join
- - - - -
68c81162 by Eric Fischer at 2015-09-17T12:51:26-07:00
Simplify tile-join example

- - - - -
a70a8734 by Eric Fischer at 2015-09-17T12:52:37-07:00
Merge pull request #83 from mapbox/tile-join-docs

Simplify tile-join example
- - - - -
1a874740 by Eric Fischer at 2015-09-17T12:54:38-07:00
Forgot to update manpage

- - - - -
18647d18 by Eric Fischer at 2015-09-17T12:55:27-07:00
Merge pull request #84 from mapbox/tile-join-docs

Forgot to update manpage
- - - - -
5ef4ea4b by Eric Fischer at 2015-09-25T17:28:15-07:00
Detect and parse bare GeoJSON geometries that aren't part of a Feature

- - - - -
3a941062 by Eric Fischer at 2015-09-30T11:56:22-07:00
Don't write out tiles that have no features.

- - - - -
c4f517fb by Eric Fischer at 2015-10-06T10:59:55-07:00
Merge pull request #94 from mapbox/bare-geometry

Detect and parse bare GeoJSON geometries that aren't part of a Feature
- - - - -
c0480673 by Eric Fischer at 2015-10-06T16:51:23-07:00
Add a tippecanoe-specific GeoJSON extension for feature minzoom and maxzoom.

- - - - -
6767aa7a by Eric Fischer at 2015-10-07T13:54:31-07:00
Add documentation. Be lenient about zooms as numbers vs strings.

- - - - -
9bd2f705 by Eric Fischer at 2015-10-07T13:57:41-07:00
Fix formatting

- - - - -
a8e2b2d5 by Eric Fischer at 2015-10-07T13:59:06-07:00
More formatting correction

- - - - -
7154c294 by Eric Fischer at 2015-10-07T14:00:53-07:00
Merge pull request #96 from mapbox/featurezooms

Support per-feature zoom level specification
- - - - -
5dc9f503 by Eric Fischer at 2015-10-07T16:52:52-07:00
Clean up polygon generation and clipping. Make sure winding order is correct.

- - - - -
329f041b by Eric Fischer at 2015-10-07T17:11:58-07:00
Remove closepath expectation in polygon thinning

- - - - -
0b474717 by Eric Fischer at 2015-10-09T12:41:28-07:00
Most of the way to making decode output GeoJSON

- - - - -
8c5681a5 by Eric Fischer at 2015-10-09T16:45:34-07:00
Still not quite a round trip from GeoJSON to GeoJSON, but getting closer

- - - - -
77b451f2 by Eric Fischer at 2015-10-12T12:51:55-07:00
Fix some rounding error just by staying in double precision

- - - - -
2b25c2fe by Eric Fischer at 2015-10-13T17:25:01-07:00
Use Clipper for polygon clipping instead of my own implementation

- - - - -
592c47c5 by Eric Fischer at 2015-10-14T12:24:18-07:00
Fix signedness warnings

- - - - -
37ffacde by Eric Fischer at 2015-10-14T12:49:21-07:00
Merge pull request #98 from mapbox/polygon-ring2

Clean up polygon encoding, and use Clipper for polygon clipping
- - - - -
6a189554 by Eric Fischer at 2015-10-14T15:51:11-07:00
Reduce minimum polygon size for less blocky appearance

- - - - -
f64e2c94 by Eric Fischer at 2015-10-15T17:11:29-07:00
Let Clipper clean up polygons again after scaling and simplification

- - - - -
3ad499fa by Eric Fischer at 2015-10-19T10:31:13-07:00
Merge branch 'master' into multithread

Conflicts:
	tile.cc

- - - - -
89e16404 by Eric Fischer at 2015-10-19T11:12:11-07:00
Add a decode option to translate the entire tileset into GeoJSON

- - - - -
10bd608b by Eric Fischer at 2015-10-19T11:58:01-07:00
Merge branch 'master' into multithread

- - - - -
5d014e04 by Eric Fischer at 2015-10-19T12:32:40-07:00
Actually create threads and hand the tiling tasks off to them

- - - - -
3da69225 by Eric Fischer at 2015-10-19T13:11:00-07:00
Remove unused argument

- - - - -
ef5fdf40 by Eric Fischer at 2015-10-19T13:26:47-07:00
Locking around the file keys

- - - - -
3bb87227 by Eric Fischer at 2015-10-19T13:32:02-07:00
Locking for map center

- - - - -
56910fd0 by Eric Fischer at 2015-10-19T13:39:44-07:00
Restore the error message when a tile can't be made small enough

- - - - -
965176f2 by Eric Fischer at 2015-10-19T14:19:32-07:00
Make the progress indicator more aware of progress in other threads

- - - - -
e4e14b20 by Eric Fischer at 2015-10-19T15:43:06-07:00
Link with -lpthread

- - - - -
a38668a6 by Eric Fischer at 2015-10-20T10:15:02-07:00
Add volatile declaration to shared global variables

- - - - -
eb5c7848 by Eric Fischer at 2015-10-20T12:01:10-07:00
Bump version number and add changelog details

- - - - -
e554a121 by Eric Fischer at 2015-10-20T12:03:49-07:00
Fix formatting

- - - - -
3fbd0d65 by Eric Fischer at 2015-10-20T15:21:46-07:00
Merge pull request #100 from mapbox/multithread

Multithreaded tile generation
- - - - -
0058360c by Eric Fischer at 2015-10-27T12:22:18-07:00
Use 4096-unit tiles as much as possible to keep GL happy

- - - - -
8993f01d by Eric Fischer at 2015-10-27T12:23:12-07:00
Merge pull request #104 from mapbox/always-4096

Use 4096-unit tiles as much as possible to keep GL happy
- - - - -
c9d66159 by Eric Fischer at 2015-10-27T12:55:42-07:00
Add tile resolution change to CHANGELOG

- - - - -
b07a40ed by Eric Fischer at 2015-10-27T12:56:08-07:00
Merge branch 'master' of https://github.com/mapbox/tippecanoe

- - - - -
358e9cad by Eric Fischer at 2015-10-28T14:34:57-07:00
Use closepath for each polygon ring to match the vector tile spec

- - - - -
0ff0bf1a by Eric Fischer at 2015-10-28T14:38:32-07:00
Merge pull request #105 from mapbox/polygon-close

Use closepath for each polygon ring to match the vector tile spec
- - - - -
9a09e923 by Eric Fischer at 2015-10-29T11:30:12-07:00
Update man page and put it in /usr/local

- - - - -
fd5ced69 by Eric Fischer at 2015-10-29T16:46:57-07:00
Pay attention to $PREFIX when installing the man page

- - - - -
0b6f6436 by Eric Fischer at 2015-10-30T15:53:31-07:00
Factor out the JSON token reading loop

- - - - -
d13f60e9 by Eric Fischer at 2015-10-30T17:30:18-07:00
Merge files into one layer if a name is specified with -l

- - - - -
4df95df6 by Eric Fischer at 2015-10-30T17:59:15-07:00
Fix tile-join crash when no CSV is specified. Accept multiple input files.

- - - - -
4c4ba693 by Eric Fischer at 2015-11-02T10:46:13-08:00
Remove debugging output accidentally left in

- - - - -
36f4f776 by Eric Fischer at 2015-11-02T11:43:44-08:00
Another polygon fix: if the outer ring was dropped, drop its inner rings too

- - - - -
84173e24 by Eric Fischer at 2015-11-02T13:52:52-08:00
Produce JSON with proper nesting even if polygon rings go the wrong way

- - - - -
7f24cd67 by Eric Fischer at 2015-11-02T14:03:45-08:00
Don't produce layers with no features. Say "layer" instead of "name" in decode.

- - - - -
321c12da by Eric Fischer at 2015-11-02T14:07:20-08:00
Merge pull request #108 from mapbox/layer-name

Merge input files into one layer if a layer name is specified
- - - - -
71e00fc8 by Eric Fischer at 2015-11-02T14:34:01-08:00
Calculate the min and max lat, lon, and zoom when merging tilesets

- - - - -
2e155b3b by Eric Fischer at 2015-11-03T14:04:28-08:00
Document and install tippecanoe-enumerate and tippecanoe-decode

- - - - -
53997981 by Eric Fischer at 2015-11-03T14:10:02-08:00
Spell out what tippecanoe-enumerate does

- - - - -
666a56d8 by Eric Fischer at 2015-11-03T14:11:39-08:00
Merge pull request #110 from mapbox/more-docs

Document and install tippecanoe-enumerate and tippecanoe-decode
- - - - -
e1f4bdd3 by Eric Fischer at 2015-11-11T16:10:39-08:00
Check how many CPUs and filehandles there are instead of guessing

- - - - -
c854fd54 by Eric Fischer at 2015-11-11T16:16:27-08:00
Merge pull request #112 from mapbox/checkcpu

Check how many CPUs and filehandles there are instead of guessing
- - - - -
368916b7 by Eric Fischer at 2015-11-11T17:05:41-08:00
Bump version number

- - - - -
024c6857 by Eric Fischer at 2015-11-24T13:40:12-08:00
Merge pull request #118 from mapbox/tile-join-multi

Let tile-join combine non-conflicting tilesets together
- - - - -
7c693c8c by wilsaj at 2015-11-30T13:10:19-06:00
include all CLI tools as dependencies for `make install`

- - - - -
53471521 by Eric Fischer at 2015-11-30T11:19:59-08:00
Merge pull request #119 from wilsaj/make-install-dependencies

include all CLI tools as dependencies for `make install`
- - - - -
c832b341 by Eric Fischer at 2015-12-03T13:12:34-08:00
Better handling of features that cross the antimeridian

- - - - -
9faa625e by Eric Fischer at 2015-12-03T14:42:59-08:00
Calculate bounding boxes better for features that cross the antimeridian

- - - - -
55062882 by Eric Fischer at 2015-12-03T15:19:54-08:00
Bump version number

- - - - -
bbcf9e1b by Eric Fischer at 2015-12-03T15:21:19-08:00
Merge pull request #120 from mapbox/dateline

Handle features that cross the antimeridian
- - - - -
dace3041 by Eric Fischer at 2015-12-08T16:24:17-08:00
Offset coordinates for Clipper to keep them positive.

Limit very high or low latitudes and longitudes.

- - - - -
256139b3 by Eric Fischer at 2015-12-08T16:57:04-08:00
Clipping is faster with only one duplicate/shifted geometry copy

- - - - -
4bde17f8 by Eric Fischer at 2015-12-08T17:21:59-08:00
Remove unnecessary coordinate offsetting. Negative coordinates are OK.

- - - - -
f04c5e15 by Eric Fischer at 2015-12-09T15:02:59-08:00
Avoid arithmetic overflow in area calculation

- - - - -
a6be7461 by Eric Fischer at 2015-12-09T15:24:07-08:00
Unrelated code formatting correction

- - - - -
25e261aa by Eric Fischer at 2015-12-09T15:25:12-08:00
Merge pull request #122 from mapbox/dateline2

More fixes for large polygons and clipping at the antimeridian
- - - - -
cf279940 by Eric Fischer at 2015-12-11T12:34:55-08:00
Don't simplify "unused" movetos from points. Don't write empty geometries.

- - - - -
9de2ddd2 by Eric Fischer at 2015-12-11T12:39:33-08:00
Merge pull request #124 from mapbox/pointclip

Don't simplify "unused" movetos from points. Don't write empty geometries.
- - - - -
a60a9238 by Eric Fischer at 2015-12-14T15:45:57-08:00
Use integers instead of floating point for numeric attributes if possible

- - - - -
9391c822 by Eric Fischer at 2015-12-14T16:10:34-08:00
Print floating point attributes as integers if they are exact integers

- - - - -
3b8a5d42 by Eric Fischer at 2015-12-14T16:17:21-08:00
Merge pull request #125 from mapbox/integers

Encode numeric attributes as integers instead of floating point if possible
- - - - -
7372a2c4 by Eric Fischer at 2015-12-15T11:56:49-08:00
Add basezoom parameter for dot-dropping, independent of maxzoom

- - - - -
76de0c82 by Eric Fischer at 2015-12-15T12:00:05-08:00
Further cleanup of minzoom- and maxzoom-related variable names

- - - - -
fee8b33b by Eric Fischer at 2015-12-15T12:08:07-08:00
Fix a place where it was still passing around maxzoom as basezoom

- - - - -
8e2c2026 by Eric Fischer at 2015-12-15T12:22:19-08:00
Try to clarify documentation

- - - - -
7f8eb4de by Eric Fischer at 2015-12-15T15:52:08-08:00
Add an option to guess an appropriately dense base zoom level

- - - - -
966bee89 by Eric Fischer at 2015-12-15T15:55:54-08:00
Fix bounding box calculation

- - - - -
eb906dfc by Eric Fischer at 2015-12-15T16:21:07-08:00
Write spaces over the reading progress message at the end

- - - - -
66818172 by Eric Fischer at 2015-12-16T12:13:24-08:00
Add an option to guess the drop rate

- - - - -
b7a41176 by Eric Fischer at 2015-12-16T12:33:07-08:00
Don't allow <0 gamma (randomized) if basezoom or droprate not known

- - - - -
38fe00c7 by Eric Fischer at 2015-12-16T13:09:31-08:00
Replicate the dot-gamma logic in the base/rate guessing code

- - - - -
f9d1e873 by Eric Fischer at 2015-12-16T16:18:16-08:00
Heuristics for basezoom and droprate if no tiles are naturally small enough

- - - - -
acd44444 by Eric Fischer at 2015-12-17T12:33:52-08:00
Allow specifying a marker width for automatic basezoom guessing

- - - - -
4fe1a950 by Eric Fischer at 2015-12-17T17:16:04-08:00
Calculate effective basezoom and droprate, taking gamma into account

- - - - -
fd682b66 by Eric Fischer at 2015-12-18T11:28:00-08:00
Mention base zoom and drop rate calculation in changelog

- - - - -
08a6607b by Eric Fischer at 2015-12-18T11:29:00-08:00
Merge pull request #127 from mapbox/maxzoom

Separate the concept of basezoom for dot-dropping from maxzoom for tiling
- - - - -
dfcdd03b by Eric Fischer at 2015-12-18T12:04:52-08:00
Factor out the JSON token reading loop

Conflicts:
	geojson.c

- - - - -
c6dfae26 by Eric Fischer at 2015-12-18T12:05:22-08:00
Add a function to disconnect a JSON object from the parse tree

- - - - -
dd2a4b0f by Eric Fischer at 2015-12-18T15:12:27-08:00
Pass the input line number around instead of the JSON parser itself

- - - - -
ed90c7b5 by Eric Fischer at 2015-12-18T15:20:43-08:00
Use memory-mapped I/O for GeoJSON reading if possible

Conflicts:
	geojson.c

- - - - -
2159d464 by Eric Fischer at 2015-12-18T15:59:07-08:00
Segment the file into input chunks. Allow commas at the top level.

- - - - -
f6dfe0ac by Eric Fischer at 2015-12-18T17:10:20-08:00
WIP on splitting geometry-reading state into per-thread structures

- - - - -
255960b4 by Dane Springmeyer at 2015-12-20T15:09:35-08:00
Add travis

- - - - -
ee35b9f7 by Dane Springmeyer at 2015-12-20T15:11:15-08:00
fix matrix

- - - - -
fee18cc3 by Dane Springmeyer at 2015-12-20T15:13:33-08:00
Add errno.h - refs #131

- - - - -
2dc99698 by Eric Fischer at 2015-12-21T16:17:47-08:00
Stub out enough to get it to compile

- - - - -
1f335eec by Eric Fischer at 2015-12-21T17:00:07-08:00
Get rid of a global I had forgotten about

- - - - -
de60545d by Eric Fischer at 2015-12-21T17:21:18-08:00
Include the segment number in the serialized geometry

- - - - -
aaf9e87b by Eric Fischer at 2015-12-21T17:46:04-08:00
Reassemble the combined string pool and metadata files

- - - - -
bd081c86 by Eric Fischer at 2015-12-21T18:00:07-08:00
It tiles again!

- - - - -
edd325e3 by Eric Fischer at 2015-12-22T10:33:08-08:00
Round the number of threads to use down to a power of 2

Since other calculations depend on this being true

- - - - -
a9ad1d99 by Eric Fischer at 2015-12-22T10:35:22-08:00
Merge pull request #134 from mapbox/fixshards

Round the number of threads to use down to a power of 2
- - - - -
f290794f by Eric Fischer at 2015-12-22T10:40:13-08:00
Bump version number

- - - - -
40ec317c by Eric Fischer at 2015-12-22T14:02:31-08:00
Launch a separate thread to read each segment

- - - - -
a8b39aa2 by Eric Fischer at 2015-12-22T14:10:21-08:00
Merge branch 'master' into multithread-input2

- - - - -
ca4d1beb by Eric Fischer at 2015-12-22T14:27:38-08:00
Guard against trying to map an empty string pool into memory

- - - - -
fde3aa45 by Eric Fischer at 2015-12-22T14:58:19-08:00
Make parallel reading a command-line option

- - - - -
02cf4d46 by Eric Fischer at 2015-12-22T15:42:51-08:00
Close files that were being left open

- - - - -
8e3f8b8d by Dane Springmeyer at 2015-12-22T16:26:24-08:00
inherit CXX,CC,CFLAGS,CXXFLAGS,LDFLAGS from env

- - - - -
2fd00413 by Eric Fischer at 2015-12-22T16:29:45-08:00
Clean up progress indicator and feature sequence

- - - - -
f1ce176e by Dane Springmeyer at 2015-12-22T16:30:28-08:00
also build on OS X

- - - - -
76cf1f89 by Dane Springmeyer at 2015-12-22T16:33:22-08:00
Merge pull request #135 from mapbox/build-inherit

Inherit CXX,CC,CFLAGS,CXXFLAGS,LDFLAGS from env
- - - - -
2e22034a by Dane Springmeyer at 2015-12-22T16:33:30-08:00
Merge branch 'master' of github.com:mapbox/tippecanoe into travis-improvements

- - - - -
01caa22b by Dane Springmeyer at 2015-12-22T16:55:21-08:00
enable coverage

- - - - -
228a4d6b by Eric Fischer at 2015-12-22T16:58:27-08:00
Make the geometric origin a per-reader property for thread safety

- - - - -
28b83cbe by Dane Springmeyer at 2015-12-22T17:02:49-08:00
ensure we use upgraded gcc as well as g++

- - - - -
b39a1714 by Eric Fischer at 2015-12-22T17:04:32-08:00
Merge remote-tracking branch 'origin/master' into multithread-input2

- - - - -
893604ca by Dane Springmeyer at 2015-12-22T17:07:59-08:00
fix hardcoded cc

- - - - -
1f971bdf by Dane Springmeyer at 2015-12-22T17:08:41-08:00
travis: run coverage first, build in debug

- - - - -
ee43ab5f by Dane Springmeyer at 2015-12-22T17:12:58-08:00
fix syntax error

- - - - -
71463c13 by Dane Springmeyer at 2015-12-22T17:16:55-08:00
avoid travis overwriting CC

- - - - -
2460b571 by Dane Springmeyer at 2015-12-22T17:20:59-08:00
add coverage badge and a few excludes

- - - - -
88d02915 by Dane Springmeyer at 2015-12-22T17:23:56-08:00
remove vector_tile.pb.o

- - - - -
2b378ceb by Eric Fischer at 2016-01-04T14:45:34-08:00
Use multiple threads to sort the features

- - - - -
1d772615 by Eric Fischer at 2016-01-04T17:20:38-08:00
Bump version number

- - - - -
32111af7 by Eric Fischer at 2016-01-04T17:29:25-08:00
Merge pull request #136 from mapbox/multithread-input2

Multithreaded input
- - - - -
f43d18eb by Eric Fischer at 2016-01-04T17:31:33-08:00
Bring back the old simple polygon clipping algorithm

- - - - -
977533e4 by Eric Fischer at 2016-01-05T12:29:40-08:00
Use multiple threads within a single tile for geometric simplification

- - - - -
c8573634 by Eric Fischer at 2016-01-05T13:56:36-08:00
Track how many threads are active to calculate how many sub-threads to use

- - - - -
22293ca6 by Eric Fischer at 2016-01-06T13:29:59-08:00
Bump version number

- - - - -
e1e028b8 by Eric Fischer at 2016-01-06T14:41:00-08:00
Merge pull request #141 from mapbox/multithread-low-zooms

Multithread line simplification and polygon cleaning at low zooms
- - - - -
1f8b6fae by Eric Fischer at 2016-01-07T11:35:11-08:00
Simplify lines consistently on opposite sides of tile boundaries

- - - - -
5e02bdd9 by Eric Fischer at 2016-01-07T11:51:58-08:00
Merge pull request #142 from mapbox/consistent-clip

Simplify lines consistently on opposite sides of tile boundaries
- - - - -
93d07678 by Eric Fischer at 2016-01-08T11:31:10-08:00
Add an option to do line simplification only at zooms below maxzoom

- - - - -
b0547878 by Eric Fischer at 2016-01-08T11:54:14-08:00
Bump version number

- - - - -
581728f1 by Eric Fischer at 2016-01-08T11:55:23-08:00
Merge pull request #143 from mapbox/limit-simplify

Add an option to do line simplification only at zooms below maxzoom
- - - - -
43c9bb70 by Eric Fischer at 2016-01-08T13:26:56-08:00
Fix the layer number for layers being merged together

- - - - -
502d2691 by Eric Fischer at 2016-01-08T13:28:31-08:00
Merge pull request #145 from mapbox/fix-layer-merge

Fix the layer number for layers being merged together
- - - - -
404bf698 by Eric Fischer at 2016-01-11T10:47:06-08:00
Give an error if -p or -a is used with an undefined option letter

- - - - -
a597733a by Eric Fischer at 2016-01-11T11:00:23-08:00
Fix the build

- - - - -
20bd6616 by Eric Fischer at 2016-01-11T12:25:30-08:00
Merge pull request #148 from mapbox/option-check

Give an error if -p or -a is used with an undefined option letter
- - - - -
ffbddef7 by Eric Fischer at 2016-01-11T13:11:21-08:00
Accurate feature count, more chatty base zoom determination, less chatty tiling

- - - - -
29db0e89 by Eric Fischer at 2016-01-11T13:27:36-08:00
Merge pull request #149 from mapbox/fix-progress

Progress indicator improvements
- - - - -
132b7ecd by Eric Fischer at 2016-01-11T16:06:55-08:00
Factor out parallel reading; start to set up semi-parallel reading

- - - - -
2d165779 by Eric Fischer at 2016-01-11T16:52:45-08:00
Starts but crashes

- - - - -
333956ce by Eric Fischer at 2016-01-11T17:29:06-08:00
Fix crashes

- - - - -
9d6ece5b by Eric Fischer at 2016-01-12T11:47:46-08:00
Buffered reading makes it faster than the single-threaded version

- - - - -
0680236e by Eric Fischer at 2016-01-12T12:18:05-08:00
Fix warning

- - - - -
e4afaa7a by Eric Fischer at 2016-01-12T12:31:17-08:00
Renaming in the hope of clarity

- - - - -
ca97c5ec by Eric Fischer at 2016-01-12T12:36:12-08:00
Update docs

- - - - -
ecae14e2 by Eric Fischer at 2016-01-12T14:12:56-08:00
Stabilize feature order between the different reading methods

- - - - -
83322d8e by Eric Fischer at 2016-01-12T14:16:17-08:00
Guard against unlikely overflow

- - - - -
872df4bd by Eric Fischer at 2016-01-12T14:27:05-08:00
Bump version number

- - - - -
45043922 by Eric Fischer at 2016-01-12T14:29:39-08:00
Merge pull request #150 from mapbox/stream-parallel

Chunked parallel reading of input streams
- - - - -
7aa27b7f by Eric Fischer at 2016-01-20T13:58:17-08:00
Make calculation of child tile overlap match clipping behavior.

Coordinates that are right on the tile boundary appear in both
adjacent tiles.

Make tippecanoe-decode also use exact edge coordinates instead of
half-pixel locations.

- - - - -
16025746 by Eric Fischer at 2016-01-20T14:53:58-08:00
Bump version number

- - - - -
baf576f2 by Eric Fischer at 2016-01-20T14:57:38-08:00
Merge pull request #152 from mapbox/clip-buffer

Make clipping behavior with no buffer consistent with Mapnik
- - - - -
167beae3 by Eric Fischer at 2016-01-27T14:29:34-08:00
Stringify feature properties that are arrays or hashes

- - - - -
0e59a4f7 by Eric Fischer at 2016-01-27T14:41:06-08:00
Retain original form of numbers when stringifying

- - - - -
7835f528 by Eric Fischer at 2016-01-27T14:50:52-08:00
Merge pull request #156 from mapbox/arrayprop

Stringify feature properties that are arrays or hashes
- - - - -
794048c0 by Eric Fischer at 2016-01-28T10:52:43-08:00
Add a test

- - - - -
528bca66 by Eric Fischer at 2016-01-28T10:54:51-08:00
Use tests in Travis configuration

- - - - -
2a94d808 by Eric Fischer at 2016-01-28T10:59:32-08:00
No need to have these parts of the test run in the same subshell

- - - - -
6d38eff2 by Eric Fischer at 2016-01-28T12:34:52-08:00
Use Natural Earth state boundaries to test some flag combinations

- - - - -
7c021035 by Eric Fischer at 2016-01-28T14:06:51-08:00
Include metadata in tippecanoe-decode. Allow multiple inputs for tests.

- - - - -
a84061cf by Eric Fischer at 2016-01-28T14:18:31-08:00
Add an option to ignore sqlite errors on existing mbtiles files

- - - - -
b17f8fc6 by Eric Fischer at 2016-01-28T14:38:10-08:00
Stabilize map center and mbtiles filename to fix test flakiness

- - - - -
bc14bcdd by Eric Fischer at 2016-01-28T15:04:57-08:00
Test merging of multiple input layers

- - - - -
9de13d7e by Eric Fischer at 2016-01-28T15:27:04-08:00
Natural Earth place names for testing basic dot-dropping

- - - - -
e7863793 by Eric Fischer at 2016-01-28T15:35:22-08:00
Fix warning and let the autoformatter do its thing

- - - - -
2aa1510d by Eric Fischer at 2016-01-28T15:46:58-08:00
Stabilize metadata field order, which seems to be causing test flakiness

- - - - -
9f484e02 by Eric Fischer at 2016-01-28T16:06:30-08:00
And a basic polygon test, with Natural Earth countries

- - - - -
886b2c33 by Eric Fischer at 2016-01-28T16:52:46-08:00
Temporarily remove flaky polygons from test

- - - - -
ec7d7292 by Eric Fischer at 2016-01-28T17:01:13-08:00
Bump version number

- - - - -
4aa0ddd5 by Eric Fischer at 2016-01-28T17:07:25-08:00
Merge pull request #157 from mapbox/testing

Start adding tests for Tippecanoe
- - - - -
bbd233c0 by Eric Fischer at 2016-01-29T10:30:19-08:00
Merge branch 'master' into travis-improvements

Conflicts:
	.travis.yml

- - - - -
29355c1a by Eric Fischer at 2016-01-29T10:40:36-08:00
Merge pull request #138 from mapbox/travis-improvements

Add code coverage
- - - - -
6ec211ea by Eric Fischer at 2016-01-29T11:05:51-08:00
Better message about layer name, and put it on stderr with the rest.

- - - - -
f9a0a555 by Eric Fischer at 2016-01-29T11:09:20-08:00
Merge pull request #160 from mapbox/layer-name-message

Better message about layer name, and put it on stderr with the rest.
- - - - -
2015ba21 by Eric Fischer at 2016-02-01T10:10:05-08:00
Merge branch 'master' into ignore-error

Conflicts:
	mbtiles.c

- - - - -
f5ea5974 by Eric Fischer at 2016-02-01T11:00:36-08:00
Merge pull request #158 from mapbox/ignore-error

Add an option to ignore sqlite errors on existing mbtiles files
- - - - -
dfaba5a3 by Eric Fischer at 2016-02-02T12:21:19-08:00
Spell out a fuzz test for the four input-reading code paths

- - - - -
54d9e20e by Eric Fischer at 2016-02-02T12:23:30-08:00
Add the input-paths test to the standard test target

- - - - -
59c5d51e by Eric Fischer at 2016-02-02T13:33:49-08:00
Don't allow the initial coordinate pair to be out of bounds

- - - - -
49324a3d by Eric Fischer at 2016-02-02T14:14:26-08:00
Merge pull request #164 from mapbox/parallel-test

Spell out a fuzz test for the four input-reading code paths
- - - - -
b649e99b by Eric Fischer at 2016-02-02T15:43:27-08:00
Preserve input sequence across multiple input files

- - - - -
c1963dc6 by Eric Fischer at 2016-02-02T15:57:19-08:00
Merge pull request #165 from mapbox/input-sequence

Preserve input sequence across multiple input files
- - - - -
e7f571c9 by Eric Fischer at 2016-02-03T16:52:23-08:00
Even if the maxzoom is very high, don't use more bits of precision than exist

- - - - -
62398096 by Eric Fischer at 2016-02-03T16:59:22-08:00
Merge pull request #167 from mapbox/fix-z22

Even if the maxzoom is very high, don't use more bits of precision than exist
- - - - -
bcdb40b4 by Eric Fischer at 2016-02-03T17:12:17-08:00
Limit maxzoom to the max that actually works

- - - - -
cb689840 by Eric Fischer at 2016-02-03T17:28:47-08:00
Forgot to add source JSON

- - - - -
01731e21 by Eric Fischer at 2016-02-03T17:30:27-08:00
Guard against missing source file in test invocation

- - - - -
f53ce812 by Eric Fischer at 2016-02-03T17:35:19-08:00
Merge pull request #168 from mapbox/enforce-maxzoom

Limit maxzoom to the max that actually works
- - - - -
a1da515d by Eric Fischer at 2016-02-10T12:01:29-08:00
Bump version number

- - - - -
c6ad3442 by Eric Fischer at 2016-02-11T11:09:05-08:00
Some work toward letting features have sub-geometries

- - - - -
ef646e84 by Eric Fischer at 2016-02-11T11:31:53-08:00
Refactor simple polygon clipping for arbitrary bounding boxes

- - - - -
ca4faec9 by Eric Fischer at 2016-02-11T11:34:33-08:00
Bump version number in all test standards

- - - - -
ea304d3a by Eric Fischer at 2016-02-11T12:14:32-08:00
Split complex polygons into multiple features

- - - - -
0fa30543 by Eric Fischer at 2016-02-11T12:16:46-08:00
Bump version number

- - - - -
4f419ae9 by Eric Fischer at 2016-02-11T12:22:22-08:00
Make indent

- - - - -
84a2a1bd by Eric Fischer at 2016-02-11T14:18:09-08:00
Use a test polygon that comes out the same on Mac and Linux

- - - - -
eecdf774 by Eric Fischer at 2016-02-11T14:29:33-08:00
Merge pull request #170 from mapbox/sane-polygon

Split complex polygons into multiple features
- - - - -
51fffb77 by Eric Fischer at 2016-02-17T13:02:56-08:00
Incorporate Clipper fork from https://github.com/mapnik/clipper

- - - - -
0f5a32b4 by Eric Fischer at 2016-02-17T13:10:13-08:00
Additional Clipper changes through https://github.com/mapnik/clipper/commit/7484da1

- - - - -
d25e537d by Eric Fischer at 2016-02-17T13:21:58-08:00
Bring back Somerset county test

- - - - -
88e1de62 by Eric Fischer at 2016-02-17T13:22:14-08:00
Revert "Temporarily remove flaky polygons from test"

This reverts commit 886b2c3350eb4754e10c1fdf64fcefc0bcb4e411.

- - - - -
a4498d34 by Eric Fischer at 2016-02-17T13:23:09-08:00
New test standards for the flaky country polygons

- - - - -
a2b0bb01 by Eric Fischer at 2016-02-17T13:27:45-08:00
Don't use std::int64_t, for the sake of older compilers

- - - - -
ce0ac700 by Eric Fischer at 2016-02-17T13:30:53-08:00
Bump version number

- - - - -
7dec577e by Eric Fischer at 2016-02-17T13:43:09-08:00
Merge pull request #173 from mapbox/clipper-upgrade

Incorporate Mapnik's Clipper upgrades for consistent results between Mac and Linux
- - - - -
b87d3de5 by Eric Fischer at 2016-02-19T16:33:48-08:00
Increase maximum tile size for decoding

- - - - -
1549328e by Eric Fischer at 2016-02-19T16:50:40-08:00
Bump version number

- - - - -
3c85d324 by Eric Fischer at 2016-02-19T16:56:44-08:00
Merge pull request #176 from mapbox/decode-limit

Increase maximum tile size for decoding
- - - - -
0fcd2d9a by Eric Fischer at 2016-03-02T14:57:03-08:00
Test for crossing the date line, property encodings, zoom level filters

- - - - -
a847db8c by Eric Fischer at 2016-03-02T14:58:07-08:00
Remove dead code

- - - - -
7e5db337 by Eric Fischer at 2016-03-02T15:06:27-08:00
Test bare geometry and GeometryCollection

- - - - -
ae827af8 by Eric Fischer at 2016-03-02T15:19:16-08:00
Try to avoid another cross-platform rounding error

- - - - -
fb9525cf by Eric Fischer at 2016-03-02T15:23:22-08:00
Add a MultiPoint test

- - - - -
739f2dbc by Eric Fischer at 2016-03-02T16:19:38-08:00
Test stability of feature ordering

- - - - -
c9fdd62c by Eric Fischer at 2016-03-02T16:37:55-08:00
Try to add zoom skipping to code coverage

- - - - -
b3aa32b9 by Eric Fischer at 2016-03-02T17:25:54-08:00
Merge pull request #179 from mapbox/coverage

More tests for higher code coverage
- - - - -
e4ab47b3 by Eric Fischer at 2016-03-03T15:44:07-08:00
Add a gamma-reduction test

- - - - -
d38b5a99 by Eric Fischer at 2016-03-03T17:03:03-08:00
Make base zoom and drop rate guessing more testable, and test them

- - - - -
f17cec5c by Eric Fischer at 2016-03-03T17:03:47-08:00
Factor out gap logic instead of duplicating it

- - - - -
b7f3fcfc by Eric Fischer at 2016-03-03T17:34:56-08:00
Merge pull request #180 from mapbox/coverage

Add a gamma-reduction test and base zoom/drop rate guessing tests
- - - - -
81d2a8bf by Eric Fischer at 2016-03-07T13:21:53-08:00
Encourage -B, not -z, to set the base zoom level

- - - - -
310887e0 by Eric Fischer at 2016-03-07T13:40:32-08:00
Fix duplicated variable name

- - - - -
11e737ff by Eric Fischer at 2016-03-07T16:34:12-08:00
Reorder geometry as part of the merge

- - - - -
bf585a58 by Eric Fischer at 2016-03-07T16:38:21-08:00
Add newline to clean up progress messages

- - - - -
cf508212 by Eric Fischer at 2016-03-07T16:45:35-08:00
Close original geometry temp files as soon as they are no longer needed

- - - - -
c387af48 by Eric Fischer at 2016-03-08T13:41:47-08:00
Merge pull request #182 from mapbox/thrashing

Reorder geometry as part of index merging, to reduce thrashing in low memory
- - - - -
652abc9a by Eric Fischer at 2016-03-10T12:15:49-08:00
Put all the apt-get instructions on one line

- - - - -
7eccc7a7 by Eric Fischer at 2016-03-10T16:03:02-08:00
Silently drop zero-area polygons instead of showing Clipper errors

- - - - -
7896c3c2 by Eric Fischer at 2016-03-10T17:07:22-08:00
Don't get stuck in a loop if subdividing a complex polygon fails

- - - - -
c66fd315 by Eric Fischer at 2016-03-10T17:31:47-08:00
Merge pull request #185 from mapbox/line-polygons

Silently drop zero-area polygons instead of showing Clipper errors
- - - - -
16ca5cfe by Eric Fischer at 2016-03-17T11:23:54-07:00
Clarify maximum resolution in README and warning

- - - - -
7140a3dd by Eric Fischer at 2016-03-17T11:54:24-07:00
Merge pull request #186 from mapbox/resolution-doc

Clarify maximum resolution in README and warning
- - - - -
707036fe by Eric Fischer at 2016-03-18T16:35:29-07:00
Upgrade Clipper to 07b828b1 to fix self-intersecting polygons

- - - - -
a9896115 by Eric Fischer at 2016-03-21T16:13:47-07:00
Upgrade to Clipper 3eb6a85910aff

- - - - -
4fc6ca3c by Eric Fischer at 2016-03-21T17:23:34-07:00
Keep from getting stuck in an infinite loop

- - - - -
d9609636 by Eric Fischer at 2016-03-22T16:51:29-07:00
Add the ability to tippecanoe-decode a standalone .pbf tile

- - - - -
962f82d4 by Eric Fischer at 2016-03-22T17:12:09-07:00
Add a test for decoding standalone PBFs

- - - - -
eebba7b7 by Eric Fischer at 2016-03-22T17:35:42-07:00
Merge pull request #189 from mapbox/decode-pbf

Add the ability to tippecanoe-decode a standalone .pbf tile
- - - - -
54c7cfff by Eric Fischer at 2016-03-23T16:46:55-07:00
Upgrade to Clipper 296c37e3206bfa

- - - - -
705a58d2 by Eric Fischer at 2016-03-23T17:10:10-07:00
Reverse polygon rings if they come out of Clipper with the wrong polarity

- - - - -
d4776c8b by Eric Fischer at 2016-03-23T17:35:19-07:00
Warn when splitting up a 700-sided polygon for the first time

- - - - -
f37eccaf by Eric Fischer at 2016-03-24T14:32:49-07:00
Merge branch 'master' into earcut-polygon

- - - - -
05ff656a by Eric Fischer at 2016-03-24T14:36:36-07:00
Upgrade to Clipper 9dfe779ed7a

- - - - -
64c98b38 by Eric Fischer at 2016-03-24T14:39:38-07:00
Add Clipper header dependency

- - - - -
a03b461a by Eric Fischer at 2016-03-24T15:18:51-07:00
Try to fix Travis on Linux

- - - - -
76ab63c1 by Eric Fischer at 2016-03-24T15:31:44-07:00
Another attempt at fixing Travis on Linux

- - - - -
052c0a55 by Eric Fischer at 2016-03-24T17:17:11-07:00
Try forcing libc++ on Linux to fix the build

- - - - -
91ffb084 by Eric Fischer at 2016-03-24T17:26:29-07:00
Install libc++-dev in another attempt to fix the build

- - - - -
bc5a7b25 by Eric Fischer at 2016-03-25T11:20:56-07:00
Check return values after allocating memory

- - - - -
eee596d5 by Eric Fischer at 2016-03-25T11:57:33-07:00
Check return values from memory allocation

- - - - -
c2231318 by Eric Fischer at 2016-03-25T12:20:32-07:00
Many places where I used unsigned array indices but meant size_t

- - - - -
52dbed81 by Eric Fischer at 2016-03-25T13:03:57-07:00
Fix a few warnings about globals

- - - - -
12be3e5a by Eric Fischer at 2016-03-25T13:21:32-07:00
This one really is an int upstream

- - - - -
1e5d420b by Eric Fischer at 2016-03-25T13:45:28-07:00
Fix warnings about unused arguments

- - - - -
8c9aa53b by Steve Bennett at 2016-03-26T12:28:23+11:00
Warn of spurious errors (as per #191)
- - - - -
a92bdce1 by Eric Fischer at 2016-03-28T10:31:17-07:00
Upgrade clipper to f9c1344a09

- - - - -
21a635fb by Eric Fischer at 2016-03-28T12:00:55-07:00
Check for string length overflow

- - - - -
7d602987 by Eric Fischer at 2016-03-28T12:07:41-07:00
Merge pull request #194 from stevage/patch-2

Warn of spurious errors (as per #191)
- - - - -
356575d0 by Eric Fischer at 2016-03-28T12:25:33-07:00
Check for JSON array and hash overflows

- - - - -
cf2abf67 by Eric Fischer at 2016-03-28T13:08:54-07:00
Oops: need to check array size in bytes, not number of objects

- - - - -
5a2a1b79 by Eric Fischer at 2016-03-28T13:22:03-07:00
Exit cleanly if there was no valid input instead of giving an mmap error

- - - - -
9f2e2213 by Eric Fischer at 2016-03-28T13:46:45-07:00
Merge pull request #193 from mapbox/malloc

Check return values after allocating memory
- - - - -
b47653e2 by Eric Fischer at 2016-03-28T14:00:01-07:00
Remove temporary files that were accidentally left in place

- - - - -
edce0f08 by Eric Fischer at 2016-03-28T15:03:28-07:00
Add GNU-style long options

- - - - -
448d1a12 by Eric Fischer at 2016-03-28T15:10:04-07:00
Handle case of options that aren't processed individually

- - - - -
72b7dc97 by Eric Fischer at 2016-03-28T15:31:31-07:00
Merge pull request #196 from mapbox/stray-geom

Remove temporary files that were accidentally left in place
- - - - -
c6051d87 by Eric Fischer at 2016-03-28T15:45:16-07:00
Merge branch 'master' into earcut-polygon

Conflicts:
	geometry.cc

- - - - -
6f5199ad by Eric Fischer at 2016-03-28T16:52:33-07:00
Check whether polygon inner rings are inside the outer ring

- - - - -
c4040824 by Eric Fischer at 2016-03-28T17:01:17-07:00
Factor out copied-and-pasted polygon area calculations

- - - - -
10cd9c88 by Eric Fischer at 2016-03-29T11:05:39-07:00
Check the ring order manually and reorder them if they don't nest right

- - - - -
bd3b9a51 by Eric Fischer at 2016-03-29T13:13:39-07:00
Add an option to give specific layer names to specific input files

- - - - -
62fac4d6 by Eric Fischer at 2016-03-29T15:01:03-07:00
Add a test for layer names

- - - - -
5d701913 by Eric Fischer at 2016-03-29T15:08:06-07:00
Merge pull request #199 from mapbox/named-layers

Add an option to give specific layer names to specific input files
- - - - -
4da5a199 by Eric Fischer at 2016-03-29T15:18:01-07:00
Merge branch 'master' into earcut-polygon

Conflicts:
	Makefile

- - - - -
e5157ec6 by Eric Fischer at 2016-03-31T11:39:12-07:00
Fix where I used the wrong names for the max/min long long constants

- - - - -
389cdf2a by Eric Fischer at 2016-03-31T11:44:04-07:00
Bump version number

- - - - -
8cc844c9 by Eric Fischer at 2016-03-31T14:33:11-07:00
Merge pull request #201 from mapbox/llong_max

Fix where I used the wrong names for the max/min long long constants
- - - - -
9acecdf9 by Eric Fischer at 2016-03-31T15:29:43-07:00
OS-specific code to determine memory size

- - - - -
24deae5a by Eric Fischer at 2016-04-01T12:38:32-07:00
Reunify the string pool and metadata earlier to free up file descriptors

- - - - -
560add2c by Eric Fischer at 2016-04-01T15:31:34-07:00
More calculation about how many fds are available

- - - - -
1e8c030b by Eric Fischer at 2016-04-01T15:31:59-07:00
Make indent

- - - - -
851d7b57 by Eric Fischer at 2016-04-01T15:32:15-07:00
Merge branch 'master' into radix

- - - - -
9793be15 by Eric Fischer at 2016-04-01T16:25:10-07:00
Split indices and geometries up by radix

- - - - -
60139532 by Eric Fischer at 2016-04-01T17:01:10-07:00
Provide top-level output files for geometry and index

- - - - -
cf806bac by Eric Fischer at 2016-04-01T17:36:09-07:00
Slow, but works for some cases now

- - - - -
55f93963 by Eric Fischer at 2016-04-01T17:41:53-07:00
Stop recursing when the indices are exactly the same

- - - - -
e2b36a8e by Eric Fischer at 2016-04-01T18:15:31-07:00
Restore mergesort for the intermediate sort. Tests pass.

- - - - -
986719f2 by Eric Fischer at 2016-04-04T10:53:53-07:00
Rework sorting/merging progress indicator

- - - - -
c9e542e6 by Eric Fischer at 2016-04-04T11:18:37-07:00
Keep meta count inline to avoid thrash if no attributes

- - - - -
7b6cd2d0 by Eric Fischer at 2016-04-04T11:25:21-07:00
Fix the any-valid-geometries check again

- - - - -
2fe841c6 by Eric Fischer at 2016-04-04T11:42:40-07:00
Remove extra newline output from old progress format

- - - - -
31c4d485 by Eric Fischer at 2016-04-04T13:22:23-07:00
Remove dead code

- - - - -
d4b9f79d by Eric Fischer at 2016-04-04T14:49:41-07:00
Fix the progress indicator when there is an inner radix sort

- - - - -
2b0ac890 by Eric Fischer at 2016-04-04T15:33:25-07:00
Fix the status message about how much geometry there is

- - - - -
b1d38498 by Eric Fischer at 2016-04-04T16:03:13-07:00
Sprinkle madvise calls to hint about how files should be paged in

- - - - -
72e485f2 by Eric Fischer at 2016-04-04T16:14:26-07:00
Also advise when unmapping pages

- - - - -
c6276207 by Eric Fischer at 2016-04-04T16:18:55-07:00
Can't tell Linux to free pages, so just say we don't need them

- - - - -
2a4be4f6 by Eric Fischer at 2016-04-04T17:00:11-07:00
Parallel reading is effectively random order, not sequential

- - - - -
c0a0aef0 by Eric Fischer at 2016-04-05T10:08:46-07:00
Use large sort chunks, since that part can be parallelized

- - - - -
e394501f by Eric Fischer at 2016-04-05T11:13:31-07:00
Check for errors when closing files

- - - - -
b10b436a by Eric Fischer at 2016-04-05T13:32:44-07:00
Add a way to test recursive radix sorting. Bump version number.

- - - - -
4a572b81 by Eric Fischer at 2016-04-05T14:07:24-07:00
Close some file descriptors that were left dangling before

- - - - -
d1456c0f by Eric Fischer at 2016-04-05T15:13:44-07:00
Merge pull request #202 from mapbox/radix

Restructure geometry reordering to try to reduce virtual memory thrashing
- - - - -
1e31edbf by Eric Fischer at 2016-04-05T15:22:43-07:00
Merge branch 'master' into earcut-polygon

Conflicts:
	geojson.c
	tile.h

- - - - -
574a2b79 by Eric Fischer at 2016-04-06T14:17:44-07:00
Add an option to drop a fraction of polygons by zoom.

Only warn once about polygon cleaning failures.

- - - - -
22ede9ac by Eric Fischer at 2016-04-06T14:33:48-07:00
Merge pull request #206 from mapbox/chatty-polygon

Add an option to drop a fraction of polygons by zoom.
- - - - -
39285c81 by Eric Fischer at 2016-04-07T10:35:36-07:00
Keep an eye on free disk space and warn if tippecanoe is using it all

- - - - -
1eb05373 by Eric Fischer at 2016-04-07T10:47:46-07:00
Warn if temporary directory doesn't begin with /

- - - - -
73fcdba0 by Eric Fischer at 2016-04-07T11:23:33-07:00
Linux and Mac want different headers for file system stats

- - - - -
41ae2216 by Eric Fischer at 2016-04-07T11:39:32-07:00
Mention the default location for temporary files

- - - - -
1792a13e by Eric Fischer at 2016-04-07T12:23:05-07:00
Merge pull request #207 from mapbox/checkspace

Keep an eye on free disk space and warn if tippecanoe is using it all
- - - - -
1e6332ba by Eric Fischer at 2016-04-07T13:50:04-07:00
Merge branch 'master' into earcut-polygon

Conflicts:
	geojson.c
	tile.h

- - - - -
64faa1d7 by Eric Fischer at 2016-04-07T13:52:39-07:00
Upgrade Clipper to 68c49e9a9a

- - - - -
acb97361 by Eric Fischer at 2016-04-07T16:45:45-07:00
Fix a line simplification crash when a segment degenerates to a single point

- - - - -
9d48d6a9 by Eric Fischer at 2016-04-07T16:50:01-07:00
Merge pull request #208 from mapbox/simplify-crash

Fix a line simplification crash when a segment degenerates to a single point
- - - - -
e846b11c by Eric Fischer at 2016-04-11T13:51:28-07:00
Don't let the input buffer for parallel streaming input get too big.

- - - - -
c6d29884 by Eric Fischer at 2016-04-11T14:51:04-07:00
Logic may be clearer this way

- - - - -
efe66dca by Eric Fischer at 2016-04-11T15:59:02-07:00
Use stdio instead of mmap for geometry while tiling to reduce thrashing

- - - - -
968c94a4 by Eric Fischer at 2016-04-11T16:43:46-07:00
Quiet warning about potentially uninitialized variable.

- - - - -
3a46c05b by Eric Fischer at 2016-04-12T10:59:06-07:00
Fix the progress indicator

- - - - -
e5461b18 by Eric Fischer at 2016-04-12T16:40:03-07:00
Additional debug output from polygon checking

- - - - -
cb4a8377 by Eric Fischer at 2016-04-12T16:52:46-07:00
Fix log formatting

- - - - -
4dba8b3f by Eric Fischer at 2016-04-13T10:18:32-07:00
Update clipper to 381c817fd13e8

- - - - -
fbcb00fe by Eric Fischer at 2016-04-13T12:49:41-07:00
Add an option to set the tileset's attribution

- - - - -
7c9bd5da by Eric Fischer at 2016-04-13T13:31:51-07:00
Merge pull request #210 from mapbox/block-input

Don't let the input buffer for parallel streaming input get too big.
- - - - -
cae20bb5 by Eric Fischer at 2016-04-13T18:05:24-07:00
Speculatively open files to avoid overrunning the system limits

- - - - -
137bb46d by Eric Fischer at 2016-04-13T20:20:25-07:00
Clean up the maximum-files-open check a little

- - - - -
22273500 by Eric Fischer at 2016-04-13T20:33:01-07:00
Add a sanity check to make sure I remember to close all open files

- - - - -
732a51d6 by Eric Fischer at 2016-04-14T10:06:01-07:00
Fix the option for testing radix sort

Add a check to make sure I don't make the same mistake again

- - - - -
81517a0c by Eric Fischer at 2016-04-14T10:20:28-07:00
Fix tracking of number of available file descriptors

- - - - -
2a6e4112 by Eric Fischer at 2016-04-14T10:32:19-07:00
Merge pull request #212 from mapbox/limitfiles

Speculatively open files to avoid overrunning the system limits
- - - - -
04c56320 by Eric Fischer at 2016-04-14T16:21:56-07:00
Merge branch 'master' into earcut-polygon

Conflicts:
	geometry.cc

- - - - -
86b85672 by Eric Fischer at 2016-04-18T15:53:04-07:00
Clean up polygon geometry again after coalescing

- - - - -
45cddc57 by Eric Fischer at 2016-04-18T16:10:08-07:00
Simplify coordinates to avoid cross-platform rounding errors

- - - - -
694fa8ee by Eric Fischer at 2016-04-18T16:15:13-07:00
Merge pull request #213 from mapbox/polygon-coalesce

Clean up polygon geometry again after coalescing
- - - - -
62a74afb by Eric Fischer at 2016-04-19T12:28:49-07:00
Remember to do floating point division in pnpoly

- - - - -
24f401da by Eric Fischer at 2016-04-19T15:32:58-07:00
Add an option not to clip features if they appear in the tile at all

- - - - -
56d8178a by Eric Fischer at 2016-04-19T15:35:58-07:00
Fix a mistake in the formatting of the Usage message

- - - - -
41099ed7 by Eric Fischer at 2016-04-19T16:13:02-07:00
Don't add extra points at tile boundaries if not clipping

The extra points kept the features from being exactly the same
in each tile.

- - - - -
ea638914 by Eric Fischer at 2016-04-20T15:06:43-07:00
Add an option not to clip features and to include each exactly once per zoom

- - - - -
2607a76c by Eric Fischer at 2016-04-21T10:36:51-07:00
Merge pull request #215 from mapbox/no-clipping

Add an option not to clip features if they appear in the tile at all
- - - - -
b91e8f6d by Eric Fischer at 2016-04-22T12:00:19-07:00
Start factoring out protocol buffer handling code

- - - - -
f902721d by Eric Fischer at 2016-04-22T13:27:03-07:00
Abstraction of tile decoding

- - - - -
358f0193 by Eric Fischer at 2016-04-22T15:06:26-07:00
Factor out vector tile writing

- - - - -
f837577b by Eric Fischer at 2016-04-22T15:10:16-07:00
Rename pb_ prefixes to mvt_

- - - - -
f9c4fb83 by Eric Fischer at 2016-04-22T15:47:06-07:00
Factor out tile reading and writing from tile-join

- - - - -
5ec41d7b by Eric Fischer at 2016-04-22T17:10:33-07:00
Use protozero for tile decoding

- - - - -
135aea85 by Eric Fischer at 2016-04-22T17:45:24-07:00
Use protozero for writing tiles

- - - - -
4cee508e by Eric Fischer at 2016-04-22T17:51:35-07:00
Add missing #include

- - - - -
b15956b4 by Eric Fischer at 2016-04-22T19:30:37-07:00
Oops, was still linking to -lprotobuf-lite

- - - - -
9e9afb06 by Eric Fischer at 2016-04-22T23:32:02-07:00
Fix signedness warnings, missing #includes, and code formatting.

- - - - -
03d5c897 by Eric Fischer at 2016-04-25T09:24:36-07:00
These are version 2 tiles

- - - - -
4e71c40f by Eric Fischer at 2016-04-25T09:58:36-07:00
Try backing off to older C++ standard for older g++

- - - - -
2afd0bf3 by Eric Fischer at 2016-04-25T10:22:14-07:00
Try with clang++ instead

- - - - -
23934166 by Eric Fischer at 2016-04-25T12:13:52-07:00
Methods instead of functions

- - - - -
2dea1d15 by Eric Fischer at 2016-04-25T12:23:40-07:00
Fix hardwired layer version number

- - - - -
7bb4c7db by Eric Fischer at 2016-04-25T14:20:21-07:00
Add a helper method to manage the tile layer's key-value constant pool

- - - - -
e10a71e1 by Eric Fischer at 2016-04-25T16:19:52-07:00
Use the mvt constant pool when tiling

- - - - -
52f28041 by Eric Fischer at 2016-04-25T16:47:30-07:00
Make lexical feature ordering work again, and add a test for it

- - - - -
aaec2c98 by Eric Fischer at 2016-04-25T16:52:20-07:00
Clearer names

- - - - -
d72639b8 by Eric Fischer at 2016-04-25T17:00:32-07:00
Merge pull request #219 from mapbox/protozero

Use protozero for reading and writing vector tile protocol buffers
- - - - -
8c82ee4c by Eric Fischer at 2016-04-26T12:09:56-07:00
Merge branch 'master' into earcut-polygon

Conflicts:
	tile.cc

- - - - -
c4a13fc6 by Dane Springmeyer at 2016-04-26T12:41:27-07:00
fix clang++ build by upgrading to 3.5

- - - - -
3570d934 by Dane Springmeyer at 2016-04-26T12:48:32-07:00
whoops, libprotobuf is still required a bit (for now)

- - - - -
535b3284 by Dane Springmeyer at 2016-04-26T12:51:48-07:00
add libprotobuf back to packages (not sources)

- - - - -
a9a14b33 by Eric Fischer at 2016-04-26T13:48:03-07:00
Merge remote-tracking branch 'origin/master' into earcut-polygon

- - - - -
33f9d91a by Eric Fischer at 2016-04-26T13:50:08-07:00
Remove protobuf prerequisites again

- - - - -
49d29ad3 by Eric Fischer at 2016-04-26T13:54:08-07:00
But no, I still left a few more dependencies

- - - - -
bebb0dda by Eric Fischer at 2016-04-26T14:01:59-07:00
Add missing #include

- - - - -
77bc24d7 by Eric Fischer at 2016-04-26T14:16:19-07:00
Bump version number

- - - - -
bd5dc4ad by Eric Fischer at 2016-04-26T14:26:10-07:00
Merge pull request #187 from mapbox/earcut-polygon

Upgrade Clipper to 07b828b1 to fix self-intersecting polygons
- - - - -
ce64565b by Dane Springmeyer at 2016-04-26T15:26:15-07:00
[build] use AR variable in Makefile

- - - - -
ef3b9bea by Dane Springmeyer at 2016-04-26T15:39:42-07:00
Explict Release/Debug modes to build

- - - - -
86e6cd71 by Dane Springmeyer at 2016-04-26T15:46:58-07:00
Add OSX Debug build

- - - - -
b2063108 by Dane Springmeyer at 2016-04-26T15:52:45-07:00
Merge pull request #222 from mapbox/debug-builds

Explict Release/Debug modes to build
- - - - -
d0b5ba38 by Dane Springmeyer at 2016-04-26T16:51:12-07:00
use std::fabs instead of clib fabs

- - - - -
65964c93 by Dane Springmeyer at 2016-04-26T16:56:24-07:00
more std:: usage in c++ files

- - - - -
235939ea by Dane Springmeyer at 2016-04-26T17:03:00-07:00
Merge pull request #226 from mapbox/c++-math

use std::fabs instead of clib fabs
- - - - -
02050868 by Eric Fischer at 2016-04-27T10:45:17-07:00
Fix memory leak of temporary filenames

- - - - -
6a37ea4e by Eric Fischer at 2016-04-27T10:45:25-07:00
Fix leaks of input source lists and bounding boxes

- - - - -
60318e66 by Eric Fischer at 2016-04-27T10:45:33-07:00
Fix leak of pools for -x and -y options

- - - - -
39c180a6 by Eric Fischer at 2016-04-27T10:45:41-07:00
Don't leak the non-GeoJSON objects in the JSON parse tree

- - - - -
1e16eb92 by Eric Fischer at 2016-04-27T10:45:55-07:00
Don't leak whatever is left of one parse tree when starting another

- - - - -
5cfd7cf6 by Eric Fischer at 2016-04-27T10:46:01-07:00
Don't leak layer names

- - - - -
87fea808 by Eric Fischer at 2016-04-27T10:51:54-07:00
Make indent, and finish writing a comment that I started

- - - - -
d35ef72a by Dane Springmeyer at 2016-04-27T11:46:05-07:00
fix 'runtime error: left shift of negative value -12' error - refs #227

- - - - -
3182930f by Dane Springmeyer at 2016-04-27T11:46:16-07:00
fix 'negation of 1 cannot be represented in type unsigned int' error - refs #227

- - - - -
d4504da2 by Eric Fischer at 2016-04-27T11:46:24-07:00
Rationalize the highest allowed maxzoom in terms of detail

- - - - -
737ae44d by Eric Fischer at 2016-04-27T11:57:46-07:00
Fix warnings about questionable numeric operations

- - - - -
8c7ac58b by Eric Fischer at 2016-04-27T12:11:24-07:00
Fix memory leaks and questionable arithmetic

Fix memory leaks and questionable arithmetic
- - - - -
b12413ed by Eric Fischer at 2016-04-27T12:22:47-07:00
Rename everything from .cc to .cpp to match other projects

- - - - -
d32d4bb3 by Eric Fischer at 2016-04-27T12:36:51-07:00
No need for line clipping to have its own source file

- - - - -
94db232a by Eric Fischer at 2016-04-27T12:38:04-07:00
Drag mbtiles handling into C++

- - - - -
575072bb by Eric Fischer at 2016-04-27T12:39:21-07:00
Drag projection math into C++

- - - - -
fb9f3b60 by Eric Fischer at 2016-04-27T12:40:19-07:00
Drag tileset enumeration into C++

- - - - -
3d56a564 by Eric Fischer at 2016-04-27T12:41:49-07:00
Drag memory-mapped file handling into C++

- - - - -
3f3a341c by Eric Fischer at 2016-04-27T12:44:46-07:00
Drag constant pool handling into C++

- - - - -
7b0bb9a4 by Eric Fischer at 2016-04-27T13:54:00-07:00
Drag the main function and GeoJSON parsing into C++

- - - - -
a57c2475 by Eric Fischer at 2016-04-27T13:55:28-07:00
Don't try to reindent Clipper and Protozero

- - - - -
65253cba by Eric Fischer at 2016-04-27T14:00:14-07:00
Drag header files into C++

- - - - -
f3b9e152 by Eric Fischer at 2016-04-27T14:19:10-07:00
Move serialization code to its own file

- - - - -
a52733eb by Eric Fischer at 2016-04-27T14:22:44-07:00
Use protozero functions for zigzag encoding and decoding

- - - - -
3662f1a6 by Eric Fischer at 2016-04-27T14:59:20-07:00
Split main program functions apart from GeoJSON parsing

- - - - -
ee97e6c3 by Eric Fischer at 2016-04-27T15:09:06-07:00
Whittle down tile.hpp to the things that actually related to tile.cpp

- - - - -
c4274303 by Eric Fischer at 2016-04-27T15:10:26-07:00
Fix indentation

- - - - -
24db559f by Eric Fischer at 2016-04-27T15:12:03-07:00
Fix complaint about duplicate #define

- - - - -
48a82039 by Eric Fischer at 2016-04-27T15:14:09-07:00
Oops, I didn't check main.cpp in.

- - - - -
2b393ad8 by Eric Fischer at 2016-04-27T15:33:30-07:00
Move jsonpull into a subdirectory like other included libraries

- - - - -
74491502 by Eric Fischer at 2016-04-27T15:41:40-07:00
Restore dependency on headers in subdirectories

- - - - -
666565e8 by Eric Fischer at 2016-04-27T15:52:05-07:00
Merge pull request #232 from mapbox/cplusplus

Convert everything to C++
- - - - -
5490f3e1 by Eric Fischer at 2016-04-28T11:52:09-07:00
Fix numeric overflow

- - - - -
40a6b7b3 by Eric Fischer at 2016-04-28T11:52:16-07:00
Another attempt to ensure that string hashing can't overflow

- - - - -
3f0904cc by Eric Fischer at 2016-04-28T11:56:30-07:00
Use std::string instead of malloc strings to make mbtiles metadata

- - - - -
444de1f0 by Eric Fischer at 2016-04-28T12:20:51-07:00
Get rid of malloc around layer names

- - - - -
f75d9e0d by Eric Fischer at 2016-04-28T12:46:40-07:00
Avoid needlessly constructing a temporary string

- - - - -
87b90a50 by Eric Fischer at 2016-04-28T12:57:03-07:00
Use std::set to track included and excluded feature properties

- - - - -
adc70341 by Eric Fischer at 2016-04-28T14:59:58-07:00
Use std::set to track the layer-wide feature attribute types.

Track them during parsing, not tiling.  Remove the old string pool code.

- - - - -
023ce036 by Eric Fischer at 2016-04-28T15:11:57-07:00
Fix indentation and bump version number

- - - - -
364450ad by Eric Fischer at 2016-04-28T16:41:18-07:00
Merge pull request #233 from mapbox/overflow

Make better use of the C++ standard library
- - - - -
1aac6866 by Eric Fischer at 2016-05-02T16:23:08-07:00
Update clipper to 9edc2924e39:

commit 9edc2924e39266d70774b0ed0e07329a95e76f10
Author: Blake Thompson <flippmoke at gmail.com>
Date:   Mon May 2 14:45:21 2016 -0400

	Updated to prevent segfault in case where specific iterator was being deleted
	and therefore, the range second no longer existed.

- - - - -
68c3bafa by Eric Fischer at 2016-05-02T16:31:10-07:00
Merge pull request #234 from mapbox/clipper-update

Update clipper to 9edc2924e39:
- - - - -
271ec3d1 by Eric Fischer at 2016-05-03T10:52:49-07:00
Stop using malloc for layer names

- - - - -
d712edcd by Eric Fischer at 2016-05-03T11:14:09-07:00
Stop using strdup for tile-join matching

- - - - -
9fcd0790 by Eric Fischer at 2016-05-03T11:30:53-07:00
Add a test from the tile-join example

- - - - -
5775d088 by Eric Fischer at 2016-05-03T11:40:36-07:00
Get rid of the strdup for attribution

- - - - -
f1b3f6d2 by Eric Fischer at 2016-05-03T15:48:42-07:00
Fix warnings about shadowed variables

- - - - -
ab3835d2 by Dane Springmeyer at 2016-05-03T16:18:44-07:00
[travis] add linux jobs that run address and integer sanitizers

- - - - -
43ffd6fe by Eric Fischer at 2016-05-03T16:34:19-07:00
Fix the warnings about the unused array of option names

- - - - -
0f1d2e42 by Eric Fischer at 2016-05-03T16:39:26-07:00
Fix additional g++ warnings

- - - - -
1ce3f950 by Dane Springmeyer at 2016-05-03T16:43:02-07:00
Merge pull request #236 from mapbox/enable-sanitizers

Add linux jobs that run address and integer sanitizers
- - - - -
808de537 by Eric Fischer at 2016-05-03T16:47:29-07:00
Bump version number

- - - - -
0bd06c6d by Eric Fischer at 2016-05-03T17:06:52-07:00
Merge branch 'master' into malloc

- - - - -
fa523bff by Eric Fischer at 2016-05-03T17:20:39-07:00
Merge pull request #235 from mapbox/malloc

Remove more uses of malloc; fix more warnings
- - - - -
5cc6d97d by Eric Fischer at 2016-05-05T13:42:32-07:00
Don't let polygons with nonzero area disappear during cleaning

If they collapse, turn them into placeholder squares with the
appropriate area so that there aren't visible coverage gaps.

- - - - -
f920c05c by Eric Fischer at 2016-05-05T14:55:52-07:00
Merge pull request #241 from mapbox/save-polygons

Don't let polygons with nonzero area disappear during cleaning
- - - - -
4f01b13f by Eric Fischer at 2016-05-09T16:01:10-07:00
Let zoom level 0 have just as much extent and buffer as any other zoom

- - - - -
24327e19 by Eric Fischer at 2016-05-10T12:13:03-07:00
Fix area calculation for polygon rings in tippecanoe-decode

- - - - -
2a5e2091 by Eric Fischer at 2016-05-10T13:29:14-07:00
Mention decoding fix in changelog

- - - - -
167f3c59 by Eric Fischer at 2016-05-10T16:39:54-07:00
Missed updating this test output

- - - - -
3655a54d by Eric Fischer at 2016-05-10T16:46:45-07:00
Add the ability to inline metadata with geometry

- - - - -
cc4a2736 by Eric Fischer at 2016-05-10T16:55:39-07:00
Merge pull request #243 from mapbox/z0-extent

Fix clipping extent at z0, and area calculation in tippecanoe-decode
- - - - -
c0edefa7 by Eric Fischer at 2016-05-11T14:23:39-07:00
Pack structures tighter to use a little less memory

- - - - -
f0e90620 by Eric Fischer at 2016-05-11T14:47:23-07:00
A little more structure packing

- - - - -
331deca4 by Eric Fischer at 2016-05-13T15:45:33-07:00
Use bitfields to further reduce data structure size

- - - - -
b80081ec by Eric Fischer at 2016-05-13T15:59:07-07:00
Merge pull request #247 from mapbox/less-memory

Pack structures tighter to use a little less memory
- - - - -
f03fbdb5 by Eric Fischer at 2016-05-17T15:43:42-07:00
Fail gracefully if input to tippecanoe-decode isn't a vector tile

- - - - -
bba1c13b by Eric Fischer at 2016-05-20T17:50:20-07:00
Warn if a feature that won't be clipped covers several tiles

- - - - -
0f02e9fa by Eric Fischer at 2016-05-23T15:45:55-07:00
Fix uninitialized variable

- - - - -
4638c6f2 by Eric Fischer at 2016-05-23T15:57:28-07:00
Merge branch 'master' into inline-meta2

Conflicts:
	tile.cpp

- - - - -
fa7a52d0 by Eric Fischer at 2016-05-23T17:44:41-07:00
Bump version number

- - - - -
e253bbfe by Eric Fischer at 2016-05-25T11:08:04-07:00
Round upward to catch narrow-but-tall or wide-but-short features

- - - - -
1d636e5c by Eric Fischer at 2016-05-25T11:38:52-07:00
Consistently treat "prevent" and "additional" options as globals

- - - - -
b5c5d9da by Eric Fischer at 2016-05-25T11:53:41-07:00
Merge pull request #249 from mapbox/decode-check-error

Fail gracefully if input to tippecanoe-decode isn't a vector tile
- - - - -
4030cc7c by Eric Fischer at 2016-05-25T11:53:57-07:00
Merge pull request #245 from mapbox/inline-meta2

Add the ability to inline metadata with geometry
- - - - -
692112ec by Eric Fischer at 2016-05-27T16:25:40-07:00
Add an option to calculate feature density as a feature attribute

- - - - -
9d0a4152 by Eric Fischer at 2016-05-27T16:33:56-07:00
Forgot to add the test

- - - - -
20b0fe1a by Eric Fischer at 2016-05-27T16:35:46-07:00
Revert unneeded change

- - - - -
5da636ba by Eric Fischer at 2016-05-27T17:34:27-07:00
Merge pull request #252 from mapbox/glow-map2

Add an option to calculate feature density as a feature attribute
- - - - -
af412e20 by Eric Fischer at 2016-06-01T15:49:41-07:00
Add minimal support for alternate input projections

- - - - -
e1427ab9 by Eric Fischer at 2016-06-01T15:51:55-07:00
Fix the check for an unsupported projection

- - - - -
2578781a by Eric Fischer at 2016-06-01T16:08:51-07:00
Forgot to check in the input file for the test

- - - - -
a504840b by Eric Fischer at 2016-06-01T16:55:52-07:00
Warn if the GeoJSON specifies a different projection

- - - - -
de46cfa7 by Eric Fischer at 2016-06-01T17:09:20-07:00
Do the more common check first. Forgot to swap these max/min pairs.

- - - - -
7c0c8e04 by Eric Fischer at 2016-06-01T17:20:19-07:00
Merge pull request #253 from mapbox/epsg-3857

Add minimal support for alternate input projections
- - - - -
cf4a51c8 by Eric Fischer at 2016-06-06T17:21:29-07:00
Try to use Mason builds for clang

- - - - -
d18f93df by Eric Fischer at 2016-06-06T17:27:32-07:00
Add libstdc++ packages

- - - - -
864440e9 by Eric Fischer at 2016-06-06T17:35:19-07:00
Merge pull request #255 from mapbox/clang-mason

Try to use Mason builds for clang
- - - - -
3d023f34 by Eric Fischer at 2016-06-10T15:53:59-07:00
Fix a tile-join bug that would retain fields that were supposed to be excluded

- - - - -
8cae9971 by Eric Fischer at 2016-06-10T15:59:37-07:00
Forgot to fix this test output

- - - - -
d170ebc3 by Eric Fischer at 2016-06-10T16:13:12-07:00
Merge pull request #259 from mapbox/tile-join-x

Fix a tile-join bug that would retain fields that were supposed to be…
- - - - -
c40ec6c1 by Eric Fischer at 2016-06-16T12:31:48-07:00
Fix the tile layer version number in tile-join output

- - - - -
850a36b2 by Eric Fischer at 2016-06-16T12:33:38-07:00
Update clang-format options for clang-format 3.9.0

- - - - -
0975c916 by Eric Fischer at 2016-06-16T12:37:46-07:00
Rebuild documentation

- - - - -
ae50abef by Eric Fischer at 2016-06-16T12:50:08-07:00
Add layer version and extent to tippecanoe-decode output and test standards

- - - - -
f552e695 by Eric Fischer at 2016-06-16T13:00:55-07:00
Missed one test

- - - - -
d352cd0f by Eric Fischer at 2016-06-16T13:12:33-07:00
Merge pull request #262 from mapbox/tile-join-version

Fix the tile layer version number in tile-join output
- - - - -
e31908bf by Andrew Harvey at 2016-06-20T16:52:12+10:00
add new line to end of Usage information

- - - - -
e48e2152 by Eric Fischer at 2016-06-20T10:00:15-07:00
Merge pull request #263 from andrewharvey/master

add new line to end of Usage information
- - - - -
5d06f01e by Eric Fischer at 2016-06-28T15:18:27-07:00
Add the ability to tippecanoe-decode into EPSG:3857 instead of WGS84

- - - - -
32fed3b7 by Eric Fischer at 2016-06-28T15:29:37-07:00
Add the CRS to the tippecanoe-decode output if nonstandard

- - - - -
6bc9c5c1 by Eric Fischer at 2016-06-28T16:32:10-07:00
Merge pull request #265 from mapbox/decode-projection

Add the ability to tippecanoe-decode into EPSG:3857 instead of WGS84
- - - - -
40f2f61d by Eric Fischer at 2016-07-08T15:49:59-07:00
Fix double-counted progress in the progress indicator

- - - - -
85b27d3a by Eric Fischer at 2016-07-08T16:13:19-07:00
Merge pull request #269 from mapbox/fix-progress

Fix double-counted progress in the progress indicator
- - - - -
d127c435 by Eric Fischer at 2016-07-11T17:45:12-07:00
Be even more careful not to produce features with empty geometry

- - - - -
09ab0134 by Eric Fischer at 2016-07-11T20:46:24-07:00
Merge pull request #270 from mapbox/empty-features

Be even more careful not to produce features with empty geometry
- - - - -
666729e3 by Eric Fischer at 2016-07-12T15:52:02-07:00
Test that an empty feature is no longer generated (here in tile 11/328/791)

- - - - -
cb45f1c3 by Eric Fischer at 2016-07-12T15:56:57-07:00
That's still not right. Don't generate a tile with no layers.

- - - - -
9908db5e by Eric Fischer at 2016-07-12T16:51:56-07:00
Add an option to vary the level of line and polygon simplification

- - - - -
26e21b0b by Eric Fischer at 2016-07-12T17:48:43-07:00
Merge pull request #271 from mapbox/empty-features

Test that an empty feature is no longer generated (here in tile 11/328/791)
- - - - -
92e32343 by Eric Fischer at 2016-07-13T13:00:38-07:00
Fix error checking when reading empty files with parallel input

- - - - -
f9609302 by Eric Fischer at 2016-07-13T13:50:45-07:00
Bump version number

- - - - -
a1f85646 by Eric Fischer at 2016-07-13T16:00:45-07:00
Merge pull request #273 from mapbox/empty-parallel

Fix error checking when reading empty files with parallel input
- - - - -
2bc1b9bd by Eric Fischer at 2016-07-15T13:58:15-07:00
Support feature IDs for decoding

- - - - -
488dff0e by Eric Fischer at 2016-07-15T15:00:56-07:00
Encode the "id" field of GeoJSON objects as vector tile feature ID

- - - - -
7c664dad by Eric Fischer at 2016-07-15T15:25:42-07:00
Merge pull request #275 from mapbox/feature-id

Encode the "id" field of GeoJSON objects as vector tile feature ID
- - - - -
10b9af81 by Eric Fischer at 2016-07-15T15:32:37-07:00
Fix wrongly-nested parentheses

- - - - -
1b1b7454 by Eric Fischer at 2016-07-15T15:40:46-07:00
Merge pull request #276 from mapbox/feature-id

Fix wrongly-nested parentheses
- - - - -
e7605213 by Eric Fischer at 2016-08-01T11:03:35-07:00
Fix the spelling of the --preserve-input-order option

- - - - -
6f58d31b by Eric Fischer at 2016-08-01T11:04:08-07:00
Merge pull request #279 from mapbox/fix-preserve

Fix the spelling of the --preserve-input-order option
- - - - -
6d6c1abc by Eric Fischer at 2016-08-01T14:29:30-07:00
Parse GeoJSON geometry into memory instead of straight to a file

- - - - -
67272bfe by Eric Fischer at 2016-08-01T17:35:37-07:00
Move polygon winding fixup out of tiling and into parsing

- - - - -
84370c59 by Eric Fischer at 2016-08-02T14:07:56-07:00
Get rid of some more explicit memory management

- - - - -
6de7920c by Eric Fischer at 2016-08-02T14:53:30-07:00
Separate data gathering from serialization a little better

- - - - -
bf571571 by Eric Fischer at 2016-08-08T15:36:49-07:00
Factor out (initial) feature serialization

- - - - -
8b339abd by Eric Fischer at 2016-08-08T17:08:36-07:00
Use the same serialization in both places, and add sanity checks

- - - - -
475ce9dd by Eric Fischer at 2016-08-08T17:14:48-07:00
Fix g++ compiler warnings

- - - - -
9ef9954d by Eric Fischer at 2016-08-10T12:08:15-07:00
Don't say "dataset"

- - - - -
be6e3c88 by Eric Fischer at 2016-08-10T14:17:36-07:00
Merge pull request #281 from mapbox/dataset

Don't say "dataset"
- - - - -
b2aa6de8 by Eric Fischer at 2016-08-15T13:11:35-07:00
Provide some JSON context when reporting parsing errors

- - - - -
938e6a9e by Eric Fischer at 2016-08-15T14:04:06-07:00
Merge pull request #280 from mapbox/fragment-geometry

Move polygon winding fixup out of tiling and into parsing
- - - - -
c85303aa by Eric Fischer at 2016-08-16T13:21:15-07:00
Pass feature IDs through in tile-join

- - - - -
85fd49f2 by Eric Fischer at 2016-08-16T17:07:14-07:00
Merge pull request #284 from mapbox/join-id

Pass feature IDs through in tile-join
- - - - -
f7e64dca by Eric Fischer at 2016-08-23T15:33:53-07:00
Work in progress on being able to specify per-feature layer names

- - - - -
9161b74d by Eric Fischer at 2016-08-24T12:34:28-07:00
Don't try to revive a placeholder for a degenerate polygon with negative area

- - - - -
0d193131 by Eric Fischer at 2016-08-24T15:32:48-07:00
Use simpler calculation to intersect polygon edges with tile edges.

Add the polygon that produced a bad tile with the previous version
as a test.

- - - - -
6a7a1391 by Eric Fischer at 2016-08-25T13:45:12-07:00
Merge pull request #288 from mapbox/bad-polygon-revival

Don't try to revive a placeholder for a degenerate polygon with negative area
- - - - -
7f4ef431 by Eric Fischer at 2016-08-29T11:56:30-07:00
Fix spelling of --simplification in documentation

- - - - -
5a8a7216 by Eric Fischer at 2016-08-29T12:12:32-07:00
Merge pull request #293 from mapbox/simplification-readme

Fix spelling of --simplification in documentation
- - - - -
c26fa235 by Eric Fischer at 2016-08-29T14:59:28-07:00
Per-thread layermap will contain the file keys, not just a layer ID

- - - - -
7f49ce5c by Eric Fischer at 2016-08-29T16:38:57-07:00
Merge per-thread layer names and file keys

- - - - -
531c238c by Eric Fischer at 2016-08-29T17:42:46-07:00
Pass the layer maps through into tiling

- - - - -
31d2a373 by Eric Fischer at 2016-08-30T13:46:37-07:00
Get rid of the old file_keys

- - - - -
d4e1ee06 by Eric Fischer at 2016-08-30T14:02:51-07:00
Replace malloc/free with new/delete to fix parallel-reading crash

- - - - -
d490d847 by Eric Fischer at 2016-08-30T14:17:28-07:00
Remove unused layer count and layer name list

- - - - -
3e881a42 by Eric Fischer at 2016-08-30T14:38:30-07:00
Make a reverse-mapping table from layer IDs to names

- - - - -
1f534910 by Eric Fischer at 2016-08-30T14:59:53-07:00
Tile by layer names instead of by layer numbers

- - - - -
1bed5723 by Eric Fischer at 2016-08-30T15:05:33-07:00
Rename variables for clarity

- - - - -
d8ba9db3 by Eric Fischer at 2016-08-30T15:09:18-07:00
Remove unused layer count and layer name list

- - - - -
76739fd2 by Eric Fischer at 2016-08-30T15:32:09-07:00
Fix a typo so it actually works, and add a test and documentation

- - - - -
4dd3411c by Eric Fischer at 2016-08-30T15:33:51-07:00
Merge branch 'master' into named-layer

- - - - -
965f4c22 by Eric Fischer at 2016-08-30T15:36:22-07:00
Bump version number

- - - - -
b84b2b06 by Eric Fischer at 2016-08-30T16:56:19-07:00
Merge pull request #294 from mapbox/named-layer

Add the ability to specify layer names within the GeoJSON input
- - - - -
d130ca5d by Eric Samelson at 2016-09-06T12:00:35-07:00
Fix typo in README.md for --drop-rate option
- - - - -
c20eab97 by Eric Fischer at 2016-09-06T12:53:14-07:00
Merge pull request #296 from esamelson/patch-1

Fix typo in README.md for --drop-rate option
- - - - -
47288ec0 by Eric Fischer at 2016-09-19T15:29:13-07:00
The query-merge part of multi-source tile joining

- - - - -
a37fc361 by Eric Fischer at 2016-09-19T16:02:14-07:00
Merge tiles and layers. Differing extents not handled yet.

- - - - -
8d57f031 by Eric Fischer at 2016-09-19T16:25:30-07:00
Rescale geometry if layer extents don't match

- - - - -
7a30aeaa by Eric Fischer at 2016-09-19T16:34:06-07:00
Fix memory leak

- - - - -
470c0e2b by Eric Fischer at 2016-09-19T16:36:38-07:00
Remove debug output

- - - - -
232056c0 by Eric Fischer at 2016-09-19T16:53:41-07:00
Make the global per-layer list of attribute types

- - - - -
d7037f3d by Eric Fischer at 2016-09-19T17:20:44-07:00
Add tile-join -pk option not to care about byte limit. Update docs.

- - - - -
437152e0 by Eric Fischer at 2016-09-19T17:53:31-07:00
Track the minzoom and maxzoom for each layer separately

- - - - -
6c74f4a1 by Eric Fischer at 2016-09-20T10:17:02-07:00
Keep tile data in a string instead of a pointer into the query

- - - - -
021d792d by Eric Fischer at 2016-09-20T11:04:24-07:00
Getting ready for multithreaded tile-joining

- - - - -
87e4a338 by Eric Fischer at 2016-09-20T12:59:04-07:00
Essentials of multithreaded tile-joining

- - - - -
4ba98062 by Eric Fischer at 2016-09-20T14:19:40-07:00
Recover memory from the pre-joined tiles after joining

- - - - -
4fb54eae by Eric Fischer at 2016-09-20T15:53:10-07:00
A test of layer merging, tile merging, and extent scaling

- - - - -
083a2806 by Eric Fischer at 2016-09-20T16:01:10-07:00
Fix build errors on Linux (pthread library, signed comparison)

- - - - -
4912f4ad by Eric Fischer at 2016-09-20T16:53:46-07:00
Merge pull request #298 from mapbox/tile-join-merge

Give tile-join the ability to merge multiple tilesets
- - - - -
32f32e45 by Eric Fischer at 2016-09-21T12:32:03-07:00
Trim whitespace after commas in tile-join .csv input

- - - - -
dc86eb6b by Eric Fischer at 2016-09-21T13:30:28-07:00
Merge pull request #299 from mapbox/tile-join-whitespace

Trim whitespace after commas in tile-join .csv input
- - - - -
ef38318a by Eric Fischer at 2016-10-04T16:43:31-07:00
Enforce that string feature attributes must be encoded as UTF-8

- - - - -
9806db3c by Eric Fischer at 2016-10-05T14:55:32-07:00
Make UTF-8 checking into a unit test with Catch

- - - - -
d4d96689 by Eric Fischer at 2016-10-05T15:01:47-07:00
Forgot to test the emoji case

- - - - -
04157e77 by Eric Fischer at 2016-10-05T15:54:58-07:00
Merge pull request #304 from mapbox/utf8-check

Enforce that string feature attributes must be encoded as UTF-8
- - - - -
f7daa055 by Eric Fischer at 2016-10-05T17:16:18-07:00
Add a critical point where the set of rings using a polygon edge changes

- - - - -
2bc9e159 by Eric Fischer at 2016-10-05T17:16:18-07:00
Roll rings around so they start at an intersection transition, if any

- - - - -
6b407668 by Eric Fischer at 2016-10-05T17:16:18-07:00
Find a common-edge transition if it's the first point of the ring

- - - - -
59619fb6 by Eric Fischer at 2016-10-05T17:16:18-07:00
Crunch out zero-length linetos to improve the match

- - - - -
91bfc2ca by Eric Fischer at 2016-10-05T17:16:18-07:00
Choose a consistent starting point for rings with no shared edges

- - - - -
57cc3438 by Eric Fischer at 2016-10-05T17:16:18-07:00
Most of the way toward TopoJSON-style factoring out of edges

- - - - -
d35dc493 by Eric Fischer at 2016-10-05T17:16:18-07:00
If a point divides one border, it divides any that touch there

- - - - -
2b428069 by Eric Fischer at 2016-10-05T17:16:18-07:00
Extract common edges, simplify, then reassemble polygon rings

- - - - -
938274aa by Eric Fischer at 2016-10-05T17:16:18-07:00
Remove more debugging code

- - - - -
6455b663 by Eric Fischer at 2016-10-05T17:16:18-07:00
Remember to honor --no-line-simplification if it was requested

- - - - -
46b634ce by Eric Fischer at 2016-10-05T17:16:18-07:00
Remember to close the polygon

- - - - -
4c1b1358 by Eric Fischer at 2016-10-05T17:16:18-07:00
Save a little time by only looking up each segment once

- - - - -
7258643d by Eric Fischer at 2016-10-05T17:16:18-07:00
A sorted list is smaller and faster than a map of sets

- - - - -
896c9d83 by Eric Fischer at 2016-10-06T16:16:51-07:00
Rename option to --detect-shared-borders and add a test

- - - - -
c8a1b082 by Eric Fischer at 2016-10-10T15:31:09-07:00
Don't serialize the per-feature minzoom until geometry merging time

- - - - -
5ab41417 by Eric Fischer at 2016-10-10T17:15:33-07:00
Calculate feature-dropping (except gamma) during geometry reordering

- - - - -
d381f5a9 by Eric Fischer at 2016-10-11T12:05:50-07:00
Make the feature counter global, not reset with each merge phase

- - - - -
08310d95 by Eric Fischer at 2016-10-11T12:42:20-07:00
Forgot this other place where final geometry can be written out

- - - - -
9d37bd10 by Eric Fischer at 2016-10-11T15:13:27-07:00
Keep start/end in tue merged index pointing to final geometry offsets

- - - - -
948ea138 by Eric Fischer at 2016-10-11T17:24:22-07:00
Do a fixup pass on the feature minzooms after base/rate calculation

- - - - -
81d8fe21 by Eric Fischer at 2016-10-11T17:47:53-07:00
Fix structure packing to fix polygon dropping

- - - - -
081e3308 by Eric Fischer at 2016-10-12T09:49:25-07:00
Reset counter with each tile, to match old low-zoom feature density

- - - - -
2e9971c6 by Eric Fischer at 2016-10-12T10:41:01-07:00
Remake test standards after inspection

- - - - -
c4ee5d3e by Eric Fischer at 2016-10-12T13:21:29-07:00
Autogenerate header dependencies

Following http://scottmcpeak.com/autodepend/autodepend.html

- - - - -
b26e6a5a by Eric Fischer at 2016-10-12T14:07:41-07:00
This should have been linking as C++, not C

- - - - -
abac4f2b by Eric Fischer at 2016-10-12T16:09:19-07:00
Merge pull request #308 from mapbox/deps

Autogenerate header dependencies
- - - - -
bbfc7c67 by Eric Fischer at 2016-10-12T16:27:05-07:00
There should be a test of tippecanoe-enumerate

- - - - -
6aee0d39 by Eric Fischer at 2016-10-13T10:25:00-07:00
Merge pull request #309 from mapbox/enumerate-test

There should be a test of tippecanoe-enumerate
- - - - -
a5d803aa by Eric Fischer at 2016-10-14T12:15:23-07:00
Lots of debug output to try to track down Mac/Linux differences

- - - - -
9160e6ad by Eric Fischer at 2016-10-14T12:19:56-07:00
Guard against uninitialized variables

- - - - -
feb9b448 by Eric Fischer at 2016-10-14T12:27:24-07:00
Stabilize edge list order by also comparing ring IDs

- - - - -
71bf20b2 by Eric Fischer at 2016-10-14T12:30:54-07:00
Remove debug output

- - - - -
2a856b49 by Eric Fischer at 2016-10-14T15:34:25-07:00
Merge pull request #302 from mapbox/simplify-polygons-together

Find edges shared between polygons and simplify them individually
- - - - -
82377944 by Eric Fischer at 2016-10-14T15:35:35-07:00
Merge branch 'master' into consistent-dropping

- - - - -
1f38e85f by Eric Fischer at 2016-10-14T15:42:01-07:00
Bump version number and fix out-of-date documentation

- - - - -
eb1c64db by Eric Fischer at 2016-10-14T15:48:35-07:00
Fix use of 32-bit zigzag encoding/decoding for 64-bit integers

- - - - -
92cc08a5 by Eric Fischer at 2016-10-14T17:11:57-07:00
Fix some compiler warnings about signed comparisons

- - - - -
17cd74d7 by Eric Fischer at 2016-10-17T13:29:39-07:00
Remove warning flag that gcc doesn't support

- - - - -
e1655941 by Eric Fischer at 2016-10-17T13:53:52-07:00
Add a test where the base zoom is beyond the max zoom

- - - - -
1cfc5826 by Eric Fischer at 2016-10-18T15:28:31-07:00
Merge pull request #310 from mapbox/consistent-dropping

Make feature dropping consistent across tile boundaries and zoom levels
- - - - -
83e73e88 by Eric Fischer at 2016-10-24T12:29:36-07:00
Add an option to dynamically increase gamma until tiles are small enough

- - - - -
3cc95231 by Eric Fischer at 2016-10-24T15:06:49-07:00
Work on merging together adjacent polygons to reduce tile size

- - - - -
7cb7fc49 by Eric Fischer at 2016-10-24T15:06:57-07:00
Fix where I was inserting the copied ring in backwards order

- - - - -
f32916c4 by Eric Fischer at 2016-10-24T15:33:14-07:00
Tests of the three current strategies for reducing tile size

- - - - -
2798bf7b by Eric Fischer at 2016-10-24T17:22:07-07:00
Add an option to merge adjacent polygons together to reduce tile size

- - - - -
057d7b75 by Eric Fischer at 2016-10-24T17:58:26-07:00
Iterate over arcs, not polygons, when merging

- - - - -
1594a09e by Andrew Harvey at 2016-10-25T16:17:49+11:00
update clean target to remove all built files
- - - - -
4b3fc4ae by Eric Fischer at 2016-10-25T10:01:18-07:00
Track the new identity of merged polygons so they can be merged further

- - - - -
feb8ac01 by Eric Fischer at 2016-10-25T10:03:43-07:00
Merge pull request #313 from andrewharvey/patch-1

update clean target to remove all built files
- - - - -
667e8f7a by Eric Fischer at 2016-10-25T14:13:55-07:00
Use the same discovered gamma across all tiles of a zoom level

- - - - -
db859e88 by Eric Fischer at 2016-10-25T15:21:00-07:00
Reorder which tile-shrinking strategy to try first

- - - - -
10fc9254 by Eric Fischer at 2016-10-25T16:28:32-07:00
Add an option to discover the minimum workable gap between features

- - - - -
565b5dc6 by Eric Fischer at 2016-10-25T16:39:41-07:00
Add a test of discovering the minimum workable feature spacing

- - - - -
7727b3a9 by Eric Fischer at 2016-10-26T10:40:53-07:00
Start each tile's gamma/mingap at the same point to help flaky tests

- - - - -
9fbc7b9a by Eric Fischer at 2016-10-26T15:33:46-07:00
Add an ignored third coordinate to improve code coverage

- - - - -
93d3c405 by Eric Fischer at 2016-10-26T15:43:46-07:00
Remove dead code

- - - - -
82961904 by Eric Fischer at 2016-10-26T15:47:26-07:00
Remove leftovers from early versions of --detect-shared-borders

- - - - -
7e6aa19d by Eric Fischer at 2016-10-26T15:57:24-07:00
Make sure memfile growth gets tested

- - - - -
80e51591 by Eric Fischer at 2016-10-26T16:00:59-07:00
Remove dead code

- - - - -
0834626d by Eric Fischer at 2016-10-27T11:39:50-07:00
More careful JSON parsing thanks to http://seriot.ch/parsing_json.html

- - - - -
2e026f9b by Eric Fischer at 2016-10-27T14:37:46-07:00
Use float instead of double in tiles if the value comes out the same

- - - - -
faa5720e by Eric Fischer at 2016-11-01T16:31:45-07:00
Remove dead code

- - - - -
d0db3323 by Eric Fischer at 2016-11-02T14:25:04-07:00
Binary search to find gap that leaves the desired fraction of features

- - - - -
2e3ba8f3 by Eric Fischer at 2016-11-02T15:11:22-07:00
Retain original feature index rather than recalculating

For better density calculation of clipped features

- - - - -
689f2ef7 by Eric Fischer at 2016-11-02T16:57:35-07:00
Make better guesses about what gap will make a tile small enough

- - - - -
a8bdbe80 by Eric Fischer at 2016-11-03T17:13:11-07:00
Fix the progress indicator when doing two passes over each zoom level

- - - - -
700ca489 by Eric Fischer at 2016-11-03T17:49:32-07:00
Fix flakiness: don't decrease the global feature gap

- - - - -
ee48be26 by Eric Fischer at 2016-11-04T11:15:53-07:00
Rename -k to -M before I regret that the unit for it is not kilobytes

- - - - -
38ce49d2 by Eric Fischer at 2016-11-04T12:26:13-07:00
Another option for plain fractional dropping, but across the whole zoom

- - - - -
013e6512 by Eric Fischer at 2016-11-09T17:09:05-08:00
Add an option to drop the smallest features to make tiles small enough

- - - - -
32aa6530 by Eric Fischer at 2016-11-11T17:37:46-08:00
Don't spend geometry space on index or extent unless it is needed

- - - - -
9ea29601 by Eric Fischer at 2016-11-14T11:22:21-08:00
Don't let line simplification reduce a polygon ring to below 3 points

- - - - -
eb1c724f by jingsam at 2016-11-16T16:10:41+08:00
Create .gitignore
- - - - -
a69a087b by Eric Fischer at 2016-11-16T10:25:26-08:00
Merge pull request #319 from jingsam/patch-1

Create .gitignore
- - - - -
439b544c by Eric Fischer at 2016-11-16T17:35:25-08:00
Don't serialize the feature sequence number unless needed for -pi

- - - - -
5479e59a by Eric Fischer at 2016-11-17T10:11:59-08:00
Save another byte in features that have no metadata

- - - - -
dc9e68b1 by Eric Fischer at 2016-11-17T12:40:11-08:00
Make feature-dropping option names a little more consistent

- - - - -
e9aa8c1b by Eric Fischer at 2016-11-21T11:26:37-08:00
Add an option to prevent tiny polygon reduction

- - - - -
bedace67 by Eric Fischer at 2016-11-21T13:36:31-08:00
Remove --merge-polygons-as-needed until it works well. Bump version.

- - - - -
2d022c6c by Eric Fischer at 2016-11-21T14:33:23-08:00
Merge pull request #312 from mapbox/dynamic-gamma

Add an option to dynamically increase gamma until tiles are small enough
- - - - -
c867ce5f by Eric Fischer at 2016-11-23T13:57:32-08:00
Stop --drop-smallest-as-needed from always dropping all points

- - - - -
c68d553e by Eric Fischer at 2016-11-23T15:10:25-08:00
Merge pull request #323 from mapbox/point-area

Stop --drop-smallest-as-needed from always dropping all points
- - - - -
0db8d9ed by Eric Fischer at 2016-11-28T15:45:38-08:00
Option to snap low zooms to a stairstep grid

- - - - -
f1ff7301 by Eric Fischer at 2016-11-28T16:32:54-08:00
Add a test for grid snapping

- - - - -
ab9eafa0 by Eric Fischer at 2016-11-29T13:59:15-08:00
Merge pull request #325 from mapbox/gridded

Option to snap low zooms to a stairstep grid
- - - - -
f6d5d180 by Eric Fischer at 2016-11-29T15:18:44-08:00
Round coordinates in low-zoom grid instead of truncating

To avoid rounding error if features are already tile-grid-aligned

- - - - -
afa782fb by Eric Fischer at 2016-11-30T14:31:23-08:00
Merge pull request #328 from mapbox/grid-snap-rounding

Round coordinates in low-zoom grid instead of truncating
- - - - -
e8c5759f by Eric Fischer at 2016-12-06T15:36:10-08:00
Dot-dropping doesn't apply if there is a per-feature minzoom tag

- - - - -
785d341c by Eric Fischer at 2016-12-06T16:03:00-08:00
Merge pull request #331 from mapbox/no-dropping-if-zoom-tagged

Dot-dropping doesn't apply if there is a per-feature minzoom tag
- - - - -
bdd2632f by Dane Springmeyer at 2016-12-06T16:52:37-08:00
clean all binary programs

- - - - -
adfceed5 by Eric Fischer at 2016-12-06T17:19:22-08:00
Factor out conversion from vector tile to GeoJSON

- - - - -
94bebbd2 by Eric Fischer at 2016-12-06T17:19:22-08:00
Write GeoJSON to the filter and read (but don't parse) what comes back

- - - - -
72478ae1 by Eric Fischer at 2016-12-06T17:19:22-08:00
Be more consistent about checking for errors from close()

- - - - -
112f451c by Eric Fischer at 2016-12-06T17:19:22-08:00
Move JSON-writing again to keep it from requiring all plugin code

- - - - -
42564732 by Eric Fischer at 2016-12-06T17:19:22-08:00
More reorganization to reuse JSON parsing

- - - - -
c82e3e98 by Eric Fischer at 2016-12-06T17:19:22-08:00
Factor out parsing the geometry coordinate array

- - - - -
679189e5 by Eric Fischer at 2016-12-06T17:19:22-08:00
Parse JSON coming back in and turn it back into features

- - - - -
d8fe69a9 by Eric Fischer at 2016-12-06T17:19:22-08:00
Round coordinates instead of truncating to avoid projection error

- - - - -
7514797c by Eric Fischer at 2016-12-06T17:25:23-08:00
Add missing #includes

- - - - -
87d86ecf by Eric Fischer at 2016-12-07T10:57:56-08:00
Set close-on-exec flag for most file descriptors

- - - - -
3d1ceac9 by Eric Fischer at 2016-12-07T11:16:34-08:00
Lock around setup of pipeline and filter process

- - - - -
58e26877 by Eric Fischer at 2016-12-07T11:19:29-08:00
Missed a file for the close-on-exec flag

- - - - -
a114a890 by Eric Fischer at 2016-12-07T11:26:03-08:00
Keep from leaking other pipe file descriptors to unrelated children

- - - - -
5554b9cb by Eric Fischer at 2016-12-07T12:15:57-08:00
Add the command-line option to specify the filter

- - - - -
89bfd27a by Eric Fischer at 2016-12-07T14:09:51-08:00
Copy of variant-1.1.4 (02bd1ac)

- - - - -
c0d5171f by Eric Fischer at 2016-12-07T14:11:53-08:00
Copy of geometry.hpp-0.9.0 (e3acceb)

- - - - -
22cb5186 by Eric Fischer at 2016-12-07T14:14:56-08:00
Copy of wagyu-0.2.0 (b3fa127)

- - - - -
a4f5406c by Eric Fischer at 2016-12-07T14:29:09-08:00
Switch polygon topology correction from Clipper to Wagyu

- - - - -
3f14a0dd by Eric Fischer at 2016-12-07T16:17:17-08:00
Factor out conversion from JSON types to vector tile attribute types

- - - - -
8cf81483 by Eric Fischer at 2016-12-08T10:31:27-08:00
Add missing #include

- - - - -
6530e155 by Eric Fischer at 2016-12-08T11:14:06-08:00
Don't put a comma between features in filter output

- - - - -
5960a15f by Eric Fischer at 2016-12-08T12:33:02-08:00
Add magic #defines to avoid default small Mac stdio limits

- - - - -
e3823c96 by Eric Fischer at 2016-12-08T14:02:06-08:00
Use more idiomatic C++ to quote JSON strings

- - - - -
d1dc310b by Eric Fischer at 2016-12-08T15:13:38-08:00
The GeoJSON-producing part of prefiltering

- - - - -
d940eb1c by Eric Fischer at 2016-12-08T15:46:12-08:00
Factor out filter setup from the reading and writing loops

- - - - -
16df86c2 by Eric Fischer at 2016-12-08T16:13:02-08:00
Set up and tear down the prefilter pipeline

- - - - -
56982532 by Eric Fischer at 2016-12-08T17:11:37-08:00
Factor out feature deserialization

- - - - -
daf1941b by Eric Fischer at 2016-12-08T17:22:07-08:00
Add missing #include

- - - - -
5194a39c by Eric Fischer at 2016-12-09T10:47:03-08:00
Factor out clipping to tile boundaries; test random attributes & layers

- - - - -
9f10f48b by Eric Fischer at 2016-12-09T11:53:50-08:00
Pull feature deserialization and rewriting out of the loop

- - - - -
c8a89150 by Eric Fischer at 2016-12-09T14:01:07-08:00
Push prefilter writing into a thread (but something is crashing)

- - - - -
a338f539 by Eric Fischer at 2016-12-09T14:15:17-08:00
Fix where I was closing the prefilter pipe in the wrong thread

- - - - -
0e5b5136 by Eric Fischer at 2016-12-09T15:35:57-08:00
Start getting features (just geometry so far) back from the prefilter

- - - - -
5dc773ff by Eric Fischer at 2016-12-09T15:54:47-08:00
Carry attribute keys and values through from the prefilter

- - - - -
57ff54e6 by Eric Fischer at 2016-12-09T16:35:41-08:00
Fix coordinate overflow by increasing integer size

- - - - -
5e7f718a by Eric Fischer at 2016-12-12T15:21:05-08:00
Fill out layermaps when reading the output of the postfilter

- - - - -
9c0e2cdf by Eric Fischer at 2016-12-12T16:08:08-08:00
Fill out layermaps when reading the output of the prefilter

- - - - -
ad4060ec by Eric Fischer at 2016-12-12T16:12:22-08:00
Fix coordinate rounding error in the prefilter

- - - - -
c2fa8e36 by Eric Fischer at 2016-12-12T17:00:45-08:00
Switch the segment and layer ID based on prefilter output

- - - - -
f9281339 by Eric Fischer at 2016-12-13T14:35:51-08:00
Don't allow two attributes with the same name, and strip \r from CSV.

- - - - -
ce3ffee8 by Eric Fischer at 2016-12-13T15:24:15-08:00
Merge pull request #336 from mapbox/tile-join-fixes

Don't allow two attributes with the same name, and strip \r from CSV.
- - - - -
af3d48e5 by Eric Fischer at 2016-12-13T16:19:38-08:00
Fix integer overflow identified by -fsanitize=integer

- - - - -
d7d5bed7 by Eric Fischer at 2016-12-13T16:55:33-08:00
Remove duplicate vertices before calling wagyu

- - - - -
3e4fcd22 by Eric Fischer at 2016-12-13T17:28:27-08:00
Merge pull request #337 from mapbox/sanitize-integer

Fix integer overflow identified by -fsanitize=integer
- - - - -
56e1f55b by Eric Fischer at 2016-12-13T17:54:55-08:00
Fix warnings identified by g++

- - - - -
5549789d by Eric Fischer at 2016-12-14T11:11:29-08:00
Merge pull request #338 from mapbox/warnings

Fix warnings identified by g++
- - - - -
b3c116b9 by Eric Fischer at 2016-12-14T11:12:07-08:00
Merge branch 'master' into wagyu-clean

- - - - -
4fc671f1 by Eric Fischer at 2016-12-14T11:29:58-08:00
Merge branch 'master' into plugins

- - - - -
275d2573 by Eric Fischer at 2016-12-14T14:14:55-08:00
Update to wagyu-0.2.1 (eec53a6)

- - - - -
78d91b3f by Eric Fischer at 2016-12-14T16:13:31-08:00
Merge pull request #333 from mapbox/wagyu-clean

Switch polygon topology correction from Clipper to Wagyu
- - - - -
6a2e8076 by Eric Fischer at 2016-12-16T12:22:38-08:00
Choose a deeper initial tile than 0/0/0 if one contains all the features

- - - - -
8ab5bb48 by Eric Fischer at 2016-12-16T14:15:42-08:00
Merge pull request #341 from mapbox/choose-first-tile

Choose a deeper initial tile than 0/0/0 if one contains all the features
- - - - -
854dc2bc by Eric Fischer at 2016-12-20T14:15:06-08:00
Merge branch 'master' into plugins

- - - - -
a2060299 by Eric Fischer at 2016-12-20T15:59:10-08:00
Fix arithmetic overflow that was breaking some prefilter polygons

- - - - -
6a546176 by Eric Fischer at 2016-12-20T16:41:23-08:00
Fix reordering of attributes and failure to update layer name table

- - - - -
71ac6596 by Eric Fischer at 2016-12-21T10:10:22-08:00
Warn about broken pipes in filters instead of exiting abruptly

- - - - -
cf6a2d3a by Eric Fischer at 2016-12-21T11:47:49-08:00
Provide layer names to postfilter and read layer names back in

- - - - -
8e17c3aa by Eric Fischer at 2017-01-02T16:33:44-08:00
Update the layer list outside of the property loop

- - - - -
c87d6ead by Eric Fischer at 2017-01-03T12:20:52-08:00
Associate attributes with the right layer when explicitly tagged (#342)

- - - - -
e53c8ed7 by Eric Fischer at 2017-01-03T13:24:37-08:00
Merge pull request #343 from mapbox/attributes-for-named-layers

Associate attributes with the right layer when explicitly tagged (#342)
- - - - -
bf619a31 by Eric Fischer at 2017-01-03T13:25:05-08:00
Merge branch 'master' into plugins

- - - - -
bdac4d4e by Eric Fischer at 2017-01-04T16:33:43-08:00
Upgrade Wagyu to bfbf2893

- - - - -
c1ec4377 by Eric Fischer at 2017-01-04T17:16:17-08:00
Merge pull request #344 from mapbox/wagyu-bfbf2893

Upgrade Wagyu to bfbf2893
- - - - -
ece768bf by Andrew Harvey at 2017-01-05T14:49:11+11:00
include build-essential in Linux prerequisites
- - - - -
85920216 by Eric Fischer at 2017-01-05T10:15:16-08:00
Merge pull request #345 from andrewharvey/patch-2

Include build-essential in Linux prerequisites
- - - - -
3549aa35 by Eric Fischer at 2017-01-05T15:02:32-08:00
Merge branch 'master' into plugins

- - - - -
2fdec7d2 by Eric Fischer at 2017-01-06T16:24:09-08:00
Try using Wagyu's quick_clip

- - - - -
72086b7e by Eric Fischer at 2017-01-11T15:43:07-08:00
Upgrade Wagyu to cfc895 and use its Sutherland-Hodgman implementation

- - - - -
a00903ec by Eric Fischer at 2017-01-12T14:20:32-08:00
Merge pull request #347 from mapbox/wagyu-quick-clip

Use Wagyu's quick_clip
- - - - -
aa75f4a4 by Eric Fischer at 2017-01-12T16:03:55-08:00
Merge branch 'master' into plugins

- - - - -
150e3663 by Eric Fischer at 2017-01-13T14:59:11-08:00
Pass the index, sequence, and extent through the prefilter when needed

- - - - -
7b5069f2 by Eric Fischer at 2017-01-13T15:57:52-08:00
Start writing some documentation

- - - - -
801c5d65 by Eric Fischer at 2017-01-17T10:38:40-08:00
Add instructions for upgrading g++ on Linux

- - - - -
b3847c1d by Eric Fischer at 2017-01-17T15:06:32-08:00
Merge pull request #350 from mapbox/c++-readme

Add instructions for upgrading g++ on Linux
- - - - -
5a8f9f11 by Eric Fischer at 2017-01-18T14:26:17-08:00
Only warn once about non-numeric/non-integer/negative feature IDs

- - - - -
c67b5f33 by Eric Fischer at 2017-01-19T10:04:11-08:00
Merge pull request #352 from mapbox/warn-id

Only warn once about non-numeric/non-integer/negative feature IDs
- - - - -
47cb2434 by Eric Fischer at 2017-01-19T15:48:39-08:00
Merge branch 'master' into plugins

- - - - -
c74a9a83 by Eric Fischer at 2017-01-24T14:15:40-08:00
Add minzoom and maxzoom options to tippecanoe-decode

- - - - -
28b8f1c3 by Eric Fischer at 2017-01-25T10:47:06-08:00
Merge pull request #355 from mapbox/decode-zoomlevels

Add minzoom and maxzoom options to tippecanoe-decode
- - - - -
5c2106c0 by Eric Fischer at 2017-01-25T16:38:03-08:00
Merge branch 'master' into plugins

- - - - -
31f254ac by Eric Fischer at 2017-01-26T13:28:17-08:00
Upgrade to Wagyu 0.3.0; downgrade C++ requirement to C++ 11

- - - - -
a1fe8581 by Eric Fischer at 2017-01-26T15:26:20-08:00
Merge pull request #358 from mapbox/wagyu-030

Upgrade to Wagyu 0.3.0; downgrade C++ requirement to C++ 11
- - - - -
4517bd6e by Eric Fischer at 2017-02-06T14:10:50-08:00
Test with faulty replacement of polygons with big squares

- - - - -
62e1018c by Eric Fischer at 2017-02-06T14:14:34-08:00
Fix area of placeholders for degenerate multipolygons

- - - - -
1cc65d61 by Eric Fischer at 2017-02-08T11:52:27-08:00
Merge pull request #363 from mapbox/polygon-placeholder

Fix area of placeholders for degenerate multipolygons
- - - - -
1b68dcdc by Eric Fischer at 2017-02-17T13:25:56-08:00
Fix division by 0 by using more general and robust polygon-checking code

- - - - -
9c1f2b21 by Eric Fischer at 2017-02-17T14:14:55-08:00
Guard against potentially rounding to 0 when choosing sorting unit

- - - - -
55e7e20a by Eric Fischer at 2017-02-17T16:47:21-08:00
Add a check for environmental variable TIPPECANOE_MAX_THREADS

- - - - -
5bdbb8a9 by Eric Fischer at 2017-02-20T11:47:01-08:00
Bump version number

- - - - -
638cfef2 by Eric Fischer at 2017-02-20T14:09:42-08:00
Merge pull request #368 from mapbox/division-by-0

Fix division by 0 by using more general and robust polygon-checking code
- - - - -
218a2fc7 by Eric Fischer at 2017-02-20T16:19:34-08:00
Clean up layer name handling to fix layer merging crash

- - - - -
30a987d9 by Eric Fischer at 2017-02-20T17:24:24-08:00
Merge pull request #374 from mapbox/multilayer-crash

Clean up layer name handling to fix layer merging crash
- - - - -
835fafe3 by Eric Fischer at 2017-02-27T10:10:28-08:00
Add an option to decode only specified layers

- - - - -
3a1f074c by Eric Fischer at 2017-03-01T16:01:57-08:00
Add test and documentation for tippecanoe-decode -l

- - - - -
cef4d2cd by Eric Fischer at 2017-03-02T10:26:21-08:00
Merge pull request #376 from mapbox/decode-layer

Add an option to decode only specified layers
- - - - -
9cbbc4c6 by Eric Fischer at 2017-03-02T10:45:25-08:00
Merge branch 'master' into plugins-merge

- - - - -
c46f4cfc by Eric Fischer at 2017-03-02T12:08:08-08:00
Remove polygon splitting, since polygon cleaning is now fast enough

- - - - -
860189a5 by Eric Fischer at 2017-03-02T15:03:52-08:00
Merge pull request #378 from mapbox/no-polygon-splitting

Remove polygon splitting, since polygon cleaning is now fast enough
- - - - -
9c53268a by Eric Fischer at 2017-03-14T16:14:54-07:00
Stop processing zooms when a feature reaches its explicit maxzoom tag

- - - - -
bbf97163 by Eric Fischer at 2017-03-15T09:51:02-07:00
Merge pull request #380 from mapbox/short-circuit-maxzoom

Stop processing zooms when a feature reaches its explicit maxzoom tag
- - - - -
ea77e3db by Eric Fischer at 2017-03-15T13:37:50-07:00
Add --detect-longitude-wraparound option

- - - - -
8c6f6250 by Eric Fischer at 2017-03-15T16:10:20-07:00
Merge pull request #381 from mapbox/detect-wraparound

Add --detect-longitude-wraparound option
- - - - -
eaff7b93 by Eric Fischer at 2017-03-15T16:19:33-07:00
Merge branch 'master' into plugins

- - - - -
fa56adc5 by Eric Fischer at 2017-03-16T15:06:58-07:00
Clean up utility functions that are also used in other projects

- - - - -
1362ac44 by Eric Fischer at 2017-03-21T11:07:15-07:00
Add --description option to set mbtiles description

- - - - -
8777bdf5 by Eric Fischer at 2017-03-22T15:42:20-07:00
Merge pull request #382 from mapbox/reconcile

Add --description option
- - - - -
834ba192 by Eric Fischer at 2017-03-28T16:25:40-07:00
Add option for newline-delimited output format to tippecanoe-decode

- - - - -
7d472264 by Eric Fischer at 2017-03-28T16:42:22-07:00
Merge branch 'master' into plugins

- - - - -
ae4f03d9 by Eric Fischer at 2017-03-28T17:15:41-07:00
Add missing #include

- - - - -
aee12ac1 by Shan-Chun Kuo at 2017-04-05T00:34:54+01:00
Add flag --raw-tiles or -pC to get raw protobuf

- - - - -
f03b8965 by Shan-Chun Kuo at 2017-04-05T15:59:37+01:00
Seperated out to method and added test for --raw-tiles

- - - - -
29fa3d85 by Shan-Chun Kuo at 2017-04-05T16:02:57+01:00
Update the readme to add the flag

- - - - -
9fb1208b by Shan-Chun Kuo at 2017-04-05T16:05:50+01:00
Fix indentation for rawtiles.cpp

- - - - -
a3202488 by Shan-Chun Kuo at 2017-04-07T13:33:01+01:00
Do make indent, add flag --output-to-directory or -e to write pbf files to a directory, also add flag --no-tile-compression or -pC to get raw protobuf

- - - - -
682a272f by Shan-Chun Kuo at 2017-04-07T16:24:29+01:00
Add condition to prevent options -o and -e being used together

- - - - -
b66ab102 by Shan-Chun Kuo at 2017-04-07T17:03:30+01:00
Add algorithms library

- - - - -
1c1ae6a8 by Eric Fischer at 2017-04-07T12:36:34-07:00
Update documentation and reduce use of global variables

- - - - -
f558b783 by Eric Fischer at 2017-04-07T13:25:05-07:00
Include tileset metadata when writing either to directory or mbtiles

- - - - -
da92b93b by Eric Fischer at 2017-04-07T14:19:10-07:00
Merge pull request #389 from mapbox/joykuotw-master

Add --output-to-directory and --no-tile-compression options
- - - - -
94a15eaf by Eric Fischer at 2017-04-07T14:28:58-07:00
Merge branch 'master' into plugins

- - - - -
a7be8338 by Eric Fischer at 2017-04-10T15:22:30-07:00
Add tile-join options to include or exclude layers by name

- - - - -
7f918bd7 by Eric Fischer at 2017-04-10T16:00:27-07:00
Merge pull request #390 from mapbox/layer-filter

Add tile-join options to include or exclude layers by name
- - - - -
bb365bde by Eric Fischer at 2017-04-11T16:32:32-07:00
Reformatting README

- - - - -
63ea7bdc by Eric Fischer at 2017-04-11T16:51:56-07:00
Try to reorder options into some more readable organization

- - - - -
5ec6ce17 by Eric Fischer at 2017-04-11T17:03:32-07:00
Continue to reorder and clarify options

- - - - -
ab300c20 by Eric Fischer at 2017-04-11T17:06:17-07:00
Forgot to format a few more options

- - - - -
79b73e63 by Eric Fischer at 2017-04-11T17:24:15-07:00
Call out the most useful options at the start

- - - - -
a394c9e9 by Eric Fischer at 2017-04-11T17:31:22-07:00
Merge branch 'master' into reformat-readme

- - - - -
f4677d5d by Eric Fischer at 2017-04-12T10:16:43-07:00
Reorganize input and layer options

- - - - -
a0831cd7 by Eric Fischer at 2017-04-12T12:36:58-07:00
Merge pull request #391 from mapbox/reformat-readme

Clean up documentation
- - - - -
198a5a06 by Eric Fischer at 2017-04-12T12:45:35-07:00
Clean up JSON parsing at the end of each FeatureCollection

- - - - -
e75bb4a1 by Eric Fischer at 2017-04-12T13:19:19-07:00
Merge pull request #395 from mapbox/close-featurecollections

Clean up JSON parsing at the end of each FeatureCollection
- - - - -
510247c2 by Eric Fischer at 2017-04-13T14:17:15-07:00
Add -zg option to automatically choose an appropriate maxzoom

- - - - -
242a657f by Eric Fischer at 2017-04-13T14:23:43-07:00
Fix array bounds error caught by -fsanitize=address

- - - - -
65ee2cf0 by Eric Fischer at 2017-04-17T08:51:48-07:00
Merge pull request #397 from mapbox/guess-maxzoom

Add -zg option to automatically choose an appropriate maxzoom
- - - - -
178b5d00 by Eric Fischer at 2017-04-17T15:20:03-07:00
Add -T option to coerce the types of feature attributes

- - - - -
8b5168cb by Eric Fischer at 2017-04-17T15:46:13-07:00
Merge pull request #398 from mapbox/attribute-types

Add -T option to coerce the types of feature attributes
- - - - -
7dc586bc by Eric Fischer at 2017-04-17T16:01:12-07:00
Merge branch 'master' into plugins

- - - - -
d19680e3 by Eric Fischer at 2017-04-18T13:24:16-07:00
Try to be clearer in the warning message about projections

- - - - -
d2a87614 by Eric Fischer at 2017-04-18T14:02:07-07:00
Merge pull request #399 from mapbox/projection-warning

Try to be clearer in the warning message about projections
- - - - -
6c7a5214 by Eric Fischer at 2017-04-21T13:48:39-07:00
Organize usage output the same way as in the README

- - - - -
569fd974 by Eric Fischer at 2017-04-21T13:56:40-07:00
Also generate the string of option letters instead of writing it again

- - - - -
6173180c by Eric Fischer at 2017-04-21T14:49:26-07:00
Merge pull request #401 from mapbox/usage

Organize usage output the same way as in the README
- - - - -
5a8bfa23 by Eric Fischer at 2017-04-21T16:18:00-07:00
Merge branch 'master' into plugins

- - - - -
0ecc6fa1 by Eric Fischer at 2017-04-23T15:31:57-07:00
Put everything normally generated during compilation in .gitignore

- - - - -
dc01d334 by Eric Fischer at 2017-04-24T08:29:56-07:00
Merge pull request #402 from mapbox/gitignore

Put everything normally generated during compilation in .gitignore
- - - - -
63e0c89c by Eric Fischer at 2017-04-28T16:39:16-07:00
Support RFC 8142 GeoJSON text sequences

- - - - -
1669d965 by Eric Fischer at 2017-04-28T16:56:40-07:00
Merge pull request #404 from mapbox/rfc8142

Support RFC 8142 GeoJSON text sequences
- - - - -
a0234923 by Eric Fischer at 2017-05-01T11:43:05-07:00
Merge branch 'master' into plugins

- - - - -
acdb5b72 by Eric Fischer at 2017-05-01T15:27:55-07:00
Fix RFC 8142 support: Don't try to split *all* memory mapped files

- - - - -
ad0eba7c by Eric Fischer at 2017-05-01T15:40:04-07:00
Merge pull request #405 from mapbox/too-much-splitting

Fix RFC 8142 support: Don't try to split *all* memory mapped files
- - - - -
f9f57ebb by Eric Fischer at 2017-05-04T10:19:32-07:00
Merge branch 'master' into plugins

- - - - -
263a1b9e by Eric Fischer at 2017-05-04T10:25:53-07:00
Add sample filter to limit tiles to a bounding box

- - - - -
24bde0be by Eric Fischer at 2017-05-04T10:39:48-07:00
Fix formatting

- - - - -
6ec45322 by Eric Fischer at 2017-05-04T13:31:30-07:00
Preserve the tileset names from the source mbtiles in tile-join

- - - - -
92deeb58 by Eric Fischer at 2017-05-04T14:17:52-07:00
Merge pull request #410 from mapbox/tile-join-name

Preserve the tileset names from the source mbtiles in tile-join
- - - - -
f87a9d16 by Eric Fischer at 2017-05-04T15:08:31-07:00
Add tile-join options to set tileset name, description, attribution

- - - - -
eab593fe by Eric Fischer at 2017-05-04T15:27:40-07:00
Merge pull request #411 from mapbox/tile-join-name

Add tile-join options to set tileset name, description, attribution
- - - - -
9eb3a7f7 by Eric Fischer at 2017-05-05T10:56:50-07:00
Enforce polygon winding and closure rules in tippecanoe-decode

- - - - -
922bef72 by Eric Fischer at 2017-05-05T11:22:40-07:00
Fix array bounds error found by -fsanitize=address

- - - - -
685e1a43 by Eric Fischer at 2017-05-05T11:47:54-07:00
Merge pull request #412 from mapbox/polygon-closure

Enforce polygon winding and closure rules in tippecanoe-decode
- - - - -
30d54ff5 by Eric Fischer at 2017-05-11T12:08:47-07:00
Tile-join had not been compressing its tiles.

- - - - -
fb6551c5 by Eric Fischer at 2017-05-11T12:36:35-07:00
Calculate the tileset bounding box in tile-join from the tile boundaries

- - - - -
7fe3de9c by Eric Fischer at 2017-05-11T12:51:14-07:00
Merge pull request #416 from mapbox/tile-join-compression

Tile-join had not been compressing its tiles.
- - - - -
9632c145 by Eric Fischer at 2017-05-12T11:15:27-07:00
Only warn once about invalid polygon encoding in tippecanoe-decode

- - - - -
733092ab by Eric Fischer at 2017-05-12T11:24:02-07:00
Merge pull request #417 from mapbox/only-warn-once

Only warn once about invalid polygon encoding in tippecanoe-decode
- - - - -
2f7b5d8a by Eric Fischer at 2017-05-12T16:21:25-07:00
There should be a test for the no-compression mbtiles output format

- - - - -
27dadc8a by Eric Fischer at 2017-05-12T17:09:41-07:00
Merge pull request #418 from mapbox/no-compression-test

There should be a test for the no-compression mbtiles output format
- - - - -
b3015128 by Eric Fischer at 2017-05-12T17:20:30-07:00
Merge branch 'master' into plugins

- - - - -
40168766 by Matt Burke at 2017-05-17T17:02:26-04:00
Added dockerfile

- - - - -
1bb31882 by Matt Burke at 2017-05-18T09:48:37-04:00
Added docker information to the README

- - - - -
d0980e29 by Eric Fischer at 2017-05-18T11:47:21-07:00
Merge pull request #419 from Burke9077/master

Add basic support for Docker
- - - - -
eb8ab1dd by Eric Fischer at 2017-05-18T14:48:18-07:00
Fix crash with very long (>128K) attribute values

- - - - -
5db7b504 by Eric Fischer at 2017-05-18T15:11:42-07:00
Merge pull request #421 from mapbox/long-attributes

Fix crash with very long (>128K) attribute values
- - - - -
9c3fb0f6 by Shan-Chun Kuo at 2017-05-24T16:32:44+01:00
Change the function name rawtiles to dirtiles

- - - - -
ef8af63a by Shan-Chun Kuo at 2017-05-25T11:25:57+01:00
Add tile-join options to no tile compression and output to directory

- - - - -
52ceaadd by Shan-Chun Kuo at 2017-05-30T14:53:55+01:00
Add tile-join source to directories of tiles

- - - - -
e8e949fa by Shan-Chun Kuo at 2017-05-30T18:40:22+01:00
Fix memory leak

- - - - -
a5db055c by Shan-Chun Kuo at 2017-05-30T20:11:13+01:00
Change fixed-size buffer to variable-length string

- - - - -
331707f8 by Eric Fischer at 2017-05-30T13:28:25-07:00
Better maxzoom guessing by considering resolution within features

- - - - -
ab8ecb7e by Eric Fischer at 2017-05-30T13:41:24-07:00
Add missing #include

- - - - -
977effc9 by Eric Fischer at 2017-05-30T15:43:56-07:00
Merge pull request #424 from joykuotw/master

Add tile-join directory support
- - - - -
8776f179 by Eric Fischer at 2017-05-30T16:02:08-07:00
Bump version number, give better warning message

- - - - -
c7d146ea by Eric Fischer at 2017-05-30T16:58:56-07:00
Don't do work for guessing maxzoom unless needed. Add a better test.

- - - - -
b80a1d76 by Eric Fischer at 2017-05-30T17:22:40-07:00
Merge pull request #425 from mapbox/better-maxzoom-guessing

Better maxzoom guessing by considering resolution within features
- - - - -
cf3a0800 by Eric Fischer at 2017-05-31T10:47:34-07:00
Add an option to increase maxzoom if features are still being dropped

- - - - -
dba24959 by Eric Fischer at 2017-05-31T11:02:02-07:00
Avoid potential infinite loop from choosing the same min density again

- - - - -
240ccbd2 by Eric Fischer at 2017-05-31T14:07:57-07:00
Merge pull request #426 from mapbox/extend-zooms

Add an option to increase maxzoom if features are still being dropped
- - - - -
dd0a135b by Eric Fischer at 2017-06-29T14:42:42-07:00
Ignore UTF-8 byte order mark if present

- - - - -
bd845ac5 by Eric Fischer at 2017-06-29T15:25:31-07:00
Merge pull request #429 from mapbox/bom2

Ignore UTF-8 byte order mark if present
- - - - -
3ba45c72 by Eric Fischer at 2017-06-30T11:20:26-07:00
Upgrade protozero to version 1.5.2

- - - - -
412be8e6 by Eric Fischer at 2017-06-30T15:37:35-07:00
Merge pull request #431 from mapbox/protozero-1.5.2

Upgrade protozero to version 1.5.2
- - - - -
04d0cc6f by Eric Fischer at 2017-07-06T22:28:35-07:00
Merge branch 'master' into plugins

- - - - -
c164a3e6 by Eric Fischer at 2017-07-07T12:51:49-07:00
Add long options to tippecanoe-decode and tile-join. Add --quiet to tile-join.

- - - - -
24a18277 by Eric Fischer at 2017-07-07T14:44:28-07:00
Merge pull request #433 from mapbox/getopt

Add long options to tippecanoe-decode and tile-join. Add --quiet to to tile-join.
- - - - -
6a505cdb by Eric Fischer at 2017-07-07T17:41:06-07:00
Add an example of a zoom level filter

- - - - -
65c095cc by Eric Fischer at 2017-07-14T16:56:23-07:00
Clean up #includes and add fields for counting attributes

- - - - -
62ee5399 by Eric Fischer at 2017-07-14T17:23:41-07:00
Track how many features of each type are in each layer

- - - - -
7445feb8 by Eric Fischer at 2017-07-14T17:59:24-07:00
Work in the direction of tracking representative attribute values

- - - - -
b1771a33 by Eric Fischer at 2017-07-17T11:58:37-07:00
Make layer attributes a map to sample values

- - - - -
77bf14bf by Eric Fischer at 2017-07-17T13:28:46-07:00
Track sample values for each attribute in each layer

- - - - -
71f57793 by Eric Fischer at 2017-07-17T17:31:46-07:00
Derive tilejson attribute types from sample attribute values

- - - - -
18f9a8db by Eric Fischer at 2017-07-18T09:54:59-07:00
Close mbtiles properly when exiting because there are no features

- - - - -
6ac9ca37 by Eric Fischer at 2017-07-18T10:50:25-07:00
Bump version number

- - - - -
3eb1237b by Eric Fischer at 2017-07-18T13:27:37-07:00
Progress on generating tilestats as JSON

- - - - -
ba82ef82 by Eric Fischer at 2017-07-18T14:11:48-07:00
Complain if the output file or directory is specified more than once

- - - - -
9304bc5c by Eric Fischer at 2017-07-18T14:20:33-07:00
Generate the rest of the tilestats

- - - - -
81e3f090 by Eric Fischer at 2017-07-18T14:21:11-07:00
Merge pull request #440 from mapbox/no-geoms

Close mbtiles properly when exiting because there are no features
- - - - -
b3078dde by Eric Fischer at 2017-07-18T16:53:06-07:00
Also make tilestats in tile-join

- - - - -
90780985 by Eric Fischer at 2017-07-18T17:28:30-07:00
Only insert a new tilestats record if there isn't already one

- - - - -
7b03e1ee by Eric Fischer at 2017-07-19T13:09:47-07:00
Include tilestats in the metadata table. (Not all tests are passing)

- - - - -
3cafef89 by Eric Fischer at 2017-07-19T14:45:15-07:00
Factor out duplicated tilestats code

- - - - -
97d0b2a1 by Eric Fischer at 2017-07-19T16:40:06-07:00
Retain attributes in alphabetical order, for consistency

- - - - -
855e3445 by Eric Fischer at 2017-07-19T16:53:53-07:00
Don't keep tilestats for features that are filtered out in tile-join

- - - - -
54cbc570 by Eric Fischer at 2017-07-20T14:17:09-07:00
Don't write to a directory that contains an existing tileset.

The -f option will clear the directory now, as with mbtiles.

- - - - -
518c8db7 by Eric Fischer at 2017-07-20T17:39:41-07:00
Straighten out the extra tilestat attributes in some joined tilesets

The problem was in the case where the CSV provided a new value for
an attribute that replaced an existing value. Both the old and new
value were being included in the tilestats instead of just the new.

- - - - -
00aed42c by Eric Fischer at 2017-07-20T23:10:45-07:00
Add missing #include

- - - - -
62f135a9 by Eric Fischer at 2017-07-21T12:28:14-07:00
Exclude long attribute values from tilestats output, as specified

- - - - -
7e6d10c2 by Eric Fischer at 2017-07-21T12:56:30-07:00
In tilestats, truncate and merge layers and attributes with long names

- - - - -
9ec52f2c by Eric Fischer at 2017-07-21T13:08:33-07:00
Merge branch 'master' into tilestats

- - - - -
a373c251 by Eric Fischer at 2017-07-21T13:17:21-07:00
Remove debugging code

- - - - -
5a09fcc3 by Eric Fischer at 2017-07-21T14:27:30-07:00
Some basic unit tests for string truncation

- - - - -
cc28bbab by Eric Fischer at 2017-07-26T09:54:49-07:00
Move the tilestats into the "json" row of the metadata

- - - - -
8280c3f9 by Eric Fischer at 2017-07-27T13:44:51-07:00
Bump version number

- - - - -
e982b2f6 by Eric Fischer at 2017-07-27T14:11:42-07:00
Merge pull request #436 from mapbox/tilestats

Generate layer, feature, and attribute statistics as part of tileset metadata
- - - - -
fa0e38da by Eric Fischer at 2017-08-08T10:31:26-07:00
First stages of geobuf support

- - - - -
c79f19e3 by Eric Fischer at 2017-08-08T11:08:10-07:00
Merge branch 'master' into plugins

- - - - -
eebc8f76 by Eric Fischer at 2017-08-08T11:58:51-07:00
Remember to close polygons before sending them to the prefilter

- - - - -
635429cd by Eric Fischer at 2017-08-08T13:38:48-07:00
Fix dangling pointer. Defer tilestats generation until tiling if filtering.

- - - - -
200f6777 by Eric Fischer at 2017-08-08T16:41:20-07:00
Fix layer list in tilestats when filtering and tile-joining.

(The feature count when filtering will be the sum of features
across tiles instead of filters from the original input, since
the filter reader doesn't know what the original input feature
set was.)

- - - - -
915b1481 by Eric Fischer at 2017-08-09T10:27:21-07:00
Forgot to check in this file

- - - - -
e453e323 by Eric Fischer at 2017-08-09T11:30:16-07:00
Fix test flakiness for filtered tile-join, and some other warnings.

- - - - -
f5111857 by Eric Fischer at 2017-08-09T14:13:27-07:00
Merge pull request #332 from mapbox/plugins

Add plugin support
- - - - -
23a4ed87 by Eric Fischer at 2017-08-10T10:28:17-07:00
Merge branch 'master' into geobuf

- - - - -
b1620f6c by Eric Fischer at 2017-08-15T10:25:11-07:00
Work on factoring out serial_feature

- - - - -
372194ce by Eric Fischer at 2017-08-15T10:35:41-07:00
Add an option not to produce tilestats

- - - - -
5fc26102 by Eric Fischer at 2017-08-15T10:41:00-07:00
Add tests for not producing tilestats

- - - - -
205c28bb by Eric Fischer at 2017-08-15T11:23:03-07:00
Fix tilestats with truncated strings. Trim tilestats if TileJSON is huge

- - - - -
8f02aa40 by Eric Fischer at 2017-08-15T15:55:53-07:00
Improve tile-join documentation

- - - - -
e6fc2218 by Eric Fischer at 2017-08-16T12:53:10-07:00
Tilestats metadata no longer needs to be limited to 60K

- - - - -
4d1ddc5a by Eric Fischer at 2017-08-16T13:49:16-07:00
Add tile-join options to select zoom levels to copy

- - - - -
071b4efd by Eric Fischer at 2017-08-16T15:23:29-07:00
Merge pull request #451 from mapbox/no-tile-stats

Add an option not to produce tilestats
- - - - -
0b3e731f by Eric Fischer at 2017-08-21T10:44:04-07:00
Add better diagnostics for NaN or Infinity in input JSON

- - - - -
e7f264fa by Eric Fischer at 2017-08-22T15:49:45-07:00
Merge pull request #458 from mapbox/nan-infinity

Add better diagnostics for NaN or Infinity in input JSON
- - - - -
f0b32cf7 by Eric Fischer at 2017-08-22T16:21:03-07:00
Merge branch 'master' into geobuf

- - - - -
235dbf57 by Eric Fischer at 2017-08-22T16:51:11-07:00
More progress on splitting apart parsing and serialization

- - - - -
6cea2d5d by Eric Fischer at 2017-08-22T18:10:52-07:00
Progress on factoring out serialization state into a single object

- - - - -
6caf20b9 by Eric Fischer at 2017-08-23T11:43:48-07:00
Put the pieces back together

- - - - -
b114e22d by Eric Fischer at 2017-08-23T12:48:45-07:00
Factor out geometry fixups

- - - - -
ed8fbd02 by Eric Fischer at 2017-08-24T15:57:33-07:00
Split more serialization details out from being parsing parameters

- - - - -
34b1b215 by Eric Fischer at 2017-08-24T16:30:01-07:00
Move tilestats management out of parsing and into serialization

- - - - -
f4818ffb by Eric Fischer at 2017-08-24T17:10:15-07:00
Move attribute include/exclude logic into serialization

- - - - -
e7ee83f2 by Eric Fischer at 2017-08-24T17:27:30-07:00
Move attribute type coercion out of parsing and into serialization

- - - - -
75be0130 by Eric Fischer at 2017-08-25T14:56:03-07:00
Start on geobuf parsing

- - - - -
b98bf6e8 by Eric Fischer at 2017-08-25T15:46:32-07:00
Get attribute value decoding working

- - - - -
ad89fb88 by Eric Fischer at 2017-08-25T16:36:53-07:00
Most of the way through geometry decoding

- - - - -
8d09f076 by Eric Fischer at 2017-08-25T17:40:08-07:00
Fix multipolygon and feature ID parsing

- - - - -
5943c824 by Eric Fischer at 2017-08-28T11:10:57-07:00
Move file-format-neutral code out of JSON-specific source file

- - - - -
7c031a97 by Eric Fischer at 2017-08-28T11:30:30-07:00
Memory-map geobuf input instead of reading it into a temporary string

- - - - -
7be21f60 by Eric Fischer at 2017-08-28T13:26:11-07:00
First (untested) pass at handling GL Style Spec filters

- - - - -
58782135 by Eric Fischer at 2017-08-28T13:42:14-07:00
Simplify the filter format, and actually run the filter.

- - - - -
b7df68c1 by Eric Fischer at 2017-08-28T13:56:52-07:00
Remember how to keep a parse tree around after the parser is closed

- - - - -
8d7f8af1 by Eric Fischer at 2017-08-28T14:01:57-07:00
Make indent

- - - - -
4e1611ee by Eric Fischer at 2017-08-28T14:08:05-07:00
Fix boolean comparisions

- - - - -
754cbdc6 by Eric Fischer at 2017-08-28T14:26:36-07:00
Add short circuits; warnings for mismatched types, wrong array lengths

- - - - -
1581b79a by Eric Fischer at 2017-08-28T14:35:07-07:00
Forgot to implement "in" and "!in"

- - - - -
4b66aa82 by Eric Fischer at 2017-08-29T11:43:39-07:00
Geobuf testing exposes a bug in type coercion of 0.0 to boolean

- - - - -
18b2a2c3 by Eric Fischer at 2017-08-29T12:51:59-07:00
Milo dtoa from https://github.com/miloyip/dtoa-benchmark

- - - - -
5f09ccae by Eric Fischer at 2017-08-29T13:31:59-07:00
Add namespace; fix warning

- - - - -
3840176d by Eric Fischer at 2017-08-29T14:26:20-07:00
Convert to output to std::string

- - - - -
f9a007e8 by Eric Fischer at 2017-08-29T14:44:34-07:00
Use milo dtoa for consistent string representation of numbers

- - - - -
0d56d1bf by Eric Fischer at 2017-08-29T14:49:24-07:00
Add missing #include

- - - - -
cef6b022 by Eric Fischer at 2017-08-29T14:58:16-07:00
Fix the typo I made in the conversion to std::string

- - - - -
22856736 by Eric Fischer at 2017-08-29T15:43:16-07:00
Remove the memmove I accidentally left in, corrupting small numbers

- - - - -
12784de2 by Eric Fischer at 2017-08-29T15:54:25-07:00
Produce "nan" and "inf" strings instead of aborting

- - - - -
c65a3885 by Eric Fischer at 2017-08-29T15:58:02-07:00
Add missing #include

- - - - -
4d6ebaa0 by Eric Fischer at 2017-08-29T16:04:50-07:00
Fix nulls and negative integers in geobuf parsing

- - - - -
8b6a51e2 by Eric Fischer at 2017-08-29T16:15:22-07:00
Fix wildcarding for geobuf test invocation

- - - - -
caac717b by Eric Fischer at 2017-08-29T17:25:36-07:00
Add another missing #include

- - - - -
15a48e67 by Eric Fischer at 2017-08-29T17:40:57-07:00
Canonicalize numbers in stringified attributes so geobuf can match

- - - - -
607ea6c6 by Eric Fischer at 2017-08-30T10:31:51-07:00
Lower the precision of all test input coordinates to 6 decimal digits

- - - - -
5665d087 by Eric Fischer at 2017-08-30T11:44:57-07:00
Support per-feature minzoom and maxzoom in geobuf

- - - - -
5c5fbe26 by Eric Fischer at 2017-08-30T14:01:09-07:00
Support top-level geometries

- - - - -
f65faaf3 by Eric Fischer at 2017-08-30T14:10:35-07:00
Support GeometryCollections in geobuf

- - - - -
076dfcdf by Eric Fischer at 2017-08-30T14:34:59-07:00
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

- - - - -
a5b1378d by Eric Fischer at 2017-08-30T15:32:36-07:00
Minimize external dependencies for Geobuf testing

- - - - -
6384b6a4 by Eric Fischer at 2017-08-30T15:45:37-07:00
Fix #include path and json2geobuf path

- - - - -
12d744e9 by Eric Fischer at 2017-08-30T16:03:00-07:00
Try specifying a newer version of Node

- - - - -
223d8377 by Eric Fischer at 2017-08-31T13:54:04-07:00
Multithreaded geobuf feature parsing

- - - - -
9a21c04f by Eric Fischer at 2017-08-31T14:17:18-07:00
Bump version number; fix node version that I accidentally reverted

- - - - -
dd075111 by Eric Fischer at 2017-09-01T10:28:22-07:00
Merge pull request #460 from mapbox/geobuf

Add input support for Geobuf format
- - - - -
dbb789da by Eric Fischer at 2017-09-01T10:29:08-07:00
Merge branch 'master' into gl-filters

- - - - -
0fd44541 by Eric Fischer at 2017-09-01T11:51:12-07:00
Allow filter expressions during tippecanoe as well as during tile-join

- - - - -
c232e565 by Eric Fischer at 2017-09-01T16:27:27-07:00
Working on testing against Mapbox GL JS filter tests

- - - - -
8d502eb8 by Eric Fischer at 2017-09-01T16:41:01-07:00
Fix memory leak

- - - - -
681907e8 by Eric Fischer at 2017-09-01T16:53:19-07:00
Add the feature ID filter tests

- - - - -
86ff2216 by Eric Fischer at 2017-09-01T17:22:05-07:00
I think this should fix the access to already-freed memory

Also drop the reference to the JSON parser when disconnecting
a JSON object from the parse tree.

- - - - -
7b71f41e by Eric Fischer at 2017-09-01T17:36:43-07:00
Fix compiler warnings

- - - - -
d349b770 by Eric Fischer at 2017-09-05T12:17:23-07:00
Add the tests for filtering for feature type

- - - - -
bdd95af8 by Eric Fischer at 2017-09-05T13:33:10-07:00
Be careful not to generate empty layers in tile-join.

Add a test of filtering during tile-join.
Bump version number.

- - - - -
c9e42752 by Eric Fischer at 2017-09-05T14:02:43-07:00
Do fewer tests in the address sanitizer build

- - - - -
7ce882c0 by Eric Fischer at 2017-09-06T11:20:32-07:00
Merge pull request #462 from mapbox/gl-filters

Add feature attribute filters (as in the GL style spec) to tile-join
- - - - -
2518f238 by Eric Fischer at 2017-09-06T11:49:55-07:00
Use tippecanoe instead of tile-join in the filter example

- - - - -
0f8b32c6 by Eric Fischer at 2017-09-06T13:06:08-07:00
Limit the depth of the search in the string pool.

Use a better comparison function. (Attributes often have a common
prefix but rarely have a common suffix.)

- - - - -
764a8ac1 by Eric Fischer at 2017-09-06T15:26:19-07:00
Use 32-bit offsets in the string pool search tree to reduce its size

- - - - -
93920d06 by Eric Fischer at 2017-09-06T17:10:10-07:00
Slightly lower average traversal using a hash for comparison

- - - - -
c77c2a2b by Eric Fischer at 2017-09-07T12:04:32-07:00
Fix compiler complaints about arithmetic overflow in hashing

- - - - -
c3d23675 by Eric Fischer at 2017-09-07T13:48:09-07:00
Also fix arithmetic overflow when reading a Geobuf GeometryCollection

- - - - -
84a6aa6d by Eric Fischer at 2017-09-07T14:40:50-07:00
Use std::isinf() and std::isnan() instead of the C versions

According to https://github.com/mapbox/tippecanoe/issues/464 this
is necessary for g++-5 on Linux

- - - - -
a2d12f17 by Eric Fischer at 2017-09-07T15:34:55-07:00
Reorder and reword documentation

- - - - -
e000bcc2 by Eric Fischer at 2017-09-08T10:16:19-07:00
Merge pull request #463 from mapbox/stringpool

Limit the depth of the search in the string pool.
- - - - -
4c2d80ea by Amy Ghate at 2017-09-18T14:31:07-04:00
Corrected Link to "Visualizing Month of Lightning"
- - - - -
be922702 by Eric Fischer at 2017-10-06T18:01:08-07:00
Experiment with coalescing features to reduce tile size

- - - - -
8ae1ec53 by Eric Fischer at 2017-10-06T18:06:37-07:00
Distribute coalescing error more evenly

- - - - -
ecadd779 by Eric Fischer at 2017-10-09T16:26:55-07:00
Don't try to coalesce features of different types

- - - - -
748ef3b1 by Eric Fischer at 2017-10-09T17:05:29-07:00
Add a tippecanoe-decode option to report tile size and feature count

- - - - -
91e469aa by Eric Fischer at 2017-10-09T17:37:21-07:00
Merge any leftover feature remnants onto some feature.

Add a test for coalescing small features onto large ones.

- - - - -
42a56b1a by Eric Fischer at 2017-10-10T11:33:29-07:00
Merge pull request #471 from mapbox/coalesce-smallest

Experiment with coalescing features to reduce tile size
- - - - -
d9c22135 by Eric Fischer at 2017-10-10T11:37:30-07:00
Rename geojson2nd to tippecanoe-json-tool

- - - - -
ebb26ee1 by Eric Fischer at 2017-10-10T14:03:24-07:00
Add property extraction for sorting

- - - - -
1f9768ce by Eric Fischer at 2017-10-10T14:03:33-07:00
Handle surrogate pairs in JSON strings

- - - - -
54e9cd3c by Eric Fischer at 2017-10-10T14:31:45-07:00
Add UTF-8 and UTF-16 emoji to a test

- - - - -
19117d80 by Eric Fischer at 2017-10-10T14:57:38-07:00
Move CSV code into its own file

- - - - -
face4501 by Eric Fischer at 2017-10-10T15:06:12-07:00
Fix the arbitrary line length limit

- - - - -
86a4ce67 by Eric Fischer at 2017-10-10T16:12:40-07:00
Joining basically works

- - - - -
68a55b87 by Eric Fischer at 2017-10-10T16:22:47-07:00
Follow JSON rules for what looks like a number in a CSV

- - - - -
2f1945cf by Eric Fischer at 2017-10-10T16:46:47-07:00
Add example

- - - - -
894a0acc by Eric Fischer at 2017-10-10T16:59:23-07:00
Fix missing URL and explanation in documentation

- - - - -
9ebeb47d by Eric Fischer at 2017-10-10T17:51:16-07:00
Don't duplicate the join key in JSON tool output

- - - - -
ee6da934 by Eric Fischer at 2017-10-13T11:22:15-07:00
Fix error when parsing attributes with empty-string keys

- - - - -
cd47a398 by Eric Fischer at 2017-10-13T12:32:32-07:00
Merge pull request #477 from mapbox/empty-attribute-keys

Fix error when parsing attributes with empty-string keys
- - - - -
18a5300e by Eric Fischer at 2017-10-27T11:04:06-07:00
Add tile-join option to rename layers

- - - - -
68e4f312 by Eric Fischer at 2017-10-27T12:21:52-07:00
Merge pull request #479 from mapbox/rename-layer

Add tile-join option to rename layers
- - - - -
197d36bd by Eric Fischer at 2017-10-27T12:43:23-07:00
Make sure to encode tile-joined integers as ints, not doubles

- - - - -
4c7de922 by Eric Fischer at 2017-10-27T17:31:00-07:00
Merge pull request #480 from mapbox/join-ints

Make sure to encode tile-joined integers as ints, not doubles
- - - - -
d13e08c9 by Eric Fischer at 2017-10-27T17:38:07-07:00
Guard against null keys and values in tileset metadata

- - - - -
dfbb13e7 by Eric Fischer at 2017-10-27T17:40:39-07:00
Guard against impossible zoom level

- - - - -
a3e95db0 by Eric Fischer at 2017-10-30T12:48:55-07:00
Guard against decoding tiles with an impossible extent

- - - - -
e2b9b96b by Eric Fischer at 2017-10-30T12:55:22-07:00
Detect impossible zoom levels in mbtiles when decoding

- - - - -
93a32560 by Eric Fischer at 2017-10-30T13:24:31-07:00
Guard against impossible tile coordinates when decoding

- - - - -
faf40658 by Eric Fischer at 2017-10-30T13:53:54-07:00
Bump version number

- - - - -
dc42c7cc by Eric Fischer at 2017-10-30T15:16:07-07:00
Merge pull request #481 from mapbox/crashers

Be more careful about corrupt mbtiles files
- - - - -
d551231f by Dane Springmeyer at 2017-11-01T13:42:42-07:00
test inside docker on travis

- - - - -
41c02679 by Eric Fischer at 2017-11-02T16:42:29-07:00
Port fix for array index out of bounds in decimal conversion

https://github.com/miloyip/dtoa-benchmark/issues/7

commit fe550f38669fe0f488926c1ef0feb6c101f586d6
Author: Eli Fidler <efidler at topologyinc.com>
Date:   Tue May 31 11:51:37 2016 -0400

    avoid array index out-of-bounds

    UBSAN gave "runtime error: index 13 out of bounds for type 'const uint32_t [10]'"

- - - - -
cc734c87 by Eric Fischer at 2017-11-03T10:10:12-07:00
Merge pull request #485 from mapbox/milo-bounds

Port fix for array index out of bounds in decimal conversion
- - - - -
621cf72e by Eric Fischer at 2017-11-03T15:09:00-07:00
Handle surrogate pairs in JSON strings

- - - - -
c217a77b by Eric Fischer at 2017-11-03T15:13:08-07:00
Add UTF-8 and UTF-16 emoji to a test

- - - - -
21042a73 by Eric Fischer at 2017-11-03T15:15:28-07:00
Move CSV code into its own file

- - - - -
6467a5b7 by Eric Fischer at 2017-11-03T15:15:46-07:00
Fix the arbitrary line length limit

- - - - -
1960eb8d by Eric Fischer at 2017-11-03T15:17:09-07:00
Follow JSON rules for what looks like a number in a CSV

- - - - -
e39db074 by Eric Fischer at 2017-11-03T15:19:43-07:00
Bump version number

- - - - -
8ae9a8b6 by Eric Fischer at 2017-11-03T15:22:04-07:00
Merge pull request #483 from mapbox/docker-test

Test inside docker on travis
- - - - -
0801a932 by Eric Fischer at 2017-11-03T15:25:14-07:00
Silence the projection warning if you asked for --quiet

- - - - -
0585742a by Eric Fischer at 2017-11-03T16:51:45-07:00
Remove unused constant and out-of-date comment

- - - - -
12a12587 by Eric Fischer at 2017-11-03T16:59:45-07:00
Also remove the point styling script since CartoCSS is long deprecated

- - - - -
5a68886b by Eric Fischer at 2017-11-06T10:45:53-08:00
Merge pull request #486 from mapbox/surrogate-pairs

Support UTF-16 surrogate pairs in JSON and arbitrarily long lines in CSVs
- - - - -
95cc1672 by Dane Springmeyer at 2017-11-07T09:44:25-08:00
test on centos7 via docker

- - - - -
d89d46da by Eric Fischer at 2017-11-07T10:55:34-08:00
Remove unused parameters

- - - - -
50910b21 by Eric Fischer at 2017-11-07T11:09:22-08:00
Remove more unused parameters

- - - - -
c18f9a15 by Eric Fischer at 2017-11-07T11:15:04-08:00
Enable more warnings

- - - - -
20e6e80c by Eric Fischer at 2017-11-07T11:38:38-08:00
Fix signed comparison warning from g++

- - - - -
1b60fdba by Eric Fischer at 2017-11-07T12:52:43-08:00
Some structure initializers

- - - - -
891f99f2 by Eric Fischer at 2017-11-07T13:32:03-08:00
More structure initializers

- - - - -
ba62ab85 by Eric Fischer at 2017-11-07T15:20:17-08:00
More structure initializers

- - - - -
4f974b3d by Eric Fischer at 2017-11-07T15:25:54-08:00
Less verbose initializer syntax

- - - - -
30aa4224 by Eric Fischer at 2017-11-07T15:27:47-08:00
Missed one

- - - - -
0152db4a by Eric Fischer at 2017-11-07T15:57:56-08:00
More initializers

- - - - -
87ce5b93 by Eric Fischer at 2017-11-09T12:11:07-08:00
Be more careful about checking for overflow when parsing numbers

- - - - -
aa7191b1 by Eric Fischer at 2017-11-09T12:52:38-08:00
Also test large integers. Work around an apparent bug in strtoull.

- - - - -
fda0e1f2 by Eric Fischer at 2017-11-09T13:56:07-08:00
Fix more cases of loss of precision for large magnitude integers

- - - - -
948680fb by Eric Fischer at 2017-11-09T14:10:29-08:00
Exclude failing overflow test from geobuf tests

- - - - -
450032a6 by Eric Fischer at 2017-11-09T15:01:56-08:00
Merge pull request #490 from mapbox/float-bounds

Be more careful about checking for overflow when parsing numbers
- - - - -
23004808 by Eric Fischer at 2017-11-09T15:13:07-08:00
Merge branch 'master' into more-warnings

- - - - -
dca1ebbb by Eric Fischer at 2017-11-09T16:54:06-08:00
Get rid of some C99-style variable-length arrays

- - - - -
069807ca by Eric Fischer at 2017-11-10T13:06:47-08:00
Use a proper constructor, discover two unused fields

- - - - -
f1c3811d by Eric Fischer at 2017-11-10T13:49:07-08:00
Merge pull request #488 from mapbox/test-centos7

Test on centos7 via docker
- - - - -
2d87059a by Eric Fischer at 2017-11-10T13:59:57-08:00
Some more constructors

- - - - -
4dec9b43 by Eric Fischer at 2017-11-15T13:19:42-08:00
Try to clarify documentation for point dropping

- - - - -
76d86f7d by Eric Fischer at 2017-11-16T17:08:59-08:00
Add an option to quiet the progress indicator but not warnings

- - - - -
b6163dd4 by Eric Fischer at 2017-11-17T11:11:44-08:00
Merge branch 'master' into json-join

- - - - -
621e0afc by Eric Fischer at 2017-11-17T11:21:01-08:00
Merge branch 'more-warnings' into rate-clarify

- - - - -
f318fcc6 by Eric Fischer at 2017-11-17T11:21:59-08:00
Turn off very verbose initializer warnings

- - - - -
2b1cba0b by Eric Fischer at 2017-11-17T13:52:45-08:00
Warn during json-tool extraction if the extracted field isn't found

- - - - -
3f54a704 by Eric Fischer at 2017-11-17T14:05:37-08:00
Add a test for joining with tippecanoe-json-tool

- - - - -
47540841 by Eric Fischer at 2017-11-17T14:11:22-08:00
Merge pull request #492 from mapbox/rate-clarify

Clarify documentation; add --no-progress-indicator option; fix many compiler warnings
- - - - -
ab86846d by Eric Fischer at 2017-11-17T15:30:14-08:00
Merge branch 'master' into json-join

- - - - -
ecbfad25 by Eric Fischer at 2017-11-17T15:35:19-08:00
Fix problem where --detect-shared-borders could simplify polygons away

- - - - -
6fd4918c by Eric Fischer at 2017-11-17T15:43:02-08:00
Attach coalesced-as-needed leftovers to the last feature, not the first

- - - - -
9a12a768 by Eric Fischer at 2017-11-17T15:47:10-08:00
Fix overflow when iterating through 0-length lists backwards

- - - - -
ac670139 by Eric Fischer at 2017-11-21T10:50:01-08:00
Merge pull request #473 from mapbox/json-join

Working on tools for joining CSV data to GeoJSON
- - - - -
9964784e by Eric Fischer at 2017-11-21T15:01:33-08:00
Add null pointer check when testing for bare geometry in GeoJSON

- - - - -
82309874 by Eric Fischer at 2017-11-22T11:54:25-08:00
Fix a bug that could cause the wrong features to be coalesced

- - - - -
2234e378 by Eric Fischer at 2017-11-22T12:49:40-08:00
Quadkey-order index is a better secondary key for --reorder anyway

- - - - -
8ac7c467 by Eric Fischer at 2017-11-22T13:06:39-08:00
Make the same null pointer fix in jsontool.cpp as in geojson.cpp

- - - - -
ca028dd1 by Eric Fischer at 2017-11-22T17:53:25-08:00
Merge pull request #495 from mapbox/bare-geom-crash

Add null pointer check when checking for bare geometry. Fix coalescing of wrong features.
- - - - -
ba1c3432 by Eric Fischer at 2017-11-29T16:24:48-08:00
Make --allow-existing work on dirs; trim .geojson from layer names

- - - - -
1b1be9f8 by Eric Fischer at 2017-11-29T16:44:55-08:00
Also trim .geobuf from layer names

- - - - -
ad86d06c by Eric Fischer at 2017-11-30T11:15:38-08:00
Merge pull request #500 from mapbox/allow-existing-test

Make --allow-existing work on dirs; trim .geojson from layer names
- - - - -
1acd7717 by Eric Fischer at 2017-11-30T15:37:46-08:00
Factor out code for enumerating the tiles in a directory

- - - - -
d7f44ab0 by Eric Fischer at 2017-11-30T15:49:38-08:00
Factor out code for reading metadata.json

- - - - -
e4743d95 by Eric Fischer at 2017-11-30T15:56:35-08:00
Test successful and failed attempts to write to existing tilesets

- - - - -
f2f76082 by Eric Fischer at 2017-12-01T14:35:03-08:00
Merge pull request #501 from mapbox/refactor-dirtiles

Clean up duplicated code for reading tiles from a directory
- - - - -
f3e6afa4 by Eric Fischer at 2017-12-05T17:18:19-08:00
Basic geographic CSV parsing

- - - - -
afb5cece by Eric Fischer at 2017-12-06T13:32:44-08:00
Verify that CSV input is encoded as UTF-8

- - - - -
ec475b3b by Eric Fischer at 2017-12-06T15:20:01-08:00
Check for strings vs numbers in CSV attributes

- - - - -
ed0b69a3 by Eric Fischer at 2017-12-07T11:28:39-08:00
Fix check for non-numeric CSV data. Use same column name code as mapnik

- - - - -
82a2b5df by Eric Fischer at 2017-12-13T11:32:19-08:00
Add CSV test and documentation

- - - - -
2e320045 by Eric Fischer at 2017-12-13T12:05:53-08:00
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.

- - - - -
be79d13c by Eric Fischer at 2017-12-13T14:52:46-08:00
Add missing #include

- - - - -
5687ee04 by Eric Fischer at 2017-12-14T10:11:07-08:00
Merge pull request #503 from mapbox/geocsv

Add input support for CSV file format
- - - - -
b03dabe0 by Eric Fischer at 2017-12-14T14:30:08-08:00
Add an option for clustering features

- - - - -
6524b651 by Eric Fischer at 2017-12-18T12:55:22-08:00
Credit dangling clustered count at the end of a tile to the last feature

- - - - -
01884a3b by Eric Fischer at 2017-12-19T12:09:30-08:00
Make sure the feature gap always increases when trying to reduce density

- - - - -
fc32a0e8 by Eric Fischer at 2017-12-19T12:46:13-08:00
Add a test for the case that was getting stuck in a loop

- - - - -
aaf08a6c by Eric Fischer at 2017-12-20T17:33:30-08:00
Add an option to specify the clustering distance directly

- - - - -
eb966ae3 by Eric Fischer at 2017-12-21T09:55:20-08:00
Merge pull request #511 from mapbox/cluster

Add an option for clustering features
- - - - -
e07a4dd5 by Eric Fischer at 2018-01-18T12:12:35-08:00
Fix out-of-bounds error when no threads were needed for a zoom level

- - - - -
d49606ba by Eric Fischer at 2018-01-18T12:37:15-08:00
Fix opportunities for integer overflow

- - - - -
21b9b199 by Eric Fischer at 2018-01-19T10:27:20-08:00
Merge pull request #515 from mapbox/vector-bounds

Fix out-of-bounds error when no threads were needed for a zoom level
- - - - -
042fa773 by carimatics at 2018-01-30T23:49:34+09:00
Fix Release file not found error when execute docker build command.

- - - - -
e2a34929 by Eric Fischer at 2018-01-31T07:13:57-08:00
Merge pull request #522 from carimatics/master

Fix Release file not found error when execute docker build command. 
- - - - -
8e7b22cf by Eric Fischer at 2018-02-06T12:02:23-08:00
Close input files that were being left open after parallel reading

- - - - -
8fa5a5ff by Eric Fischer at 2018-02-06T12:15:24-08:00
Report distances in both feet and meters

- - - - -
2e5b597c by Eric Fischer at 2018-02-06T14:39:05-08:00
Add --coalesce-fraction-as-needed and --coalesce-densest-as-needed

- - - - -
8726366a by Eric Fischer at 2018-02-06T16:23:44-08:00
Remember to close the input file after CSV parsing too

- - - - -
7ab94d43 by Eric Fischer at 2018-02-06T17:22:26-08:00
Preserve non-ASCII characters when making layernames from filenames

- - - - -
17942b3a by Eric Fischer at 2018-02-06T17:25:58-08:00
Add an option to produce only a single tile

- - - - -
2b7d6473 by Eric Fischer at 2018-02-06T17:58:24-08:00
Set locale before running tests in Docker

- - - - -
2d625d58 by Eric Fischer at 2018-02-07T13:15:36-08:00
Pass through any non-ASCII characters from file names into layer names

The Docker build doesn't include proper locale support

- - - - -
03577cf9 by Eric Fischer at 2018-02-12T15:53:32-05:00
Merge pull request #529 from mapbox/files-left-open

Close input files that were being left open after parallel reading
- - - - -
b73e7108 by Eric Fischer at 2018-02-20T16:19:49-08:00
Add --accumulate-attribute flag and pass the result to tiling

- - - - -
bc0edec7 by Eric Fischer at 2018-02-20T17:24:15-08:00
Call a function that will eventually preserve the attributes

- - - - -
32359558 by Eric Fischer at 2018-02-22T14:58:51-08:00
Add logo image
- - - - -
79df57f2 by Eric Fischer at 2018-02-22T15:07:44-08:00
Merge pull request #535 from mapbox/logo-image

Add logo image
- - - - -
30a277a4 by Eric Fischer at 2018-02-22T17:25:54-08:00
Always keep the first feature so there is something to coalesce onto

- - - - -
27154c8f by Eric Fischer at 2018-02-23T12:26:58-08:00
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.

- - - - -
7fe0c878 by Eric Fischer at 2018-02-23T16:16:11-08:00
Get attribute accmulation by concatenation working

- - - - -
a8a342f7 by Eric Fischer at 2018-02-23T17:19:54-08:00
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).

- - - - -
e4e39289 by Eric Fischer at 2018-02-26T11:32:18-08:00
Fix the raw-tiles test and make it a little less fragile

- - - - -
06ed9d14 by Eric Fischer at 2018-02-26T12:53:43-08:00
Add an attribute for square root of cluster count

- - - - -
45b1a1d9 by Eric Fischer at 2018-02-26T16:47:15-08:00
Sum, product, concat, and comma operations work now

- - - - -
e939a852 by Eric Fischer at 2018-02-26T17:35:39-08:00
Make sure numeric command line arguments are actually numbers

- - - - -
c604a510 by Eric Fischer at 2018-02-27T13:38:37-08:00
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.)

- - - - -
ebe10a27 by Eric Fischer at 2018-02-27T14:45:46-08:00
Add documentation

- - - - -
f87b71b7 by Eric Fischer at 2018-02-27T15:45:09-08:00
Check the layer before letting a feature be coalsced/clustered/dropped

- - - - -
d66d0521 by Eric Fischer at 2018-02-27T16:12:29-08:00
Add the mean as an option for accumulating attributes

- - - - -
bfb6778e by Eric Fischer at 2018-02-27T17:04:15-08:00
Add feature density tilestats during tiling instead of as a special case

- - - - -
a2dfaf85 by Eric Fischer at 2018-02-27T17:49:48-08:00
Some basic tests for feature attribute accumulation

- - - - -
10a1bc85 by Eric Fischer at 2018-02-28T13:09:55-08:00
Fix use of references into the wrong string pool after parallel input

- - - - -
61cbc3ec by Eric Fischer at 2018-02-28T16:25:11-08:00
Merge pull request #536 from mapbox/accumulate-attribute

Accumulate specified attributes when features are dropped, clustered, or coalesced
- - - - -
18e345ef by Eric Fischer at 2018-03-01T16:53:59-08:00
Make clusters look better by averaging locations of clustered points

- - - - -
2b936af9 by Eric Fischer at 2018-03-02T10:35:58-08:00
Fix indentation

- - - - -
ca91cec9 by Eric Fischer at 2018-03-02T11:15:07-08:00
Merge pull request #537 from mapbox/adjust-cluster

Make clusters look better by averaging locations of clustered points
- - - - -
834c0503 by Eric Fischer at 2018-03-13T14:51:48-07:00
Add --progress-interval setting to reduce progress indicator frequency

- - - - -
f1eede11 by Eric Fischer at 2018-03-13T15:04:28-07:00
Track the last progress update with an atomic type, not volatile

- - - - -
fac0ebbf by Eric Fischer at 2018-03-13T15:21:21-07:00
All the other places where I used volatile but really wanted atomic

- - - - -
e690a1b5 by Eric Fischer at 2018-03-14T14:47:01-07:00
Merge pull request #540 from mapbox/progress-frequency

Add --progress-interval setting to reduce progress indicator frequency
- - - - -
71df4d3e by Eric Fischer at 2018-03-14T16:35:59-07:00
Always include tile and layer in tippecanoe-decode, fixing corrupt JSON.

- - - - -
35aa291a by Eric Fischer at 2018-03-15T12:35:59-07:00
Restore accidentally deleted test

- - - - -
605ccbe0 by Eric Fischer at 2018-03-15T14:42:53-07:00
Helper functions so I will stop writing JSON by hand

- - - - -
ddf4a45b by Eric Fischer at 2018-03-15T15:19:52-07:00
Use JSON writer functions for tile size stats

- - - - -
623e0c90 by Eric Fischer at 2018-03-15T17:07:26-07:00
More regularization of JSON writing

- - - - -
1c4aa57f by Eric Fischer at 2018-03-16T13:43:21-07:00
Change the JSON writing functions to object methods

- - - - -
08fc2f28 by Eric Fischer at 2018-03-16T14:20:52-07:00
JSON can be written to either a FILE or a string

- - - - -
ebb0334e by Eric Fischer at 2018-03-16T15:19:23-07:00
Use the standard JSON writer for tilestats

With a lot of weird special cases to keep the formatting
exactly like it accidentally was before

- - - - -
3c827b1d by Eric Fischer at 2018-03-16T15:35:26-07:00
Use the standard JSON writer when writing metadata.json

- - - - -
3d1ebdb8 by Eric Fischer at 2018-03-16T16:26:19-07:00
Add missing #include

- - - - -
e21e4d3b by Eric Fischer at 2018-03-16T17:06:54-07:00
Forgot the indentation change in this test

- - - - -
a1d002cc by Eric Fischer at 2018-03-19T11:18:03-07:00
Merge pull request #541 from mapbox/fix-decode-tile

Always include tile and layer in tippecanoe-decode, fixing corrupt JSON.
- - - - -
db2c7dbe by Eric Fischer at 2018-03-19T15:54:04-07:00
Update list of directories to exclude from code coverage

- - - - -
239a798b by Eric Fischer at 2018-03-19T16:05:14-07:00
Try codecov for code coverage

- - - - -
cc2cae14 by Eric Fischer at 2018-03-19T16:27:56-07:00
Add yml file for code coverage

- - - - -
8ff6e73b by Eric Fischer at 2018-03-21T11:48:37-07:00
Add codecov badge

- - - - -
3cea1257 by Eric Fischer at 2018-03-21T14:21:15-07:00
Merge pull request #542 from mapbox/coverage

Trying to fix code coverage
- - - - -
a45fec57 by Pratik Yadav at 2018-03-28T15:41:51+05:30
install on Ubuntu
- - - - -
d5b0da3a by Eric Fischer at 2018-03-28T12:25:48-07:00
Add link to Development section for compiler and prerequisite info

- - - - -
0304d164 by Eric Fischer at 2018-03-29T09:11:20-07:00
Merge pull request #545 from mapbox/install-ubuntu

Instruction on installing on Ubuntu
- - - - -
7f843c4d by Eric Fischer at 2018-03-29T12:02:59-07:00
Check integrity of sqlite3 file before decoding or tile-joining

- - - - -
6b29966e by Eric Fischer at 2018-03-29T13:03:25-07:00
Merge pull request #548 from mapbox/integrity-check

Check integrity of sqlite3 file before decoding or tile-joining
- - - - -
d01d8177 by Eric Fischer at 2018-04-05T14:15:19-07:00
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.

- - - - -
1b26beca by Eric Fischer at 2018-04-05T15:40:14-07:00
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.

- - - - -
970af810 by Andrew Harvey at 2018-04-06T10:56:51+10:00
skip csv lines with no geometry as is done for geojson

- - - - -
0d6112cf by Andrew Harvey at 2018-04-07T08:05:45+10:00
include empty geometry test for csv

- - - - -
cc6a97f1 by jingsam at 2018-04-08T17:19:19+08:00
Ignore tippecanoe-json-tool

- - - - -
767763c8 by Eric Fischer at 2018-04-09T08:26:08-07:00
Merge pull request #556 from jingsam/ignore-tippecanoe-json-tool

Ignore tippecanoe-json-tool
- - - - -
7006272b by Eric Fischer at 2018-04-09T08:27:05-07:00
Merge pull request #555 from andrewharvey/csv-null-geometry

Skip csv lines with no geometry as is done for geojson
- - - - -
cb463045 by Eric Fischer at 2018-04-09T08:33:14-07:00
Include another already-merged PR in changelog

- - - - -
066934a6 by Eric Fischer at 2018-04-09T09:24:25-07:00
Merge pull request #553 from mapbox/zoom-filter

Allow filtering features by zoom level in conditional expressions
- - - - -
a383f5c7 by Eric Fischer at 2018-04-18T20:48:13+03:00
Use an exit status of 100 if some but not all zoom levels succeeded

- - - - -
af69c85d by Eric Fischer at 2018-04-20T10:44:13+03:00
Merge pull request #561 from mapbox/exit-status

Use an exit status of 100 if some but not all zoom levels succeeded
- - - - -
b8cfab1e by Eric Fischer at 2018-05-04T10:37:27-07:00
Add #define to fix the build on Cygwin

- - - - -
43312fd8 by Eric Fischer at 2018-05-04T20:42:19+02:00
Merge pull request #565 from mapbox/gnusource

Add #define to fix the build on Cygwin
- - - - -
8ba88453 by Eric Fischer at 2018-05-04T12:43:27-07:00
Also take note of --force-feature-limit if extending zooms

- - - - -
2cf05240 by Eric Fischer at 2018-05-04T22:31:20+02:00
Merge pull request #566 from mapbox/extend-zooms-with-feature-limit

Also take note of --force-feature-limit if extending zooms
- - - - -
59dd0956 by Eric Fischer at 2018-05-07T14:42:49-07:00
Make file positions and lengths thread-safe

- - - - -
f070c746 by Eric Fischer at 2018-05-07T15:10:18-07:00
Add missing #include

- - - - -
8e8b74b0 by Eric Fischer at 2018-05-07T16:31:25-07:00
Merge pull request #567 from mapbox/checkdisk-race

Make file positions and lengths thread-safe
- - - - -
33b0d5c1 by Eric Fischer at 2018-05-11T14:44:10-07:00
Start an abstraction layer for input streams

- - - - -
72b81423 by Eric Fischer at 2018-05-11T14:58:29-07:00
JSON-reading glue to use the stream abstraction

- - - - -
9f7dc4b4 by Eric Fischer at 2018-05-11T15:51:53-07:00
Use zlib to decompress gzipped input

- - - - -
14b618ad by Eric Fischer at 2018-05-11T16:02:53-07:00
Make stream lookahead work; simplify the interface

- - - - -
dbd69142 by Eric Fischer at 2018-05-11T16:34:18-07:00
Test and documentation

- - - - -
450a8a74 by Eric Fischer at 2018-05-11T16:49:09-07:00
Fix reference to uncompressed version of test file that I compressed

- - - - -
974bfb35 by Eric Fischer at 2018-05-11T17:13:06-07:00
Add missing initializer in can't-be-compressed case

- - - - -
09565b46 by Eric Fischer at 2018-05-11T17:29:29-07:00
Fix arithmetic overflows

- - - - -
d0d953f4 by Eric Fischer at 2018-05-14T10:46:45-07:00
Use a loop instead of spelling out .json and .json.gz separately

- - - - -
0244f04b by Eric Fischer at 2018-05-14T11:35:29-07:00
Detect if the compressed input runs out before the stream is complete

- - - - -
73398a04 by Eric Fischer at 2018-05-14T12:40:38-07:00
Use the FILE-like abstraction that zlib already provides

- - - - -
6db02e84 by Eric Fischer at 2018-05-15T00:08:51+02:00
Merge pull request #568 from mapbox/gzip-input

Directly support gzipped GeoJSON files as input
- - - - -
445c33fb by Eric Fischer at 2018-05-14T17:43:42-07:00
Add #define needed for Cygwin

- - - - -
3f7ba291 by Eric Fischer at 2018-05-15T21:01:55+02:00
Merge pull request #569 from mapbox/tile-join-vasprintf

Add #define needed for Cygwin
- - - - -
a4825f6a by Eric Fischer at 2018-05-15T12:55:17-07:00
Explicitly check for infinite and not-a-number input coordinates

- - - - -
dc3aa2dd by Eric Fischer at 2018-05-16T14:29:28-07:00
Test CSV geometry with invalid coordinates

- - - - -
5494b7da by Eric Fischer at 2018-05-17T00:01:43+02:00
Merge pull request #570 from mapbox/nan-coordinates

Explicitly check for infinite and not-a-number input coordinates
- - - - -
02cb3a3f by Eric Fischer at 2018-05-18T14:45:03-07:00
Thread safety fix for decoding quadkeys to coordinates

- - - - -
b65a5d1b by Eric Fischer at 2018-05-23T01:39:39+02:00
Merge pull request #571 from mapbox/atomic-decode

Thread safety fix for decoding quadkeys to coordinates
- - - - -
7128ac44 by Eric Fischer at 2018-05-24T10:27:43-07:00
Track layer description as part of the tilestats

- - - - -
53731709 by Eric Fischer at 2018-05-24T11:30:42-07:00
Add the option to specify layer file, name, and description as JSON

- - - - -
32b3a154 by Eric Fischer at 2018-05-24T12:41:14-07:00
Add test for JSON specification of layer file, name, and description

- - - - -
54532795 by Eric Fischer at 2018-05-24T13:54:00-07:00
Trailing commas in CSVs are now treated as empty fields.

Empty fields are now treated as empty strings rather than nulls
in tippecanoe-json-tool, for consistency with tile-join.

- - - - -
bb8b01a7 by Eric Fischer at 2018-05-24T14:18:22-07:00
Add option to specify description for attributes in tileset metadata

- - - - -
48f7f1dd by Eric Fischer at 2018-05-24T16:01:57-07:00
Preserve layer and attribute descriptions across tile-join

- - - - -
38bca4a1 by Eric Fischer at 2018-05-25T01:49:06+02:00
Merge pull request #574 from mapbox/layer-description

Add the option to specify layer file, name, and description as JSON
- - - - -
48486b5d by Eric Fischer at 2018-06-01T12:59:28-07:00
Add --use-source-polygon-winding and --reverse-source-polygon-winding

- - - - -
c650329e by Eric Fischer at 2018-06-01T13:33:58-07:00
Use a complete feature in the winding test instead of a bare geometry

- - - - -
6e231f59 by Eric Fischer at 2018-06-01T23:19:43+02:00
Merge pull request #581 from mapbox/force-polygon-winding

Add --use-source-polygon-winding and --reverse-source-polygon-winding
- - - - -
23186731 by Eric Fischer at 2018-06-06T11:48:01-07:00
Be more systematic about nulls and undefined attribute values

It is an error to write a null attribute to a tile, but
null attributes found within existing tiles will be decoded
into JSON as null.

- - - - -
c9eed0d4 by Eric Fischer at 2018-06-06T11:48:57-07:00
Be careful to remove null attributes from prefilter/postfilter output

- - - - -
760a0c92 by Eric Fischer at 2018-06-06T11:54:23-07:00
Add missing JSON type check; bump version number.

- - - - -
9f1913bc by Eric Fischer at 2018-06-06T12:57:03-07:00
Merge pull request #585 from mapbox/nulls-from-filter

Be careful not to allow null attributes from prefilter/postfilter output to make it into tiles
- - - - -
11c6c869 by Eric Fischer at 2018-06-07T11:20:12-07:00
Include a creator field in tileset metadata with the Tippecanoe version

Also finally eradicates binary diffs from the tests

- - - - -
b0229530 by Eric Fischer at 2018-06-07T13:27:49-07:00
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.

- - - - -
4da6b932 by Eric Fischer at 2018-06-07T15:17:58-07:00
Use "generator" instead of "creator". Silence another status message.

- - - - -
7f90ba5e by Eric Fischer at 2018-06-07T21:37:25-07:00
Include version number in tile-join output too

- - - - -
bc3d4c6a by Eric Fischer at 2018-06-08T19:10:12+02:00
Merge pull request #587 from mapbox/tag-version

Include a generator field in tileset metadata with the Tippecanoe version
- - - - -
4d8a3c6b by Eric Fischer at 2018-06-08T14:24:18-07:00
Don't complain about coverage of the diff itself

- - - - -
54983c75 by Eric Fischer at 2018-06-08T23:58:43+02:00
Merge pull request #588 from mapbox/less-codecov

Don't complain about coverage of the diff itself
- - - - -
8d6bd4e1 by Eric Fischer at 2018-06-18T11:26:22-07:00
Add a filter extension to allow filtering individual attributes

- - - - -
9dac499a by Eric Fischer at 2018-06-18T14:34:10-07:00
Consistently refer to attributes, not properties

Except when referring to their representation in GeoJSON

- - - - -
262fbf26 by Eric Fischer at 2018-06-19T13:10:58-07:00
Fix missing null pointer check

- - - - -
c2bb35e6 by Eric Fischer at 2018-06-19T14:15:27-07:00
Bump version number

- - - - -
d64ac19f by Eric Fischer at 2018-06-20T00:10:28+02:00
Merge pull request #591 from mapbox/attribute-filter

Add a filter extension to allow filtering individual attributes
- - - - -
d1a0e495 by Eric Fischer at 2018-07-12T11:24:30-07:00
Require that per-feature maxzoom and minzoom be small integers

Also fixes a place in the Makefile that accidentally still used
CFLAGS instead of CXXFLAGS

- - - - -
07ab9003 by Eric Fischer at 2018-07-13T17:02:49-07:00
Report decompression errors in tippecanoe-decode

- - - - -
66839394 by Dane Springmeyer at 2018-07-13T18:27:24-07:00
catch all exceptions
- - - - -
3cb09d0e by Eric Fischer at 2018-07-17T14:57:56-07:00
Add the ability to specify the file format with -L{"format":"…"}

- - - - -
87a1bb78 by Eric Fischer at 2018-07-19T14:33:33-07:00
Add an option to treat empty CSV columns as nulls, not empty strings

- - - - -
206c75f0 by Eric Fischer at 2018-07-19T15:25:05-07:00
Merge pull request #604 from mapbox/per-feature-zoom-check

Require that per-feature maxzoom and minzoom be small integers
- - - - -
856c0558 by Eric Fischer at 2018-07-25T11:18:40-07:00
Don't guess a higher maxzoom than is allowed for manual selection

If maxzoom + detail > 32, some geometric operations are undefined

- - - - -
50b1eadf by Eric Fischer at 2018-07-25T11:59:36-07:00
Merge pull request #612 from mapbox/negative-shift

Don't guess a higher maxzoom than is allowed for manual selection
- - - - -
6f295f29 by Eric Fischer at 2018-07-26T15:08:47-07:00
Add an option to automatically assign ids to features

- - - - -
faa952ec by Eric Fischer at 2018-07-26T16:17:08-07:00
Merge pull request #615 from mapbox/generate-ids

Add an option to automatically assign ids to features
- - - - -
759bceb9 by Eric Fischer at 2018-07-27T16:14:49-07:00
Duplicate features within the buffer of the antimeridian on both sides

- - - - -
28ebec27 by Eric Fischer at 2018-07-30T15:06:11-07:00
Merge pull request #616 from mapbox/antimeridian

Duplicate features within the buffer of the antimeridian on both sides
- - - - -
796fa197 by Eric Fischer at 2018-07-31T16:54:42-07:00
Add missing initializer

Fixes https://github.com/mapbox/tippecanoe/issues/602

- - - - -
e9eca573 by Eric Fischer at 2018-07-31T17:47:52-07:00
Upgrade to Wagyu 0.4.3

- - - - -
c4cd7faa by Eric Fischer at 2018-08-01T10:21:32-07:00
Workaround to make it compile on g++-4.8.4

- - - - -
3fb83397 by Eric Fischer at 2018-08-01T13:14:14-07:00
Take cluster distance into account when guessing a maxzoom

- - - - -
bec1f41a by Eric Fischer at 2018-08-01T13:54:47-07:00
Merge pull request #622 from mapbox/cluster-maxzoom

Take cluster distance into account when guessing a maxzoom
- - - - -
510df9e2 by Eric Fischer at 2018-08-01T14:52:30-07:00
Add a cookbook section to the README

- - - - -
18e8bea1 by Eric Fischer at 2018-08-01T15:21:58-07:00
Add a point visualization example. Always make -z the first option.

- - - - -
4958c47a by Eric Fischer at 2018-08-01T16:31:59-07:00
Merge pull request #607 from mapbox/catch-all-exceptions-in-decode

decode: catch all exceptions
- - - - -
c9cc12e7 by Eric Fischer at 2018-08-01T17:49:54-07:00
Add "csv" to the list of suffixes to trim off of layer names

- - - - -
7221c7ba by Eric Fischer at 2018-08-02T10:05:19-07:00
Merge pull request #624 from mapbox/trim-csv

Add "csv" to the list of suffixes to trim off of layer names
- - - - -
60629da3 by Eric Fischer at 2018-08-06T10:15:20-07:00
Merge branch 'master' into wagyu-initializer

- - - - -
baab0cef by Eric Fischer at 2018-08-06T12:25:22-07:00
Increment version number

- - - - -
5c881c11 by Eric Fischer at 2018-08-06T13:30:24-07:00
Merge pull request #620 from mapbox/wagyu-initializer

Upgrade to Wagyu 0.4.3
- - - - -
8d67e460 by Eric Fischer at 2018-08-07T10:27:38-07:00
Add --exclude-all to tile-join

- - - - -
2e80377b by Eric Fischer at 2018-08-07T11:12:57-07:00
Merge pull request #626 from mapbox/tile-join-remove-attrs

Add --exclude-all to tile-join
- - - - -
79363e39 by Eric Fischer at 2018-08-08T13:11:10-07:00
Factor out the GeoJSON parsing loop from feature serialization

- - - - -
ba8966a4 by Eric Fischer at 2018-08-08T13:11:25-07:00
Use the same GeoJSON parsing loop in tippecanoe-json-tool

- - - - -
98cf4d94 by Eric Fischer at 2018-08-08T13:42:49-07:00
Don't accept features or geometries inside another object's properties

- - - - -
19c132e7 by Eric Fischer at 2018-08-08T14:17:08-07:00
Be more cautious about use of a null feature for bare geometries

- - - - -
f0517d09 by Eric Fischer at 2018-08-08T15:14:14-07:00
Merge pull request #627 from mapbox/geojson-loop

 Factor out the GeoJSON parsing loop from feature serialization
- - - - -
1ef2005f by Eric Fischer at 2018-08-16T12:08:37-07:00
Merge pull request #623 from mapbox/cookbook

Add a cookbook section to the README
- - - - -
0a3e4ad5 by Eric Fischer at 2018-08-16T13:46:37-07:00
Fix missing filename in warning messages

- - - - -
de40169f by Eric Fischer at 2018-08-16T14:20:38-07:00
Merge pull request #631 from mapbox/filename-warning

Fix missing filename in warning messages
- - - - -
addbd0a8 by Eric Fischer at 2018-08-20T17:45:18-07:00
Keep tile-join from generating a tileset name longer than 255 chars

- - - - -
15df8e84 by Eric Fischer at 2018-08-21T10:01:58-07:00
Merge pull request #633 from mapbox/tile-join-name-len

Keep tile-join from generating a tileset name longer than 255 chars
- - - - -
5d6e6e07 by jingsam at 2018-08-23T14:16:50+08:00
chore: ignore generated check and mbtiles files in tests

- - - - -
5483720e by Eric Fischer at 2018-08-23T10:34:38-07:00
Merge pull request #635 from jingsam/ignore-check-files

chore: ignore generated check and mbtiles files in tests
- - - - -
bc84b412 by Eric Fischer at 2018-08-31T15:12:00-07:00
Add options to change the tilestats limits

- - - - -
216c0cf4 by Eric Fischer at 2018-08-31T16:19:55-07:00
Be consistent about pluralization in the tilestats options

- - - - -
2530efd5 by Eric Fischer at 2018-08-31T16:52:38-07:00
Used the tilestats sample values limit instead of the attributes limit

- - - - -
9949d7ed by Eric Fischer at 2018-08-31T17:50:42-07:00
Merge pull request #639 from mapbox/tile-stats-limits

Add options to change the tilestats limits
- - - - -
7aebce7e by Eric Fischer at 2018-09-07T10:08:02-07:00
Issue an error message in tile-join if minzoom is greater than maxzoom

- - - - -
03199a77 by Eric Fischer at 2018-09-07T12:07:47-07:00
Merge pull request #642 from mapbox/maxzoom-minzoom

Issue an error message in tile-join if minzoom is greater than maxzoom
- - - - -
b2999fe9 by Eric Fischer at 2018-09-24T11:16:13-07:00
Create the output tile directory even if there are no valid features

- - - - -
b7fb5765 by Eric Fischer at 2018-09-24T13:52:31-07:00
Merge pull request #645 from mapbox/empty-tileset-dir

Create the output tile directory even if there are no valid features
- - - - -
1b75ca33 by Eric Fischer at 2018-10-10T14:35:46-07:00
Bug fix: mismatched features could be coalesced if from a prefilter

- - - - -
e18748e2 by Eric Fischer at 2018-10-10T15:12:38-07:00
Merge pull request #647 from mapbox/attribute-compare

Bug fix: mismatched features could be coalesced if from a prefilter
- - - - -
0acdeef5 by Eric Fischer at 2018-10-22T13:26:53-07:00
Fix null pointer crash when looking for feature extent in filter output

- - - - -
5dfbc4a2 by Eric Fischer at 2018-10-22T16:49:33-07:00
Add --clip-bounding-box option to clip input geometry

- - - - -
1cf3b0ac by Eric Fischer at 2018-10-23T10:55:07-07:00
Fix the feature bounding box after clipping

- - - - -
d3ae4853 by Eric Fischer at 2018-10-23T11:59:28-07:00
Merge pull request #650 from mapbox/filter-crash

Fix null pointer crash/add bounding box option
- - - - -
9c79cf71 by Eric Fischer at 2018-10-31T14:25:25-07:00
Warn in tile-join if tilesets being joined have different maxzooms

- - - - -
b8ffdda3 by Eric Fischer at 2018-10-31T16:09:11-07:00
Merge pull request #656 from mapbox/tile-join-maxzoom

Warn in tile-join if tilesets being joined have different maxzooms
- - - - -
53de8a20 by Eric Fischer at 2018-11-01T17:07:33-07:00
Add an option to convert stringified number feature IDs to numbers

- - - - -
bd2423a5 by Eric Fischer at 2018-11-02T15:21:52-07:00
Add an option to use a specified feature attribute as the feature ID

- - - - -
cc7c0cc6 by Eric Fischer at 2018-11-02T15:28:51-07:00
Don't test string ID conversion with geobuf, because it fails

- - - - -
752f77d5 by jingsam at 2018-11-07T14:49:51+08:00
chore: ignore geobuf tests files and node_modules

- - - - -
a3150642 by Eric Fischer at 2018-11-07T10:36:04-08:00
Merge pull request #663 from jingsam/ignore

chore: ignore geobuf tests files and node_modules
- - - - -
949468e6 by Eric Fischer at 2018-11-07T14:45:08-08:00
Merge pull request #658 from mapbox/coerce-feature-ids

Add an option to convert stringified number feature IDs to numbers
- - - - -
f9c9ff38 by Eric Fischer at 2018-11-07T15:46:44-08:00
Ignore leading zeroes when converting string attributes to feature IDs

- - - - -
739445cb by Eric Fischer at 2018-11-07T16:31:35-08:00
Merge pull request #665 from mapbox/coerce-id-leading-zero

Ignore leading zeroes when converting string attributes to feature IDs
- - - - -
52299905 by Eric Fischer at 2018-11-21T15:34:43-08:00
Fix gridding of small squares; use less memory for small features

- - - - -
4fec7a16 by Eric Fischer at 2018-11-26T10:22:05-08:00
Reduce coordinate precision so GeoJSON and geobuf have the same results

- - - - -
506526dd by Eric Fischer at 2018-11-26T10:57:30-08:00
Merge pull request #657 from mapbox/drop-features-earlier

Drop LineStrings and Polygons early in tiling if they are smaller than a pixel
- - - - -
cf28e6b8 by Eric Fischer at 2018-11-26T14:50:45-08:00
Make it an error, not a warning, to have missing coordinates for a point

- - - - -
9c708aa3 by Eric Fischer at 2018-11-26T15:34:11-08:00
Merge pull request #676 from mapbox/empty-coordinate

Make it an error, not a warning, to have missing coordinates for a point
- - - - -
3eea8b0e by Matthew Scutter at 2018-12-04T22:19:50+02:00
Update coalesce-smallest-as-needed documentation

- - - - -
4b209483 by Eric Fischer at 2018-12-04T12:49:23-08:00
Merge pull request #681 from Plantain/master

Update coalesce-smallest-as-needed documentation
- - - - -
ca4aad0c by Eric Fischer at 2018-12-11T17:09:13-08:00
Point features may now be coalesced into MultiPoint features with --coalesce

- - - - -
5f1c0e15 by Eric Fischer at 2018-12-11T17:52:51-08:00
Add a table of zoom level precisions to the documentation

- - - - -
6376c283 by Eric Fischer at 2018-12-12T10:51:00-08:00
Add Hilbert Curve feature sequencing as an option

- - - - -
45fbdf43 by Eric Fischer at 2018-12-12T16:58:30-08:00
Merge pull request #683 from mapbox/coalesce-points

Point features may now be coalesced into MultiPoint features with --coalesce
- - - - -
28f773a9 by Eric Fischer at 2018-12-13T11:20:06-08:00
Better error message if the output tileset already exists

- - - - -
b31b0b04 by Eric Fischer at 2018-12-13T15:07:31-08:00
Merge pull request #684 from mapbox/metadata-exists

Better error message if the output tileset already exists
- - - - -
32b14b12 by Eric Fischer at 2018-12-18T15:53:11-08:00
Limit detail to 30 and buffer 127 to prevent coordinate delta overflow

- - - - -
255f795c by Eric Fischer at 2018-12-18T17:31:51-08:00
Merge pull request #691 from mapbox/detail-limit

Limit detail to 30 and buffer 127 to prevent coordinate delta overflow
- - - - -
0505e0e7 by Eric Fischer at 2018-12-20T15:06:44-08:00
Add cookbook example for adding and removing features with tile-join

- - - - -
5421dbf8 by Eric Fischer at 2018-12-20T15:31:34-08:00
Merge pull request #695 from mapbox/cookbook-replace-features

Add cookbook example for adding and removing features with tile-join
- - - - -
b7466880 by wsw0108 at 2018-12-25T20:03:57+08:00
serial.cpp: fix shift-op typo

- - - - -
2eb7f5df by wsw0108 at 2018-12-25T20:04:41+08:00
read_json.cpp: fix semantic typo

- - - - -
454ae962 by Eric Fischer at 2019-01-02T10:16:06-08:00
Merge pull request #697 from wsw0108/typo

fix some typo
- - - - -
6da20909 by Eric Fischer at 2019-01-16T11:56:25-08:00
Fix a bug that disallowed a per-feature minzoom of 0

- - - - -
610afc23 by Eric Fischer at 2019-01-16T13:08:54-08:00
Merge pull request #702 from mapbox/minzoom-0

Fix a bug that disallowed a per-feature minzoom of 0
- - - - -
e805d113 by Eric Fischer at 2019-01-22T14:26:06-08:00
Remove now-unused filter argument during parsing

- - - - -
185f7d75 by Andrew Harvey at 2019-02-03T21:31:16+11:00
update broken links in README.md
- - - - -
87bdaa1a by Eric Fischer at 2019-02-04T10:06:00-08:00
Merge pull request #711 from andrewharvey/patch-3

update broken links in README.md
- - - - -
8c2df5f7 by Eric Fischer at 2019-02-13T16:45:11-08:00
Clarify use of multiple -x or -y options

- - - - -
451175dd by Eric Fischer at 2019-02-14T10:42:43-08:00
Merge pull request #715 from mapbox/multiple-include

Clarify use of multiple -x or -y options
- - - - -
b1ae63ab by Eric Fischer at 2019-02-14T10:43:11-08:00
Merge pull request #707 from mapbox/unused-filter

Remove now-unused filter argument during parsing
- - - - -
9387fe65 by Eric Fischer at 2019-02-14T10:48:22-08:00
Current behavior if the ID attribute is also excluded

- - - - -
435a788c by Eric Fischer at 2019-02-14T11:40:58-08:00
Don't exclude the attribute that is specified to be the feature ID

- - - - -
454f75ef by Eric Fischer at 2019-02-14T12:40:22-08:00
Merge pull request #716 from mapbox/keep-id-attribute

Don't exclude the attribute that is specified to be the feature ID
- - - - -
8df04552 by Eric Fischer at 2019-02-20T12:04:10-08:00
Make tile-join and tippecanoe-decode more flexible about directories:

* Accept .mvt as well as .pbf in directories of tiles
* Allow tippecanoe-decode and tile-join of directories with no metadata

- - - - -
90afdf8f by Eric Fischer at 2019-02-20T12:06:06-08:00
Merge branch 'master' into decode-mvt

- - - - -
907ddeb7 by Eric Fischer at 2019-02-20T14:08:22-08:00
Merge pull request #718 from mapbox/decode-mvt

Make tile-join and tippecanoe-decode more flexible about directories
- - - - -
1bc475b7 by Eric Fischer at 2019-03-01T15:52:24-08:00
Fix reading of MultiLineStrings in Geobuf input

- - - - -
945d8040 by Eric Fischer at 2019-03-01T16:22:00-08:00
Merge pull request #725 from mapbox/geobuf-multilinestring

Fix reading of MultiLineStrings in Geobuf input
- - - - -
0704ec98 by Andrew Harvey at 2019-03-11T16:40:59+11:00
Update README.md to include ndjson-cli suggestion

Most software in the ecosystem is unable to write arbitrary data to the tippecanoe object, so it might be helpful to show how users can make these GeoJSON extensions work. #685
- - - - -
25b9c51a by Eric Fischer at 2019-03-18T18:01:32-07:00
Fix -Z and -z for tile directories in tile-join and tippecanoe-decode

- - - - -
7419d64a by Eric Fischer at 2019-03-19T10:06:46-07:00
Suggest https instead of ssh for "git clone"

to avoid the need for authentication

- - - - -
ac129320 by Eric Fischer at 2019-03-19T10:13:44-07:00
Return a successful error status for --help and --version

- - - - -
e051c530 by Eric Fischer at 2019-03-19T10:16:14-07:00
Fix duplicated error message for unknown option

- - - - -
4f7459c7 by Eric Fischer at 2019-04-04T17:03:36-07:00
Record the command line options in the tileset metadata

- - - - -
f95b9bcc by Eric Fischer at 2019-04-05T11:30:57-07:00
Use single-quote quoting instead of backslash quoting

- - - - -
26a07b21 by Eric Fischer at 2019-04-05T12:05:03-07:00
Forgot to update this test standard

- - - - -
382563a5 by Eric Fischer at 2019-04-05T13:15:46-07:00
Sort wildcards in Makefile to provide test stability

- - - - -
18b6473c by Eric Fischer at 2019-04-05T13:45:55-07:00
Merge pull request #744 from mapbox/track-flags

Record the command line options in the tileset metadata
- - - - -
e89bdecb by Eric Fischer at 2019-04-08T16:28:12-07:00
Merge branch 'master' into raw-tiles-zoom-enumerate

- - - - -
99dc019d by Eric Fischer at 2019-04-08T16:29:56-07:00
Fix tests after merge

- - - - -
ffab8760 by Eric Fischer at 2019-04-08T16:30:19-07:00
Don't run shell filters if the current zoom is below the minzoom

- - - - -
9d06af96 by Eric Fischer at 2019-04-08T16:32:08-07:00
Merge pull request #730 from andrewharvey/patch-4

Update README.md to include ndjson-cli suggestion
- - - - -
a8a183df by Eric Fischer at 2019-04-08T16:32:39-07:00
Update changelog and version

- - - - -
fcab1da9 by Eric Fischer at 2019-04-08T16:33:03-07:00
Merge branch 'master' into raw-tiles-zoom-enumerate

- - - - -
7be3710b by Eric Fischer at 2019-04-08T16:33:11-07:00
Rebuild documentation

- - - - -
b147ff22 by Eric Fischer at 2019-04-08T17:03:06-07:00
Merge pull request #735 from mapbox/raw-tiles-zoom-enumerate

Fix -Z and -z for tile directories in tile-join and tippecanoe-decode
- - - - -
4d3e3077 by Eric Fischer at 2019-04-12T12:12:14-07:00
Be more consistent about when longitudes beyond 180 are allowed

- - - - -
363d21bf by Eric Fischer at 2019-04-12T12:45:56-07:00
Merge pull request #748 from mapbox/high-longitude

Be more consistent about when longitudes beyond 180 are allowed
- - - - -
1b14034c by Eric Fischer at 2019-05-08T13:47:53-07:00
Add map scale to table of zoom level equivalences

- - - - -
9dc92a45 by Eric Fischer at 2019-05-09T16:48:20-07:00
Merge pull request #757 from mapbox/map-scale

Add map scale to table of zoom level equivalences
- - - - -
42ee195b by Eric Fischer at 2019-05-13T17:39:07-07:00
Add an option to keep intersection nodes from being simplified away

- - - - -
dcdfb94b by Eric Fischer at 2019-05-16T10:13:43-07:00
Bump version number for --no-simplification-of-shared-nodes

- - - - -
b550c7b4 by Eric Fischer at 2019-05-16T10:38:56-07:00
Merge pull request #760 from mapbox/preserve-shared-nodes

Add an option to keep intersection nodes from being simplified away
- - - - -
fc335e22 by Eric Fischer at 2019-06-17T17:50:25-07:00
Be careful to avoid undefined behavior from shifting negative numbers

- - - - -
9e3fed88 by Eric Fischer at 2019-06-18T14:57:49-07:00
Merge pull request #768 from mapbox/undefined-shifts

Be careful to avoid undefined behavior from shifting negative numbers
- - - - -
7bba6bc7 by Eric Fischer at 2019-07-22T09:59:37-07:00
Make the documentation match the code about the "clustered" attribute

- - - - -
df9fa602 by Eric Fischer at 2019-07-22T11:06:26-07:00
Merge pull request #772 from mapbox/clustered-doc-fix

Make the documentation match the code about the "clustered" attribute
- - - - -
78853baf by Eric Fischer at 2019-08-19T12:08:01-07:00
Extend the table of precisions

- - - - -
d96b5215 by Eric Fischer at 2019-08-19T14:03:10-07:00
Merge pull request #785 from mapbox/more-precisions

Extend the table of precisions
- - - - -
fc810d41 by Eric Fischer at 2019-08-30T15:34:24-07:00
Fix line numbers in GeoJSON feature parsing error messages

- - - - -
33b055bf by Eric Fischer at 2019-08-30T15:58:14-07:00
Merge pull request #790 from mapbox/json-parser-line-numbers

Fix line numbers in GeoJSON feature parsing error messages
- - - - -
9e81d5a3 by Eric Fischer at 2019-10-01T10:09:59-07:00
Explain why you might want uncompressed tiles

- - - - -
ea53f5ed by Eric Fischer at 2019-10-01T10:42:26-07:00
Merge pull request #800 from mapbox/compression-error-doc

Explain why you might want uncompressed tiles
- - - - -
28e99f8e by Geeknik Labs at 2019-10-06T19:23:32-05:00
Update README.md

Update the example in the 'Try this first' section so it matches other examples further along in this file.
- - - - -
ec00ac25 by Eric Fischer at 2019-10-08T10:24:43-07:00
Merge pull request #801 from geeknik/patch-1

Update README.md
- - - - -
25bf3957 by Eric Fischer at 2019-10-31T13:50:29-07:00
Guard against null data in the mbtiles file when decoding

- - - - -
065cc1d7 by Eric Fischer at 2019-10-31T14:42:26-07:00
Merge pull request #813 from mapbox/decode-crash

Guard against null data in the mbtiles file when decoding
- - - - -
ed9f844c by Eric Fischer at 2020-02-06T15:28:10-08:00
Fix calculation of mean when accumulating attributes in clusters

- - - - -
ddb79937 by Eric Fischer at 2020-02-06T16:24:35-08:00
Merge pull request #841 from mapbox/fix-accumulate-mean

Fix calculation of mean when accumulating attributes in clusters
- - - - -
efa40d20 by Monty Taylor at 2020-05-17T09:43:24-05:00
Clean a few warnings emited by GCC v8

An instance of catching an exception by value:

  https://blog.knatten.org/2010/04/02/always-catch-exceptions-by-reference/

In jsontool, there's a warning about writing 8 bytes into a 7
byte buffer, potentially truncating or losing the nul-terminator.

There are a couple of instances of an unused bool variable, not
really a big deal.

- - - - -
6d2713b0 by Jamie Alessio at 2020-05-19T21:57:28-07:00
Instruct curl to follow redirects for census.gov URLs

These examples are no longer working without the addition of `-L` to the `curl` command. Note that other examples in this same file already have the `-L` for `census.gov` URLs.

Example for URL being called:
```
> curl -I http://www2.census.gov/census_2010/01-Redistricting_File--PL_94-171/California/ca2010.pl.zip

HTTP/1.1 302 Moved Temporarily
Location: https://www2.census.gov/census_2010/01-Redistricting_File--PL_94-171/California/ca2010.pl.zip?sec_ak_reference=18.440ad717.1589950562.829e1048
Server: BigIP
Content-Length: 0
Date: Wed, 20 May 2020 04:56:02 GMT
Connection: keep-alive
```
- - - - -
e0c7f1b9 by Eric Fischer at 2020-08-25T17:00:50-07:00
Upgrade Wagyu to version 0.5.0

- - - - -
c678f784 by Eric Fischer at 2020-08-26T08:31:12-07:00
Also update the Wagyu license

- - - - -
9f8c8508 by Eric Fischer at 2020-08-26T10:11:56-07:00
Exclude mapbox header libraries from code coverage

- - - - -
ea52e88a by Eric Fischer at 2020-08-26T10:44:27-07:00
Update changelog

- - - - -
62b9d12a by Eric Fischer at 2020-08-26T12:02:00-07:00
Merge pull request #879 from mapbox/wagyu-0.5.0

Upgrade Wagyu to version 0.5.0
- - - - -
80eeacc9 by Eric Fischer at 2020-08-26T12:04:44-07:00
Forgot to increment the version number

- - - - -
97ace997 by Eric Fischer at 2020-08-26T12:51:29-07:00
Merge pull request #880 from mapbox/version-1.36.0

Forgot to increment the version number
- - - - -
9ece7c0d by brsbl at 2020-10-01T12:50:19-07:00
Update README.md

Small update to the README.md 

cc @flippmoke
- - - - -
62554b6c by Blake Thompson at 2020-10-01T14:53:02-05:00
Pull title to the top

- - - - -
1fa797bc by Blake Thompson at 2020-10-01T14:54:02-05:00
One more readme change

- - - - -
5808c951 by brsbl at 2020-10-01T12:56:21-07:00
Merge pull request #883 from mapbox/readme-update

Update README.md
- - - - -
4bb73aa6 by brsbl at 2020-10-01T12:59:06-07:00
Update README.md
- - - - -
158b5fb2 by Eric Fischer at 2021-02-12T08:30:17-08:00
Merge pull request #861 from emonty/clean-warnings

Clean a few warnings emited by GCC v8
- - - - -
18e53cd7 by Eric Fischer at 2021-02-12T08:30:54-08:00
Merge pull request #862 from jalessio/patch-1

Instruct curl to follow redirects for census.gov URLs
- - - - -
7f69b803 by Brandon Liu at 2022-02-08T15:22:50+08:00
version bump: original 1.36.0 same as fork version 2.0.0

- - - - -
a3dec511 by Brandon Liu at 2022-02-14T11:33:34+08:00
add flatgeobuf dependencies [#2]

- - - - -
8a5a2496 by Brandon Liu at 2022-03-27T19:13:03+08:00
Implement FlatGeobuf Polygon type parsing [#2]

- - - - -
88cedf54 by Brandon Liu at 2022-03-27T19:13:12+08:00
FlatGeobuf column type parsing [#2]

- - - - -
b350a8dd by Brandon Liu at 2022-03-27T19:13:12+08:00
FlatGeobuf MultiPolygon parsing [#2]

- - - - -
33a9aef7 by Brandon Liu at 2022-03-27T19:13:22+08:00
Handle indeterminate length FlatGeobuf headers, linestring geometries [#2]

- - - - -
245570fe by Brandon Liu at 2022-03-27T19:13:43+08:00
FlatGeobuf multipoints [#2]

- - - - -
6e6cd293 by Brandon Liu at 2022-03-27T19:14:27+08:00
FlatGeobuf multithreading [#2]

- - - - -
d2951d34 by Brandon Liu at 2022-03-27T19:14:35+08:00
FlatGeobuf style fixup, fix starting of queue with few features, buffer verification [#2,#6]

- - - - -
e1a5fd12 by Brandon Liu at 2022-03-27T19:18:09+08:00
README changes for FlatGeobuf [#2]
- - - - -
e5856398 by Brandon Liu at 2022-03-27T19:21:05+08:00
update LICENSE to reflect fork.
- - - - -
35b576d0 by Brandon Liu at 2022-03-27T19:22:49+08:00
Merge pull request #10 from protomaps/flatgeobuf

FlatGeobuf input support [#2]
- - - - -
bb2aa65b by Brandon Liu at 2022-03-27T19:26:22+08:00
version 2.1.0

- - - - -
155f1296 by Brandon Liu at 2022-03-27T19:27:41+08:00
readme updates

- - - - -
9bf33267 by Brandon Liu at 2022-03-27T21:53:20+08:00
update README clone path

- - - - -
cc52f659 by Brandon Liu at 2022-03-27T21:53:50+08:00
update man page to reflect new README

- - - - -
fe6f21fe by Brandon Liu at 2022-03-28T00:01:08+08:00
FlatGeobuf: support Point geometries [#2]

- - - - -
19241f83 by Brandon Liu at 2022-03-30T12:37:55+08:00
FlatGeobuf: if fgb has index, assign feature IDs based on sequence number [#2]

- - - - -
7f678502 by Brandon Liu at 2022-04-02T12:07:22+08:00
FlatGeobuf: read files with heterogeneous geometry types [#8]

- - - - -
170ddf73 by Brandon Liu at 2022-04-02T12:28:28+08:00
comments cleanup

- - - - -
7c726e4d by Brandon Liu at 2022-04-23T13:26:26+08:00
add missing column types [#2]

- - - - -
d04bd09d by Brandon Liu at 2022-04-27T22:14:22+08:00
fix struct name collision [#12]

- - - - -
9875ae97 by Brandon Liu at 2022-05-17T15:29:38+08:00
add lambda info

- - - - -
4adb22b7 by Brandon Liu at 2022-07-05T15:32:00+08:00
suppress flatgeobuf message

- - - - -
f442e403 by Brandon Liu at 2022-07-05T15:32:11+08:00
add logging struct with -u json options flag, log tiling progress [#13]

- - - - -
fbc7b021 by Brandon Liu at 2022-07-05T21:26:13+08:00
improvements to lambda wrapper [#13]

- - - - -
e6ab02dd by Brandon Liu at 2022-07-06T12:21:12+08:00
lambda default progress is public [#13]

- - - - -
6978a0e1 by Erica Fischer at 2022-07-28T11:19:30-07:00
Reindent with clang-format (#3)


- - - - -
67cd9d8d by Erica Fischer at 2022-08-09T15:18:51-07:00
Reduce tippecanoe memory usage (#5)

* Change JSON objects to a union type to use less memory

* Stop storing the string representation of JSON numbers

* Restore the ability to create features with large integer attributes

* Make sure large-integer feature IDs still behave as before

* Add missing #include

* Don't preallocate as much space for arrays and objects

* Treat inability to check free disk space as a warning, not an error

* Update changelog and version
- - - - -
c65d6938 by Erica Fischer at 2022-08-09T15:29:03-07:00
Drop or coalesce points too when dropping or coalescing smallest (#6)

* Handle points too when dropping or coalescing the "smallest" features.

* Add statistics of tile size reduction strategies to tileset metadata

* Update changelog and version

* Update documentation
- - - - -
86f3e98c by Erica Fischer at 2022-08-11T09:58:00-07:00
Track the desired tile size for each zoom level in tileset metadata (#7)


- - - - -
a9bf6cac by Erica Fischer at 2022-08-11T10:04:03-07:00
Add --smallest-maximum-zoom-guess to specify a minimum maxzoom to guess (#2)

* Add --maximum-zoom-at-least to specify a minimum maxzoom to guess

* Check whether the specified minimum maxzoom is out of range

* Rename the option to --smallest-maximum-zoom-guess

* Update tests, changelog, and version
- - - - -
fec5e835 by Erica Fischer at 2022-08-11T10:13:54-07:00
Improve maxzoom guessing for tightly-clustered point data sources (#4)

* Improve maxzoom guessing for tightly-clustered point data sources

* Go back to the old distance estimate, since it is less mysterious

* Update changelog and version
- - - - -
4ea8a376 by Erica Fischer at 2022-08-12T13:57:04-07:00
Accept tilestats limiting options in tile-join, not just tippecanoe (#8)


- - - - -
a447dfc0 by Erica Fischer at 2022-09-06T13:08:11-07:00
Extra coordinate precision; feature ordering; compression improvements

* Add an option to retain extra coordinate precision at maxzoom

* Make sure not to shift away the extra detail from coordinates

* Add an option to convert double-precision attributes to single

* Sort attribute values in tiles to make them compress a little better

* Slightly improve polygon simplification

By choosing a point that would be retained after simplification
to be the start/end point that always gets retained

* I regret making all of these tests involve polygons

* Add an option to specify the size of tiny polygons

* Fix accidental requiring of argument for --single-precision

* Guard against duplicate points when generating "sizes" for them

* Restore the intended behavior that tiny polygons don't get simplified

* Make the extra detail settable rather than always maximizing it

* Revert "Improve maxzoom guessing for tightly-clustered point data sources (#4)"

This reverts commit fec5e8354cff7ab6d64f00ea7db6da21c5c732c6.

* Add an option to prevent choosing a base zoom higher than the maxzoom

* Keep the drop rate high enough when the basezoom gets constrained

* Revert "Revert "Improve maxzoom guessing for tightly-clustered point data sources (#4)""

This reverts commit db6bc27d9e5bd6b5a218ba9a07117b4f1abb75fb.

* Add --order-by and --order-descending options

* Accept multiple --order-by and --order-descending-by sort keys

- - - - -
073700aa by Erica Fischer at 2022-09-08T15:47:32-07:00
Reduce maxzooms being guessed a little: (#2)

* Reduce maxzooms being guessed a little:

* Use 1.5 standard deviations, not 2, as the minimum distinguishable
* Give overlapping polygons and linestrings more distinct indices

* Add another drop rate guessing options, from the same metrics -zg uses

* Guard against using -rp without -zg
- - - - -
8e46650d by Erica Fischer at 2022-09-13T11:24:01-07:00
Upgrade to protozero 1.7.1 (#5)

* Upgrade to protozero 1.7.1

* Bump version number
- - - - -
ed31b9ac by Vincent Sarago at 2022-09-23T19:54:57-04:00
Update README.md (#13)

protomaps -> felt
- - - - -
af1a7ed7 by Erica Fischer at 2022-09-23T20:01:13-04:00
Once features can't possibly fit in a tile, stop trying (#9)

* Stop adding features to a tile if it can't possibly work

* Add --integer and --fraction options to tippecanoe-decode

* Carry the strategies field from tileset metadata through tile-join

* Update changelog

* Assign different codes to different kinds of error exits
- - - - -
3086838a by Erica Fischer at 2022-09-27T09:15:54-07:00
Fix wrong-way comparison that was causing buffer overflow crash in tile-join (#14)

* Fix wrong-way comparison that was causing buffer overflow in tile-join

* Update changelog
- - - - -
6de00c15 by Erica Fischer at 2022-09-27T10:37:02-07:00
Fix tests that I missed updating in 2.6.2 (#15)


- - - - -
4ef430b9 by Erica Fischer at 2022-09-30T12:00:07-07:00
Add an option for the Visvalingam simplification algorithm (#16)

* First attempt at porting Paul Mach's Visvalingam implementation

* Make indent

* Mostly working

* Approximate equivalence from Douglas-Peucker to Visvalingam levels

* Don't simplify away tile boundary crossing points

* Add a command-line option and test for Visvalingam simplification

* Update changelog

* Cleanup in response to review feedback

* Include <stdio.h> to fix compiler warnings
- - - - -
a6abb0bc by Erica Fischer at 2022-10-03T12:18:02-07:00
Add the option to use a different simplification level at maxzoom (#17)

* Add an option to specify a different simplification at maxzoom

* Add test
- - - - -
182093bd by Erica Fischer at 2022-10-04T10:04:34-07:00
Improve precision of polygon area calculations (#19)

* Improve precision of get_area by using long double

* Trying to get consistent polygon area results between ARM and x86

* Calculate polygon area closer to the origin for better precision

* Update changelog

* Also exercise tiny polygon dust in the ring area test

They previously behaved differently here between x86 and ARM

* On M1 Macs, long double is just double anyway, so don't use it

* Be more careful about overflow: scale the polygon ring down into range

* Fix the bug I just introduced in the scaled area calculation

* Use only the sign from the scaled-down area calculation

Co-authored-by: Roman Karavia <47303530+romankaravia at users.noreply.github.com>
- - - - -
b7636258 by Erica Fischer at 2022-10-13T14:21:36-07:00
Add an option to generate label points in place of polygons (#20)

* Add an option to generate label points in place of polygons

* Change all these places where I said "extent" but really meant "area"

* Revert "Change all these places where I said "extent" but really meant "area""

This reverts commit 403828d2f7c8fc21329f76408abf1ae61b6faf86.

* Add --order-smallest-first and --order-largest-first options

* Use Turf's center-of-mass algorithm for polygon label points

* If the label point isn't within the polygon, find one that is

* Don't choose a label point that is too close to a border

* Try a little harder to find an optimal label point

* Checkerboard which tiles labels are generated in, to reduce adjacency

* Use a label point for the general representative point for polygons

(Skipping the iteration to find one that is as far as possible from
the borders)

This makes the labels look better in many cases (like France at z1)
but unfortunately ripples into changing the sequence of polygons in
many tests, so the diff is big.

* Revert "Use a label point for the general representative point for polygons"

This reverts commit 2261adf05eba1d454f6792f08e1e107f4b8342b5.

* Checkpoint work on spiral labels

* Clip label spirals to the feature bounds

* Fix label test

* Be careful not to place spiral labels too close to borders either

* For spiral anchors, only check tile scale, not feature size

* Update test

* Only try to find a central label point for the largest ring

* In tiny polygon dust, keep the attributes of the largest feature
- - - - -
5b03b18f by Erica Fischer at 2022-10-21T13:59:36-07:00
Generate label points after simplification, not before. (#27)

* Generate labels points after simplification, not before.

Previously there were some cases where dropping the smallest
polygons would never reduce the number of labels.

* Also wait until after polygon cleaning to make labels

* Remove the extra newlines after the TILES ONLY COMPLETE message
- - - - -
c2214631 by James Chevalier at 2022-11-03T14:24:02-07:00
Update flatbuffers to v22.9.29 (#26)

* update flatbuffers files

How:
- Copied files in from the latest release (v22.9.29) of flatbuffers

Why:
- The files in place blocked compilation within Alpine Linux

Links:
- https://github.com/felt/tippecanoe/issues/24
- https://github.com/google/flatbuffers/releases/tag/v22.9.29

* update flatgeobuf generate files

How
- Created `feature_generated.h` & `header_generated.h` using the `src/fbs` files from the latest release (3.23.1) of flatgeobuf
    - Downloaded the `flatc` binary from the v22.9.29 release of flatbuffers
    - Copied `flatc` into the flatgeobuf repository
    - Created a new directory named `out` to collect the generated files
    - `./flatc --cpp -o out -I include src/fbs/feature.fbs`
    - `./flatc --cpp -o out -I include src/fbs/header.fbs`
    - Moved the generate files from `out` into this repository's `flatgeobuf` directory

Why
- This is a required step in the process of updating flatbuffers files

Links
- https://github.com/flatgeobuf/flatgeobuf/releases/tag/3.23.1
- https://github.com/google/flatbuffers/releases/tag/v22.9.29
- https://github.com/felt/tippecanoe/issues/24#issuecomment-1286476550
- - - - -
4317c826 by zstadler at 2022-11-03T14:24:31-07:00
Fix docker build compilation (#29)

Fixes #28
- - - - -
15845432 by Erica Fischer at 2022-11-03T14:43:00-07:00
Fix the flatgeobuf build (#30)


- - - - -
622084a5 by Erica Fischer at 2022-11-07T10:14:17-08:00
Limit guessed maxzoom to avoid spending too many tiles on polygon fill (#23)

* Change sqlite3 schema to deduplicate identical tiles

* Limit guessed maxzoom to avoid spending too many tiles on polygon fill

* Fix test.

These dust polygons now have their area calculated because their
maxzoom is being guessed, so the attributes from the largest one
rather than the last one are preserved.

* Increase polygon limit to a million tiles

* Two million tiles ought to be enough for anyone, right?

* Add explanatory comments for mysterious numbers
- - - - -
7733cced by Erica Fischer at 2022-11-16T10:55:07-08:00
Add an option to drop more points in dense areas than in sparse areas (#35)

* Add an option to drop the densest features by rate, not a fraction

* Restrict dot dropping just to dots, as it should be

* 50% mix of sparse and uniform point preservation

* Update version, changelog, test, and documentation

* 60% sparse, 40% dense

* Didn't update the test after the last change

* Make the drop-denser rate configurable without recompiling
- - - - -
8eec2be4 by Erica Fischer at 2022-11-17T13:09:10-08:00
Improve quality of coalescing-as-needed; add options to limit feature count (#25)

* Add an option to limit geometry vertex count

* Update docs and changelog

* Track desired feature count and geometry size in strategies

* Remove dead code for a long-forgotten inaccessible option

* Fix the option name in changelog

* Refine coalesce-smallest to only coalesce onto other small features

* Clean polygons before coalescing-as-needed

* Don't accumulate tiny polygon holes as negative dust

* Add the option not to limit the feature count at maxzoom

* Add options to limit feature count more abruptly in each tile

* Revert "Add the option not to limit the feature count at maxzoom"

This reverts commit ace173ab7a69688863c4c763e099f052b88911da.

* Revert "Fix the option name in changelog"

This reverts commit 38dbce8405beb18ca575cb7f9030568be8991e6e.

* Revert "Add an option to limit geometry vertex count"

This reverts commit d379fdf06b5d41ebe950cdddb4cc93f6d54071bd.

* Remove test for reverted option

* Remove more leftovers from geometry size limiting

* Update changelog
- - - - -
3095adb4 by Erica Fischer at 2022-11-22T14:57:07-08:00
Simplify geometry earlier when the in-memory representation of a tile gets large, to reduce peak memory usage (#38)

* Simplify geometries earlier if the in-memory tile starts getting big

* Update changelog
- - - - -
5c647cdb by Erica Fischer at 2022-11-29T12:42:30-08:00
Don't preflight zoom levels for potential as-needed dropping (#40)

* Working on eliminating preflighting

* Adjust for the map/images schema change

* Avoid generating duplicate tiles with the detail reduction strategy

* Do error checking if tiles in a directory can't be written

* Update changelog and version

* Revert unintentional code reordering

* Neglected to add the exit on error here
- - - - -
f1df09f1 by Erica Fischer at 2022-12-02T11:02:33-08:00
Generate fewer duplicate label points at high zoom levels (#42)


- - - - -
b9af9226 by Brandon Liu at 2022-12-12T13:28:51-08:00
Change mbtiles tile_id inserts from blob to text (#41)

Change mbtiles tile_id inserts from blob to text to enable querying by text.

* previous blob type worked for internal join, but made querying by text impossible without casting.
- - - - -
9c77029b by Erica Fischer at 2022-12-12T13:32:02-08:00
Add a data structure for tileset metadata (#44)

* Progress toward making a tileset metadata structure

* Write metadata from structure to mbtiles

* Write dirtiles metadata.json from metadata structure

* Update changelog
- - - - -
bfabf832 by Brandon Liu at 2022-12-12T13:33:55-08:00
change hash function to fnv1a (#48)

change mbtiles hash function from hashCode to fnv1a.
- - - - -
2b7bbbdb by Erica Fischer at 2022-12-14T12:34:21-08:00
Report JSON object context on the same line as the error message (#49)

* Report JSON object context on the same line as the error message

* Update changelog
- - - - -
07992971 by Erica Fischer at 2022-12-20T12:54:21-08:00
Avoid spending gigabytes of memory on statistics for -as-needed dropping (#50)

* Downsample indices and areas during tiling if they get too big

* Cap the indices rather than downsampling them
- - - - -
a3742634 by Sam Hashemi at 2022-12-28T14:06:42-08:00
Update README (#54)


- - - - -
3b2599f5 by Erica Fischer at 2022-12-29T12:00:13-08:00
Add support for pmtiles output format (#55)

* add pmtiles.hpp from github.com/protomaps/PMTiles [#10]

* tippecanoe main writes pmtiles output. [#10]

* detect output format using suffix
* after mbtiles is done writing, replace with pmtiles based on map/image tables.
* add method to write_json for writing json sub-object.

* tippecanoe-decode reads pmtiles input. [#10]

* tile-join reads and writes pmtiles. [#10]

* pmtiles test suite for decode and tile-join [#10]

* add base GitHub CI action for compiling and test suite.

* update pmtiles.hpp with z>15 fix

* Fix some ordering problems with pmtiles decode

* Pmtiles should also pass the raw tiles tests

* Eradicate spaces from tileset metadata JSON fields

* Eradicate spaces from more test fixtures

* Update more tests

* Pmtiles tests pass now too

* Remove unnecessary sort (and make indent)

* Update changelog

* The allow-existing test for pmtiles needs -o, not -e

* Declare --allow-existing to be unsupported for pmtiles.

It was always a bad idea even for mbtiles.

Co-authored-by: Brandon Liu <bdon at bdon.org>
- - - - -
54b47a67 by Erica Fischer at 2023-01-17T15:16:22-08:00
Fix crash when using tile-join to copy an empty pmtiles tileset (#61)

* Fix crash when using tile-join to copy an empty pmtiles tileset

* Update changelog
- - - - -
3cb6e4dd by Erica Fischer at 2023-01-26T15:27:06-08:00
Set base zoom if requested as part of maxzoom guessing (#63)

* Set base zoom if requested as part of maxzoom guessing

* Add a test for guessing the maxzoom of a single point

* Don't guess an excessively large maxzoom when there is only one feature

* Update changelog
- - - - -
1c576c2d by Brandon Liu at 2023-01-27T10:44:54-08:00
Add a few PMTiles details to README; regenerate man page (#58)

* Add details on pmtiles input/output to a few parts of the README. [#57]

* regenerate man page [#57]
- - - - -
c58a8e3b by Erica Fischer at 2023-01-27T10:57:22-08:00
Round coordinates instead of truncating them (#60)

* Round coordinates instead of truncating them

* Update all the tests for coordinate rounding changes

* Curses, integer division still truncates

* Fix tests

* Also round instead of shifting when looking for no-op linetos

* Should I worry that the same change for moveto doesn't change any tests?

* Also round instead of shifting when scaling down to maxzoom resolution

* Replace another explicit shift, for origin point

* Round instead of shift when writing clipped geometries to the next zoom

* Fix low-zoom gridding and smaller-than-a-pixel checks

* Don't guess an excessively large maxzoom when there is only one feature

* Add a test for guessing the maxzoom of a single point

* Explicitly sort by index if no other order distinguishes features

* Another affected test
- - - - -
e6156684 by Erica Fischer at 2023-01-27T11:31:57-08:00
Avoid placing polygon labels in holes (#62)

* Avoid placing polygon labels in holes

* Traverse vertices in hilbert order to find potential label points

* Update test to reflect new label placements

* Sorting by Y coordinate is better and easier than Hilbert order

* Give a bonus for being near the center of mass

* Make label points a little more border-shy

* Tall places, not just wide places; border lines, not just border points

* Clean up

* Try diagonals through the features too

* Limit the search for label points to prevent slowing down too much

* At this point the center of mass bonus is doing more harm than good

* Forgot to update test
- - - - -
b155b467 by Erica Fischer at 2023-01-27T12:04:36-08:00
It only needs to look for other small features when coalescing, not dropping (#64)

* Back out the slow search for other small features when dropping features

* Actually, *do* look for small features still when coalescing

* Update changelog
- - - - -
f2127fec by Erica Fischer at 2023-02-14T12:47:40-08:00
Reduce thrashing during feature ingestion and tiling (#56)

* Remove the concept of "separate metadata"

This was an extra level of attribute indirection (features point
to metadata records which point to key and value strings) which was
intended to reduce the size of temporary storage for features with
large numbers of attributes that were also spread across large numbers
of tiles at maxzoom.

For other kinds of features, the extra indirection slowed things down
instead, and, especially when maxzoom guessing was being used, many more
features were having their metadata externalized than could actually
benefit from it.

* Shave a few bytes off temporary files by using more unsigned integers

* Flush stderr after logging progress

* Revert "Shave a few bytes off temporary files by using more unsigned integers"

This reverts commit eef29084eced10ec9ca05925d18f0541ab94043c.

* Limit the size of the string pools and trees to fit in memory

* Add missing #include

* Move the string pool and search tree from mmap to allocated memory

* Sort in allocated rather than mapped memory too

* Also use pread instead of mapping to read in the data to sort

* When the pool gets too big, switch to just the file, not memory

* Switch string pool from memory to disk when memory is 10% full

* Add to-memory versions of the serialization functions

* Crashy work in progress toward compression

* Fix the pointer bug that was causing the crash

* Serialize features into memory rather than straight to disk

* Compress individual features in the temporary files

* Don't need to store the length of the geometry

* Remove per-feature compression; move minzoom back into the object

* Start adding a stream compressor object

* Track file position within fwrite_check()

* Add compressed stream writer functions

* Pull the writing of the serialized feature out to the callers

* Starting toward compression again from a different point

* Hook up more compression functions

* Remove unused code from the other day

* Make enough deflate calls to flush out all the buffered data

* Start on decompression

* Tile number is uncompressed, tile content is compressed

* Work on alternating compressed and uncompressed in decompression

* Closer, but still doesn't work

* Sort of works

* Works until we get to concatenated tiles

* More attempts that don't work

* One bug down

* It made a tileset!

* Handle nonzero initial zooms

* Fix seeking within compressed feature streams

* Tests pass!

* Remove debug spew

* Oops: remember to delete the temporary files so they don't hang around

* Test that fails with the current compression code

* Properly account for bytes read while closing the compressed stream

* Limit the number of warnings about bad label points

* A little more armor when closing decompression

* This time for sure

* A different, less fragile, test that failed previously with compression

* Move feature stream compression to its own file

* Remove now-unused code to deserialize from a file

* Forgot to add the new files

* Remove a little debugging logging

* Add a couple of comments on what it means to be within decompression

* Fix indentation

* Update changelog. Remove stray debugging comment.
- - - - -
0fa758c1 by DarcyB at 2023-02-24T11:31:46-08:00
Allow passing a file with a list of input files to tile-join in response to issue 69 (#73)

* Allow passing a file with a list of input files to tile-join in response to Issue 69 (https://github.com/felt/tippecanoe/issues/69)

* Do not print usage if -r is specified without a commandline readfrom file

* Add test for -r option to tile-join
- - - - -
7371072e by DarcyB at 2023-02-24T11:32:56-08:00
Make Tippecanoe build on FreeBSD in response to issue 18 (#72)

* Make tippecanoe build on FreeBSD in responce to issue 18 (https://github.com/felt/tippecanoe/issues/18)

* Make conditional FreeBSD specific, instead of otherway around.
- - - - -
3d714e32 by Erica Fischer at 2023-02-24T15:59:00-08:00
Add `point_count_abbreviated property` to clustered features  (#74)

* Add `point_count_abbreviated` property to clustered features

* Update tests and changelog

---------

Co-authored-by: Aurele Nitoref <aurele.nitoref at icloud.com>
- - - - -
329dd86b by Erica Fischer at 2023-02-24T16:05:45-08:00
Add `--cluster-maxzoom` option (#75)

* Add `--cluster-maxzoom` option

* Add tests, update changelog

* Update manpage

* Update tests

---------

Co-authored-by: Aurele Nitoref <aurele.nitoref at icloud.com>
- - - - -
afc7ca01 by Erica Fischer at 2023-03-09T20:26:48-08:00
Calculate an antimeridian-adjusted bounding box in tileset metadata (#82)

* Calculate a new antimeridian-adjusted bounding box

* Add antimeridian bounding box to pmtiles, dirtiles, and tile-join

* Don't take out-of-bounds latitudes into account in the adjusted bbox

* Update changelog

* Forgot to adjust tests after the last change
- - - - -
e43d6dac by Brandon Liu at 2023-05-04T10:45:22-07:00
update pmtiles.hpp from upstream (#98)

* remove unused code [#93]

* fix OOB caused by specific entry set lengths

* add more checks for valid tile IDs
- - - - -
da7bbbd6 by James Scott-Brown at 2023-05-04T10:47:46-07:00
Change fpclassify() to std::fpclassify() (#92)

Change fpclassify() std::fpclassify()

This fixes the compiler errors "'fpclassify' was not declared in this scope"
- - - - -
434817bd by James at 2023-05-04T10:49:00-07:00
Update makefile to use c++17 standard (#94)

The C++ standard didn't match the utilization inside the code and would fail to compile using the original makefile
- - - - -
5bd46e7e by Jt Miclat at 2023-05-04T11:54:27-07:00
Update dockerfile (#79)

Update docker image to use newer version of ubuntu and reduce image size
- - - - -
605640e1 by Erica Fischer at 2023-05-04T11:55:36-07:00
Add --include/-y to tile-join (#86)

* Add --include/-y to tile-join

* Update documentation and changelog
- - - - -
523ca552 by Erica Fischer at 2023-05-08T15:31:46-07:00
Fix bugs in --no-simplification-of-shared-nodes (#99)

* Fix bugs in --no-simplification-of-shared-nodes

* Update changelog
- - - - -
20eb9c8d by Erica Fischer at 2023-05-11T12:20:00-07:00
Avoid crashing if there is a polygon ring containing only one point (#102)


- - - - -
0422d77b by Tim Finer at 2023-05-23T09:47:45-07:00
Check for nullptr in call to properties, fixes segfault. (#106)

* Added -fPIE as g++ 9.4.0 complained and would not link

* Prevent crash by checking for properties before dereferencing.

---------

Co-authored-by: Tim Finer <finert at pixia.com>
- - - - -
87ed674a by James Scott-Brown at 2023-07-05T14:02:14-07:00
Add backticks around an option in README (#109)


- - - - -
ba3e4256 by Mary M at 2023-07-05T14:03:02-07:00
Try catch exception (#108)

* catch exception when parsing invalid pbf - fixes #817

* updating exit error
- - - - -
b09a8808 by Erica Fischer at 2023-07-10T15:53:13-07:00
Add CODEOWNERS (#114)

* Add CODEOWNERS

* Narrower list?
- - - - -
c1051232 by Erica Fischer at 2023-07-10T15:54:21-07:00
Do more of line simplification with integer coordinates (#113)

* Turn off unit, which has bit-rotted

* Instrument line simplification

* Do more work in integer space

* Update tests with simplification done with more integers

* Clean up

* Update changelog

* Eradicate calls to deprecated sprintf()

* Revert "Turn off unit, which has bit-rotted"

This reverts commit 998779313f7dbaf4a0b0b341a43ac30bbe769242.

* Fix catch by switching to an unsigned type
- - - - -
b5ec3c46 by Erica Fischer at 2023-07-10T15:59:52-07:00
Reduce excessive progress logging during pmtiles conversion (#111)

* Don't log progress so often during pmtiles conversion

And turn off the `catch` tests, which have bit-rotted

* Fix accidental double-multiplication-by-100

* Reenable catch

* Update changelog
- - - - -
58bfd121 by John Seekins at 2023-07-12T10:34:26-07:00
fix build on fedora 38 (#117)

Signed-off-by: John Seekins <john at pluralpolicy.com>
Co-authored-by: John Seekins <john at pluralpolicy.com>
- - - - -
48e769c9 by Erica Fischer at 2023-07-12T10:34:53-07:00
More codeowners (#118)

* Add more code owners

* Fix typo
- - - - -
1c3bd535 by Erica Fischer at 2023-07-14T10:47:55-07:00
Add a new option to set an initial value for an attribute in each feature (#115)

* Starting on --set-attributes

* Add a JSON form to accumulate-attribute

* Fix formatting

* Set attributes, JSON form

* Also handle setting attributes to unquoted values

* Factoring out character-mangling in the names of tests

* Rename tests for new quoting convention

* Test for JSON form of attribute setting

* Test for JSON form of attribute accumulation

* Forgot to increment the version
- - - - -
4318e964 by Erica Fischer at 2023-07-17T15:33:07-07:00
Add maximum pseudocluster size option for low-zoom points (#119)

* Trying to improve cluster positions

* Fix centroid calculation

* Just move points to cluster centroids; add point gap threshold

* Add maximum-point-gap option

* Fix formatting

* Rename options for clarity; add tests; update changelog

* Add missing break to switch

* Revert unneeded constructor cleanup that broke a test somehow

* Clean up comments

* Remove unused --move-points-to-cluster-centroids

* Mention tile-join change in changelog
- - - - -
55b9aa50 by Erica Fischer at 2023-07-26T11:05:35-07:00
Allow --set-attribute to override existing attribute values (#123)

* Allow --set-attribute to override existing attribute values

* Bump version number
- - - - -
5cba9198 by Philippe Latulippe at 2023-07-27T18:34:22-07:00
Include errno.h in memfile.cpp (#122)

Include errno.h in memfile.cpp to fix compilation errors on some platforms
- - - - -
430d8edd by Erica Fischer at 2023-08-09T11:48:16-07:00
Tool for overzooming individual tiles (#121)

* Starting work on overzooming

* Factor clipping out of geometry.cpp to simplify linkage

* Pull out more geometry functions into now-badly-named clip.cpp

* Not surprisingly, there is a bug

* Found the bug

* Make indent

* Pass attributes through

* Make formatting more consistent

* Fix typos in comments

* Fix the typos better

* Add tippecanoe-overzoom to the install list

* Give overzoom a predictable exit status

* Forgot to translate to and from polygon ring closepaths

* Fix geometry collapse at z21

* Add attribute stripping; don't generate layers if they have no features

* Add docs for tippecanoe-overzoom (as it will be, not as it is)

* Change overzoom to accept input and output files as arguments

* Working on overzooming tests

* Oops

* Hook up and test the detail and buffer options, and the empty-tile case

* Also test attribute stripping

* Fix error message

* Update changelog and version
- - - - -
9e9e21bc by Can Duruk at 2023-08-14T14:05:59-07:00
Remove Can from the codeowners (#128)

I am not immediately qualified to be a reviewer on this repo right now. I am still watching updates on Slack.
- - - - -
f00eeb48 by Brandon Liu at 2023-08-14T14:06:38-07:00
Fix narrowing of index_size (#126)

Fix narrowing of index_size, affecting indexed flatgeobufs with lots of features [#125]
- - - - -
2b133a1d by Bert Temme at 2023-08-14T14:07:15-07:00
Update Dockerfile typo tippacanoe -> tippecanoe (#129)


- - - - -
39ad95ed by Jason Ferrier at 2023-08-18T16:15:32-07:00
Updated installation instructions to include Homebrew (#130)

Updated installation instructions. felt/tippecanoe#70

Co-authored-by: Jason Ferrier <Jason.Ferrier at nrel.gov>
- - - - -
6778aeac by Erica Fischer at 2023-08-25T12:42:38-07:00
Add an option to extend zooms if still dropping, but with a limit (#131)

* Add an option to extend zooms if still dropping, but with a limit

* At least when to overzoom, even if not actually doing it yet

* Refactor to give tile-join access to overzoom()

* Didn't work, but *might* have worked

* OK, it did something now

* Ah, there's the bug!

* Hook up pmtiles and dirtiles as overzooming sources

* Add command line option to enable or disable overzooming

* Add (currently broken) test of overzooming in tile-join

* Slightly more abstraction for the tile-join readers

* Factor out duplicated code

* Move construction into a constructor

* More changing accessors to methods

* Reduce magic

* Start tracking a list of the tiles at maxzoom

* I think it worked?

* Add missing #include

* Fix sequence of overzoomed tiles (Y sorts backwards for TMS)

* Don't spend memory on overzooming when we aren't going to use it

* Diff rather than cmp, in the hope of figuring out this broken test

* Keep full coordinate precision if we might extend zooms

* Try a slightly different byte limit

* Make drop-densest more consistent across tile boundaries

* Also affects this test

* Does it behave any differently if it can extend forever?

* I think the discrepancy is a thread-safety problem here

* Revert "Does it behave any differently if it can extend forever?"

This reverts commit 0dff0a0accfa94fedaa5322a23c6d98d3e8c7ea2.

* Lost this change to the test

* This time for sure!

* Revert "Also affects this test"

This reverts commit cd1f7c2e785fee6bdb00048b7111fbcdb064c4c4.

* Revert "Make drop-densest more consistent across tile boundaries"

This reverts commit 563f7d2bc20f68fa84fe281bb2d282dae39fb1e5.

* Revert "Try a slightly different byte limit"

This reverts commit 2e271213d604bb991add1a4c4795459caadd81a8.

* Add some more explanatory comments

* Amend the join-test to detect my current bug

* Allow overzooming to complete the zoom if it ever starts

* Forgot to correct the test

* Update changelog and version

* Cleanups from code review

* Remove version number from fixture to fix test
- - - - -
2ec61800 by Erica Fischer at 2023-08-29T10:54:39-07:00
Fix "strategies" accounting for 0-length linestrings and degenerate polygons (#137)

* Dropping a 0-length feature doesn't count as dropping-as-needed

* Add an option not to reduce tiny polygons to dust at maxzoom

* Add test for prevention of tiny polygon reduction at maxzoom

* Fix accounting for tiny polygons not to include degenerate geometries

* Revert "Add test for prevention of tiny polygon reduction at maxzoom"

This reverts commit f931bbd73e568881e4068b8f6882e599084313df.

* Revert "Add an option not to reduce tiny polygons to dust at maxzoom"

This reverts commit 03f0882bb618471384274e0019bb6bdeda2545ce.

* Fix tests

* Another test that no longer has any really tiny polygons

* Oops, that broke LineString simplification

* This time for sure!

* Update changelog and version
- - - - -
e6d05bc3 by Erica Fischer at 2023-08-31T13:02:03-07:00
Fix tile-join crash when trying to merge empty tilesets with --overzoom (#138)

* Fix tile-join crash when trying to merge empty tilesets with --overzoom

* Add an option not to reduce tiny polygons to dust at maxzoom

* Add test for prevention of tiny polygon reduction at maxzoom

* Change version number
- - - - -
dee40802 by Tobias at 2023-09-14T16:18:06-07:00
Docs: Link to layer name section (#135)

Add internal link to help understand how the layer name will be derived (and how to overwrite the default behavior)
- - - - -
390771f8 by Erica Fischer at 2023-09-14T16:51:38-07:00
Polygon shards (#105)

* Put all of this back in geometry.cpp for conflict resolution

* Stabilize line simplification to behave the same regardless of winding

* Round instead of truncating when clipping lines

* Restore non-Wagyu polygon clipping from prior to 2fdec7d2

* Make it round, not truncate, which reverts the last commit's test diffs

* Clip in floating point, not integers, which makes no difference

* Track nodes added at tile edges during clipping

* Scale geometry up before wagyu to prevent changes from precision loss

* Actually do the shared edge detection

* Fix cases where nodes were not being added at the tile boundary

* One more place I should have rounded

* Narrow down where the discrepancy comes in

* Revert "Narrow down where the discrepancy comes in"

This reverts commit 221c4c5fc0ac9a6567e091c6a94b3d87dc8ade83.

* Another attempt to narrow it down

* The discrepancy seems to be introduced in reordering. No obvious bug

* Was still truncating instead of rounding in projection

* Also makes no difference...

* Just forget that line reversal exists for a minute

* Just reversal no coalescing

* Try clipping in integers instead of floating point

* Don't simplify after coalescing if they said no simplification

* Check whether behavior is consistent with intentional simplification

* Replace more floating point with integer

* Are these three features enough to demonstrate the problem?

* Add a few more nearby borders

* All the features that touch tile 6/16/23

* Stay in integers in line simplification

* More attempts to solve failures to simplify consistently

* Fix most of the overflow errors

* Fix known cases of integer overflow

* All the tests change again

* Pull clipping and scaling code back out into clip.cpp

* Resolve the test conflicts

* Stabilize choice of which three points to keep with different windings

* Almost right, I think!

* Fix collapse of islands to shards

* Self-intersections in the same feature don't count

* Revert "Self-intersections in the same feature don't count"

This reverts commit e04b19916ed2125097a96501f5f7bce9d2ed73a6.

* Don't scale down geometry if we are going to look for shared nodes

* Fix the missing multiply that was keeping simplification from happening

* Fix one more opportunity for overflow

* Somehow I deleted this test?

* Lost this test too

* Clean up debugging printfs

* Restore code sequence from main to make it reviewable

* Remove unneeded rounding

* Update documentation

* This test is no longer useful

* Back to floating point Douglas-Peucker to fix undersimplification

* Try an older ubuntu

* Revert "Try an older ubuntu"

This reverts commit 13fefacfd77fe78ab38a386d418754bb348ae51a.

* Log OS info

* Remove tests that are no longer needed

* Oops, did need that one after all

* Fix the arm vs x86 discrepancy?

* Try another quantization

* Cleanup from review

* Add a test for the actual purpose of this PR
- - - - -
f7dc7faf by Erica Fischer at 2023-09-21T10:59:12-07:00
Reduce memory use of polygon shard detection (#139)

* Crunch down memory required per polygon joint

* *Actually* reduce the size of the structure

* Update version and changelog
- - - - -
dcc3a119 by hfs at 2023-10-02T10:47:32-07:00
Fix "make test": build required binaries first (#143)

When running "make test" in a pristine working copy, the "test" target
calls the "raw-tiles-test" target, which tries to execute ./tile-join.
But that binary has not been built, yet, at this point. The target fails
with an error.

Add the required binaries as dependencies to the test targets in the
Makefile. This makes sure that they are built before they are attempted
to be executed.
- - - - -
26bf08de by Erica Fischer at 2023-10-03T10:53:12-07:00
Externalizing polygon shard detection (#146)

* Start of externalizing polygon shard detection

* Completely untested external quicksort

* Add unit test for external quicksort

* Remember to clean up temporary files

* Sort and scan the vertices

* Bring over more vertex logic

* Make nodes from vertices

* Checkpoint on switching over to global shared nodes

* Do the thing

* Revert unintended change to coalesced linestring behavior

* Take shared nodes into account in early simplification

* Let it do more sorting in memory

* Fix overnoding of collinear linestrings

* Remove duplicate nodes, since only duplicate vertices now matter

* Remember to delete temporary files

* Fix out of bounds memory access below, apparently

* Fix the actual undefined behavior

* Still running out of memory in one case. Find out where.

* Forgot the conditional

* Try again to make it not run out of memory

* Update version and changelog
- - - - -
cc5c1c79 by Erica Fischer at 2023-10-04T12:14:22-07:00
Speed up overzooming in tile-join (#147)

* Clip away entire features by bbox. Avoid unnecessary recompression.

* Move parent tile decoding in tile-join out of overzoom proper

* An ever-growing cache of parent tiles

* Limit the size of the cache

* Remove the current reader *before* checking if we can run the queue

* Clean up

* Add missing #include

* Add comment

* When the tile-join cache fills up, evict the least recently used

* Fix microsecond math

* Factoring out tile-join's cache for testing

* Add unit tests for tile-join cache

* Update changelog and version
- - - - -
0ca14086 by Erica Fischer at 2023-10-04T14:59:19-07:00
Pull from the back of the list of tiles to overzoom, not the front (#149)


- - - - -
e1c665b3 by Erica Fischer at 2023-10-17T12:04:47-07:00
Only detect longitude wraparound within each ring. (#150)

* Only detect longitude wraparound within each ring.

Between rings it's OK to jump around from one side of the world
to the other.

* Add test

* Update changelog
- - - - -
2c561875 by Erica Fischer at 2023-11-07T14:41:05-08:00
Make tile-join distrust source tilesets' metadata maxzoom and minzoom (#161)

* Special-case a longitude wraparound of exactly 360°

* Update version and changelog

* Make tile-join distrust source tilesets' metadata maxzoom and minzoom
- - - - -
d359461e by Erica Fischer at 2023-11-08T12:51:28-08:00
Reduce tile-join overzooming memory usage (#162)

* 16 bits is enough for tile numbers

* Revert "16 bits is enough for tile numbers"

This reverts commit 71a0c4e1cf81a0f5d027e65fb8460a52681eb3dd.

* Check what child tiles each overzoomed tile will have

and don't queue further overzooming of empty tiles

* Clean up naming; use std::move to avoid copying large arrays
- - - - -
d7bdbe36 by Erica Fischer at 2023-11-30T13:48:50-08:00
Reduce maximum memory used for vertex sorting (#170)

* Add logging for out-of-memory debugging

* Use less memory for sub-sorting

* Reduce maximum memory used for vertex sorting
- - - - -
15a3e313 by Erica Fischer at 2023-12-11T11:14:26-08:00
Tolerate polygon rings with insufficiently many points in input (#175)

* Tolerate polygon rings with insufficiently many points in input

* Fix changelog typo
- - - - -
02e3bac2 by Erica Fischer at 2023-12-22T14:20:21-08:00
Reduce memory consumption during tiling (#177)

* Drop duplicate geometries sooner in coalescing-as-needed

* Concatenate geometries before partial cleaning

* Spend less time with two feature representations in memory

* Further reduce in-memory duplication

* Remove another copy

* Don't keep duplicates in memory while coalescing

* Also clear out the mvt layer once it is no longer needed

* Update changelog
- - - - -
e8ca6c6d by Erica Fischer at 2024-01-05T11:07:14-08:00
Slightly less compression makes as-needed dropping twice as fast (#182)

* Slightly less compression makes as-needed dropping twice as fast

* Update changelog
- - - - -
5d92a171 by Erica Fischer at 2024-01-18T15:56:09-08:00
Add point retention multiplier (#179)

* Add an option to retain N times as many points as usual at each zoom

* Tests for point multipler with specified and guessed maxzooms

* Work in progress on inverse spatial ordering

* Fix inverse spatial feature order

* --reorder was depending on a feature index that wasn't being preserved

* Separate ordering by feature_minzoom from ordering inverse-spatially

* Add a test for the inverse spatial ordering

* Store the basezoom/droprate/multiplier decisions in tileset metadata

* Progress on adding filters to tippecanoe-overzoom

* Type promotion for comparison

* Look up the attribute value for ordering

* Add test of thinning and ordering features

* Plumb tippecanoe_decisions metadata through pmtiles

* Be careful not to put infinities in JSON

* Fix accidental dropping in what is meant to preserve sparse points

* Start distinguishing true, false, and null in expressions

* Most of the type conversions

* Add boolean conversions

* Literals and conjunctions

* Add filtering to tippecanoe-overzoom

* Add a test of filtering in overzoom

* Fix boolean conjunctions

* Handle the combination of cluster size and filtering

* Rework dot dropping to reconcile density threshold and multiplier

* Revert "Rework dot dropping to reconcile density threshold and multiplier"

This reverts commit f253a6638204905bc05fed2d90e2ad3502a34ba0.

* Retain points by multiplier within each tile, not in global probability

* Test that intends to verify that the multiplier is reversible

* Get the test to detect the discrepancy

* Mark the start of multiplier clusters with a magic attribute

* Add string-contains

* Add in and ni operators

* Revert "Look up the attribute value for ordering"

This reverts commit 56bc73e49ae58fa65b21a74ee06c6c491a4378a2.

* Revert "Type promotion for comparison"

This reverts commit 6f3256f5af5f5272f32c593df317322310b99f48.

* Make number formatting in tippecanoe_decisions consistent

* Revert "Add a test for the inverse spatial ordering"

This reverts commit c8047de9ab18bbd0055cf3da1430400b64de4cbb.

* Revert "Separate ordering by feature_minzoom from ordering inverse-spatially"

This reverts commit 35b19a223cea32ec54edc454ee877b0ed6af905e.

* Revert "Fix inverse spatial feature order"

This reverts commit 5978ecdb446d1ab1cb2456627da12cb7dca30e1c.

* Revert "Work in progress on inverse spatial ordering"

This reverts commit fdf230f6321f1550b5fa6e07a3eb950119c7ecf2.

* Somehow missed the tests associated with that last revert

* Round-robin assign attributes to partials from across the multiplier

* Count the multiplier separately in each layer

* Fix distribution of accumulated attribute across multiplier features

* Update changelog, version, and docs

* Add "is null" and "isnt null" expressions

* Update interpretation of FSL expressions to pass the tests

* Test to assert that polygons are unaffected by the multiplier

* Clean up and comment

* Remove accidental unused case
- - - - -
679a0d62 by Erica Fischer at 2024-01-21T12:09:05-08:00
Make feature ordering cooperate with --retain-points-multiplier (#188)

* Make feature ordering cooperate with --retain-points-multiplier

* Forgot to check in the actual code changes???

* Sort within each multiplier cluster as well as between clusters

* Correct description of behavior in changelog

* Drag original feature sequence along in megatiles for post-filter sort

* Plumb the preserve-input-order flag through overzoom

* Sort in overzoom if requested

* Use within-tile input sequence numbers, not global sequence numbers

* Documentation

* Reverse direction of search to prevent accidental skipping

* Add some comments about converting between attribute representations
- - - - -
f957f30f by Erica Fischer at 2024-01-23T14:17:19-08:00
Clean up internal naming related to tilestats (#190)

* Get rid of the type_and_string near-synonym for serial_val

* Rename file_keys to the more familiar tilestats

* "tas" (type_and_string) => "sv" (serial_val)

* "fk" (tile_keys) => "ts" (tilestats)

* Revert ""tas" (type_and_string) => "sv" (serial_val)"

This reverts commit 4854c57e2277c4e6be642cdec9bf307769f0f435.

* More carefully this time: "tas" (type_and_string) => "sv" (serial_val)
- - - - -
cbf22275 by Erica Fischer at 2024-01-23T15:41:36-08:00
Add --accumulate-attribute to tippecanoe-overzoom (#189)

* Starting to factor out attribute accumulation into its own file

* Continuing to factor out attribute accumulation

* Reduce duplicate code

* Plumbing the accumulate-attribute option around

* Call the attribute accumulator

* Test that accumulation works

* Add missing #includes

* Don't sort within individual multiplier clusters

Doing so throws off the spatial distribution of the low zooms

* Docs and changelog

* Add comments
- - - - -
7d4d264d by Erica Fischer at 2024-01-29T11:33:56-08:00
Speeding up tippecanoe-overzoom (#191)

* Speed up mvt_value comparison

* Converting repetitive ifs to cases

* More conversions from ifs to cases

* Optimize the always-true filter case

* Don't convert types of attributes without accumulators

* Unordered map seems to be faster than map

* Add missing header

* Fix some warnings

* Fix the warnings better

* Avoid an int->string->int conversion

* Lazily initialize layer key and values maps when actually needed

* More switches from maps to unordered_maps

* Sure, I'll take the microoptimization

* More emplacement

* Save some copies

* Emplaces and moves

* Lazy linear scan of attributes instead of building a map

* Extra printfs, missing header

* Avoid clipping if the input and output tiles are the same

* But do clip if the tile extent is being reduced

* Make sure I'm not constructing std::strings here at runtime

* More worrying about runtime string construction

* A couple more std::moves

* Const references!

* More const references

* Another std::move

* Make the string_value of mvt_value std::optional

* Reserve storage when decoding

* Provision for different mvt_values to share a string pool

* Use the string pool when decoding

* Avoid another string construction

* Try limiting the depth of the search for duplicate attributes

* Revert "Try limiting the depth of the search for duplicate attributes"

This reverts commit 9ec94a15ffa7c0678a7b85868c6109d5428ca501.

* Update changelog

* Fix typo noticed during code review
- - - - -
ca1aa58a by David Haberthür at 2024-01-29T11:34:47-08:00
Prettify one code line (#187)


- - - - -
6a2bce81 by Erica Fischer at 2024-01-31T10:23:05-08:00
Scale the tile size limit up with the multiplier at low zooms (#192)

* Scale the tile size limit up with the multiplier at low zooms

* Add a test to demonstrate that high zoom tiles can't be extra large

* Update changelog and version

* Fail more cleanly when a tile can't be made small enough

* Guard against a cluster where the start marker has been dropped

* Look harder for a working feature interval instead of giving up

* That change to the drop-smallest logic changed a test output

* Update changelog

* Add explanatory comment
- - - - -
c5c46981 by Can Duruk at 2024-02-01T14:38:43-08:00
[Snyk] Security upgrade centos from 7 to centos8 (#196)

fix: Dockerfile.centos7 to reduce vulnerabilities

The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-CENTOS7-EXPAT-2408807
- https://snyk.io/vuln/SNYK-CENTOS7-EXPAT-3035862
- https://snyk.io/vuln/SNYK-CENTOS7-NSS-2308137
- https://snyk.io/vuln/SNYK-CENTOS7-NSSSYSINIT-2308141
- https://snyk.io/vuln/SNYK-CENTOS7-NSSTOOLS-2308139

Co-authored-by: snyk-bot <snyk-bot at snyk.io>
- - - - -
e2a7a409 by Erica Fischer at 2024-02-07T17:50:35-08:00
Improve tiling speed (#195)

* Add a way to run tippecanoe single-threaded for profiling

* Do less work when the tilestats sample values list is already full

* Save a copy when retrieving the attribute key

* Fewer atomic operations

* Move string hashing from mbtiles to text

* Only do approximate attribute deduplication when writing tiles

* Feature dropping tests are sensitive to exact tile size

* All tile creators now create a string pool for the tile

* Features clipped away to nothing should not participate in that tile

* Revert "Only do approximate attribute deduplication when writing tiles"

This reverts commit c42b34b4980f2b5c50d178de11c541fffd9343f3.

* Also revert the related test changes

* Revert "Revert "Only do approximate attribute deduplication when writing tiles""

This reverts commit 18509876c31ac24522d18ac974c3d97205cae522.

* Be more specific about the string hash function

* Use fnv1a instead of std::hash for everything

* Reduce the chance of hash collisions

* Stick a hash search on the front of the tree search in addpool

* Eliminate repeated hashing of the same string

* Switch instead of ifs in json parsing

* A few more cases to populate the hash in addpool

* Store the hash in the tree instead of recalculating

* Add explanatory comment for mysterious argument

* Fewer copies in attribute stringification

* Clean up ancient weirdness in JSON attribute stringification

* More serial_val cleanup

* Pass a serial_feature to rewrite instead of many broken-down arguments

* Get rid of the multiple geometries within `partial`

* Revert "Pass a serial_feature to rewrite instead of many broken-down arguments"

This reverts commit 6f4ab9b725a395757248fac81c532ad1397ee691.

* Goodbye, struct coalesce

* Revert "Features clipped away to nothing should not participate in that tile"

This reverts commit 124462fbdc16383dc870a63f29c9b6613a51d013.

* Migrating fields from partial to serial_feature

* Name reconciliation between serial_feature and partial

* Replace struct partial with an augmented serial_feature

* Fix some overzealous search-and-replace renaming

* Don't say struct so often

* Remove more of the former partial construction

* Commenting and cleaning up

* Trying again to avoid all these arguments to rewrite

* I swear I did this same thing before and it didn't work.

* More rewrite cleanup

* Exile --detect-shared-borders to its own file

* Add missing headers

* More commenting and cleanup

* More comments

* Sprinkle consts around

* Emplacing and std::moving

* More cleanup

* That shouldn't have worked after a std::move

* Don't need to allocate memory to compare keys

* Reduce use of the global string pool in tiling

* Another avoidable mvt_value construction

* Further reduction to explicit string pool passing

* These reverses are no longer optimizations

* These layernames can all be references

* Don't drag an unused layername string around with every feature

* Heed a compiler warning about potential buffer overflow

* Fix my confusion about which feature's string pool is relevant

* Avoid some unnecessary allocations in attribute accumulation

* Maybe faster serialization?

* Eliminate a comparison

* Do the same here

* Save a couple of allocations when parsing numbers in JSON

* Immediately assign features to layers instead of subdividing later

* Maintain tilestats for tippecanoe:retain_points_multiplier_sequence

* Crunch out more duplicate attribute values when writing out the tile

* Do tilestats for tippecanoe:retain_points_multiplier_first too

* Shell filters need to be real threads, even if nothing else does

* Simplify tippecanoe_minzoom/maxzoom representation

* Update version and changelog
- - - - -
4e52cbd9 by Erica Fischer at 2024-02-12T10:58:49-08:00
Drop or retain whole multiplier clusters when dropping as needed (#198)

* Prep to track conditions other than just "dropped" or "kept"

* Count up instead of down

* Drop or retain whole multiplier clusters based on their first feature

* Calculate a global feature dropping sequence

* Switch over to using the drop sequence for drop-fraction

* Remove unused arguments for the old drop-fraction implementation

* Fix copy-and-paste bugs, update tests

* Properly incorporate feature_minzoom into the drop sequence, I hope

* Rename drop_by to drop_sequence

* See if sorting within clusters fixes filter stability between zooms

* Remove very chatty debug print

* Update changelog and version

* Use named constants instead of numbers for feature dropping/keeping

* Add comment to explain purpose and method of bit reversal
- - - - -
96f126dd by Erica Fischer at 2024-02-13T14:18:30-08:00
FSL-style expressions can use unidecode data to smash case and diacritics (#197)

* Read unidecode data, do some plumbing of it

* More unidecode plumbing

* Do the unidecode smashing, but it doesn't seem to be working

* Ah, that's better!

* Add missing header

* And reorder the includes too

* Shortcut when there is no unidecode data to work with

* Update version and changelog

* Avoid repeated unidecode smashing of the same constant string
- - - - -
2b6630c4 by Erica Fischer at 2024-02-15T11:34:09-08:00
Allow features that would be dropped dynamically to become multiplier features (#199)

* Postpone tagging features as being the first of a multiplier cluster

* Upgrade some dynamically dropped features to multiplier features

* Still don't let it put more features in a cluster than is allowed

* Update tests

* Make the current multiplier cluster size per-layer

* Make sure the first non-empty-geometry in the layer is marked as primary

* Improve comments

* Update changelog and version

* Remove commented out debugging printf

* Factor out duplicated code
- - - - -
be2e09b3 by Anthony Fok at 2024-02-15T22:26:29-07:00
New upstream version 2.45.0
- - - - -
716b7c44 by Anthony Fok at 2024-02-15T22:28:29-07:00
Update upstream source from tag 'upstream/2.45.0'

Update to upstream version '2.45.0'
with Debian dir a419e7079ce07833eee6445f69f7f03c188fd779
- - - - -
319b310e by Anthony Fok at 2024-02-15T23:26:37-07:00
Link with -latomic on armel, mipsel, m68k, powerpc, and sh4

Fixes FTBFS on those architectures; see
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81358

Special thanks to Michael Tokarev for this workaround
that he applied in the Debian samba package; see
https://salsa.debian.org/samba-team/samba/-/blob/157711ffd09f56ae1cac8bd89fdc7e6b200ff7ad/debian/rules#L93-105

- - - - -
82857d1e by Anthony Fok at 2024-02-15T23:31:29-07:00
Update changelog for 2.45.0-1 release

- - - - -


30 changed files:

- CHANGELOG.md
- Dockerfile.centos7
- Makefile
- README.md
- attribute.cpp
- attribute.hpp
- clip.cpp
- debian/changelog
- debian/rules
- decode.cpp
- evaluator.cpp
- evaluator.hpp
- flatgeobuf.cpp
- geobuf.cpp
- geocsv.cpp
- geojson.cpp
- geometry.cpp
- geometry.hpp
- jsonpull/jsonpull.c
- jsonpull/jsonpull.h
- main.cpp
- man/tippecanoe.1
- mbtiles.cpp
- mbtiles.hpp
- memfile.cpp
- memfile.hpp
- mvt.cpp
- mvt.hpp
- overzoom.cpp
- plugin.cpp


The diff was not included because it is too large.


View it on GitLab: https://salsa.debian.org/debian-gis-team/tippecanoe/-/compare/866e2d1cdbd26ef1a275c86c2f15c85399081c35...82857d1ed5adcf553f83c3956a6594310a3e2da6

-- 
View it on GitLab: https://salsa.debian.org/debian-gis-team/tippecanoe/-/compare/866e2d1cdbd26ef1a275c86c2f15c85399081c35...82857d1ed5adcf553f83c3956a6594310a3e2da6
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-grass-devel/attachments/20240216/2ef34479/attachment-0001.htm>


More information about the Pkg-grass-devel mailing list