Commit Graph
100 Commits
Author SHA1 Message Date
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