Eric Fischer
c083d2f9f8
Commit to a name
2014-09-26 14:53:10 -07:00
Eric Fischer
7052378613
Remember to finalize statements
2014-09-26 14:51:29 -07:00
Eric Fischer
a2f3dd4769
Correct example
2014-09-26 14:51:19 -07:00
Eric Fischer
02b85931f6
Replace README with something appropriate
2014-09-26 14:45:45 -07:00
Eric Fischer
6edaaa1104
Restrict to one input file, since that's all that will work
2014-09-26 14:33:03 -07:00
Eric Fischer
0a8420cc2e
Add options to specify the base and low-zoom level of detail
2014-09-26 10:52:19 -07:00
Eric Fischer
528e0575e2
Actually write tiles directly to the .mbtiles file!
2014-09-25 16:34:17 -07:00
Eric Fischer
ce485148fe
String formatting mess to encode the JSON metadata
2014-09-25 16:07:03 -07:00
Eric Fischer
86f4f2dd05
More metadata adding, and boilerplate from mbutil
2014-09-25 15:38:20 -07:00
Eric Fischer
eec0e14447
Start putting data into mbtiles instead of separate files
2014-09-25 15:20:17 -07:00
Eric Fischer
e722ee487e
More useful progress indicator
2014-09-25 14:36:25 -07:00
Eric Fischer
201708f19c
Add command line options for zoom, title, layer name, name, output dir
2014-09-25 12:09:31 -07:00
Eric Fischer
0b23e65803
Hardcode layer name a little less.
2014-09-24 23:22:14 -07:00
Eric Fischer
dc7c58169f
Use a constant instead of assuming everything goes to z0
2014-09-24 22:58:17 -07:00
Eric Fischer
1bcbd0661c
Curves look a lot better keeping 1/4-pixel detail at any zoom
2014-09-24 17:57:18 -07:00
Eric Fischer
4de57b960d
Bump up tolerance. Anything higher is visibly off.
2014-09-24 17:40:32 -07:00
Eric Fischer
ed05bc9f7e
Fix overflow that was leaving some lines too far away
2014-09-24 17:23:40 -07:00
Eric Fischer
41fcd4c82f
Mostly working line simplification
2014-09-24 16:51:53 -07:00
Eric Fischer
509171b470
Optimize out line movetos that don't actually move
2014-09-24 15:43:24 -07:00
Eric Fischer
e65eb0b310
Looks terrible, but drop pieces of lines to maintain density across zooms
2014-09-24 14:58:26 -07:00
Eric Fischer
5cde832ec6
Stay in (tile-relative) world-scaled coordinates initially
2014-09-24 14:15:04 -07:00
Eric Fischer
ce3cdfc5e9
Choose the center of the busiest tile for the map center
2014-09-24 12:14:35 -07:00
Eric Fischer
fbf60b6d80
Factor out and improve no-op drawing elimination
2014-09-24 11:42:20 -07:00
Eric Fischer
ef3d9867fc
This can just be a regular loop now
2014-09-23 21:40:23 -07:00
Eric Fischer
a8907362bd
Count drawing operations, not ops and coordinates equally
2014-09-23 18:19:06 -07:00
Eric Fischer
e8c3177725
Separate translation to tile coordinates from vector feature generation
2014-09-23 18:08:31 -07:00
Eric Fischer
95c2fb67b2
Fix large features getting included multiple times at low zooms
2014-09-23 17:18:36 -07:00
Eric Fischer
8f77376b58
Calculate a bounding box and hopefully reasonable center point
2014-09-23 16:41:38 -07:00
Eric Fischer
5d7a2f50a9
Write the metadata file
2014-09-23 16:12:41 -07:00
Eric Fischer
91eefcbd16
Drop more points at each lower zoom level
2014-09-23 14:42:17 -07:00
Eric Fischer
7fc1c0cd24
Fix index mixup that kept points from working at all
2014-09-23 14:02:18 -07:00
Eric Fischer
454a5dd3c7
Index anything that entirely fits within the tile by its centroid
2014-09-23 13:33:40 -07:00
Eric Fischer
dd8f43a697
Bail if the tile size is larger than the uploader will accept
2014-09-23 12:17:18 -07:00
Eric Fischer
3170616f6d
Fix encoding of attribute values. They do have their own pool.
2014-09-23 11:41:36 -07:00
Eric Fischer
405889317e
Optimize away any features that don't draw at all
2014-09-23 11:32:36 -07:00
Eric Fischer
8ebeada364
Fix inconsistent indentation
2014-09-23 10:57:50 -07:00
Eric Fischer
00a42796b4
Use lower resolution at lower zooms. Not sure it's worth it.
2014-09-23 10:57:01 -07:00
Eric Fischer
7bb79dab8e
Optimize away deltas of 0
2014-09-23 10:37:18 -07:00
Eric Fischer
581105dc9a
Much faster to search and add to the string pool as a binary tree
2014-09-22 22:31:55 -07:00
Eric Fischer
d7cdbec980
Fix bit shifting errors at z0
2014-09-22 18:08:37 -07:00
Eric Fischer
6851e914a9
Write out the tile as PBF
2014-09-22 17:46:48 -07:00
Eric Fischer
3df523a588
Write out geometry
2014-09-22 17:12:38 -07:00
Eric Fischer
78304d6385
Start writing a feature
2014-09-22 16:50:24 -07:00
Eric Fischer
27f99a1322
Inline so there is access to the tile object the whole time
2014-09-22 16:39:25 -07:00
Eric Fischer
c679fa176b
Move whole tile-producing function onto the C++ side
2014-09-22 16:27:31 -07:00
Eric Fischer
74bdbfc76a
Serialize geometry before tags
...
To make it easier to skip the tags if the geometry is optimized away
2014-09-22 16:17:55 -07:00
Eric Fischer
baf364dd53
Write string pool to tile
2014-09-22 16:06:44 -07:00
Eric Fischer
b8e7d3edf8
Start toward actually writing out tiles
2014-09-22 15:41:13 -07:00
Eric Fischer
41981ec8e9
Make the string pools within each tile
2014-09-22 12:22:58 -07:00
Eric Fischer
94ef6afc17
Identify the start and end of each tile
2014-09-22 11:22:23 -07:00
Eric Fischer
95ff8de6d9
Add vector tile boilerplate
2014-09-22 10:45:34 -07:00
Eric Fischer
647edc36d6
Index each feature in each tile rather than looking up features by tile later
2014-09-19 15:40:07 -07:00
Eric Fischer
eedb0850b2
Factor out code for finding ranges within the index
2014-09-18 17:25:33 -07:00
Eric Fischer
7c5254b1e3
Add progress indicator for tile iteration too
2014-09-18 17:02:09 -07:00
Eric Fischer
1554a59153
Add a progress indicator. Remember to run the optimizer.
2014-09-18 16:27:34 -07:00
Eric Fischer
9fd4da4f7d
Unlink tmp files early in case the tiling doesn't run to completion
2014-09-18 14:04:52 -07:00
Eric Fischer
b5d28af005
Iterate through the bbox and look up geometries by tile
2014-09-18 14:01:22 -07:00
Eric Fischer
f4a40cb16c
Use proper temporary files instead of fixed names
2014-09-18 12:12:59 -07:00
Eric Fischer
e8adeba40e
Keep a file bounding box to know the area that needs to be tiled
2014-09-18 10:26:47 -07:00
Eric Fischer
14e7b648ed
Error check when writing to temporaries
2014-09-17 16:21:25 -07:00
Eric Fischer
57fe46f423
Memory map the metadata pool too
2014-09-17 16:00:19 -07:00
Eric Fischer
a38ebd9804
Sort the index
2014-09-17 15:48:29 -07:00
Eric Fischer
6613246554
Write the index to a file and then memory map it
2014-09-17 15:44:07 -07:00
Eric Fischer
ee8c23b010
Start indexing; sanity check that the file positions are right
2014-09-16 17:54:23 -07:00
Eric Fischer
449da18c63
Sanity check serialization
2014-09-16 17:19:54 -07:00
Eric Fischer
88dc948b6b
Serialize metadata and geometry to a file
2014-09-16 16:39:56 -07:00
Eric Fischer
a5b8a02ec0
More consistent naming for constants
2014-09-16 14:11:50 -07:00
Eric Fischer
d2f0aa0d37
Fix not saying moveto for top level points
2014-09-16 13:54:57 -07:00
Eric Fischer
e82edb90a3
Most of the way toward serializing the drawing operations
2014-09-16 13:51:22 -07:00
Eric Fischer
33747bdfd8
Project to web mercator and calculate bounding box
2014-09-16 11:16:51 -07:00
Eric Fischer
ff5b632cf5
MultiPoints are all movetos, no linetos
2014-09-15 17:57:16 -07:00
Eric Fischer
1dcfca9d51
Get closer to vector format
2014-09-15 17:33:54 -07:00
Eric Fischer
f54af30a40
Parse nested geometry
2014-09-15 16:32:06 -07:00
Eric Fischer
3d43c5afbd
Flatten out error-handling so it isn't nested so deeply
2014-09-15 15:47:06 -07:00
Eric Fischer
efa3995d94
Clean up meta naming a little
2014-09-15 15:30:03 -07:00
Eric Fischer
0ee8d877ca
Add stub main() for testing
2014-09-15 15:27:35 -07:00
Eric Fischer
567d57b864
Remove unneeded datamaps stuff
2014-09-15 15:18:08 -07:00
Eric Fischer
e61898b46e
Start of GeoJSON from datamaps v2
2014-09-15 15:02:33 -07:00
Eric Fischer
73cf86acdb
Preserve the original string representation of numbers too.
...
Not always useful, but sometimes it will be.
2014-02-26 17:01:30 -08:00
Eric Fischer
0509a860fb
Make it an actual library
2014-02-21 16:55:36 -08:00
Eric Fischer
18e90522cb
Remember return value from main()
2014-02-19 17:11:56 -08:00
Eric Fischer
ad4016635c
Document the test program
2014-02-08 10:45:25 -08:00
Eric Fischer
bb33b45ece
Clarify about reading trees
2014-02-08 10:35:48 -08:00
Eric Fischer
559eb8831d
Add license
2014-02-08 10:33:57 -08:00
Eric Fischer
3bd062516d
Remove debug #include
2014-02-08 10:32:04 -08:00
Eric Fischer
b09634f4f8
More cleanup after errors. Command line options for the reader styles.
2014-02-08 10:28:52 -08:00
Eric Fischer
a2fd84c0a3
Fix more memory leaks
2014-02-08 10:21:53 -08:00
Eric Fischer
b6f079fea8
Additional rationale
2014-02-08 10:10:55 -08:00
Eric Fischer
c6077f7e54
Fix memory leaks from errors while reading strings or numbers
2014-02-08 10:04:23 -08:00
Eric Fischer
391db023e0
Talk about error cleanup in README
2014-02-08 09:57:55 -08:00
Eric Fischer
5a01013642
Make sure the root pointer is null for errors at the top level
2014-02-08 09:41:49 -08:00
Eric Fischer
b72bb6f1f4
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.
2014-02-08 09:31:49 -08:00
Eric Fischer
5e6fa6f8dc
Remember to deallocate the parser
2014-02-08 00:42:28 -08:00
Eric Fischer
54f637a9a8
More documentation of object internals
2014-02-07 18:11:36 -08:00
Eric Fischer
9d31e8a05e
Slightly less wordy name for reading JSON with separators
2014-02-07 18:01:18 -08:00
Eric Fischer
39f9ff3f04
Make streaming formatting consistent
2014-02-07 17:14:39 -08:00
Eric Fischer
9979c70b1f
Add the whole-tree reader
2014-02-07 17:02:33 -08:00
Eric Fischer
0fd66048c8
Get rid of root node to simplify. Walk the tree if you need it.
2014-02-07 16:56:38 -08:00
Eric Fischer
e99c037be3
Add header dependency
2014-02-07 16:53:02 -08:00
Eric Fischer
1cbf8a813e
Match documented function names
2014-02-07 16:49:52 -08:00