Commit Graph

398 Commits

Author SHA1 Message Date
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
Eric Fischer
45049fb874 More documentation 2014-02-07 16:48:06 -08:00
Eric Fischer
8278580336 Begin README 2014-02-07 16:25:54 -08:00
Eric Fischer
a7e26262ea Expose interface for arbitrary reader functions 2014-02-07 16:23:03 -08:00
Eric Fischer
4a14e09457 Clarify what types are used where 2014-02-07 16:09:05 -08:00
Eric Fischer
fee27e1353 Add a callback interface for non-closing punctuation 2014-02-07 15:51:46 -08:00
Eric Fischer
f67e97cd08 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.
2014-02-06 22:45:40 -08:00