Commit Graph

174 Commits

Author SHA1 Message Date
Eric Fischer
46100c34df Move projection and tile arithmetic to its own file 2014-10-24 17:22:14 -07:00
Eric Fischer
754dbf152a Remove dead code 2014-10-24 15:23:35 -07:00
Eric Fischer
3bdcc3ca90 Heavy-handedly fix clipping errors at the edges of z0 and z1 tiles 2014-10-15 17:03:30 -07:00
Eric Fischer
43b27e2dfd Don't closepath twice in multipolygons 2014-10-15 16:30:33 -07:00
Eric Fischer
dc3c6138d1 Fix failure to close polygons. 2014-10-15 16:15:24 -07:00
Eric Fischer
e561931d53 Fix bug that would always index for z14 regardless of actual max zoom 2014-10-15 15:49:03 -07:00
Eric Fischer
ac34a292e9 Add an flag to remove all properties and use only geometry 2014-10-09 15:11:43 -07:00
Eric Fischer
65ec829de6 Report every 10000 features on input, since parsing GeoJSON is slow. 2014-10-09 12:23:43 -07:00
Eric Fischer
adbd9f6edb Add a flag to select the rate at which points are dropped at low zooms. 2014-10-07 13:54:13 -07:00
Eric Fischer
8f71604fe6 If reading from standard input, use the .mbtiles as default layer name 2014-10-07 12:02:12 -07:00
Eric Fischer
bda20fe8a6 Improve error reporting 2014-10-06 10:55:40 -07:00
Eric Fischer
41447a4678 Be clearer about error reporting 2014-10-04 14:11:59 -07:00
Eric Fischer
b292b66a7c Fix more (small) memory leaks 2014-10-01 10:33:22 -07:00
Eric Fischer
f0d2dbd2a8 Add -f option to overwrite existing mbtiles file 2014-09-29 15:09:21 -07:00
Eric Fischer
26e9feda02 Move mbtiles code to its own source file 2014-09-29 12:48:58 -07:00
Eric Fischer
5e64040859 Remove dead code 2014-09-29 12:18:58 -07:00
Eric Fischer
8118c13a71 Give the constant pool its own source file 2014-09-29 12:17:35 -07:00
Eric Fischer
fabeb4588d Stop duplicating pool initialization code 2014-09-29 12:12:54 -07:00
Eric Fischer
5ab7f89465 Add an option to exclude specified properties 2014-09-29 10:50:24 -07:00
Eric Fischer
c326762b6f Crunch out spaces and most punctuation from autogenerated layer names 2014-09-27 09:39:20 -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
ce3cdfc5e9 Choose the center of the busiest tile for the map center 2014-09-24 12:14:35 -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
00a42796b4 Use lower resolution at lower zooms. Not sure it's worth it. 2014-09-23 10:57:01 -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
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
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
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