Use std::set to track the layer-wide feature attribute types.

Track them during parsing, not tiling.  Remove the old string pool code.
This commit is contained in:
Eric Fischer
2016-04-28 14:59:58 -07:00
parent 87b90a5033
commit adc70341ad
11 changed files with 108 additions and 274 deletions
+8 -1
View File
@@ -1,7 +1,14 @@
struct type_and_string {
int type;
std::string string;
bool operator<(const type_and_string &o) const;
};
sqlite3 *mbtiles_open(char *dbname, char **argv, int forcetable);
void mbtiles_write_tile(sqlite3 *outdb, int z, int tx, int ty, const char *data, int size);
void mbtiles_write_metadata(sqlite3 *outdb, const char *fname, char **layername, int minzoom, int maxzoom, double minlat, double minlon, double maxlat, double maxlon, double midlat, double midlon, struct pool **file_keys, int nlayers, int forcetable, const char *attribution);
void mbtiles_write_metadata(sqlite3 *outdb, const char *fname, char **layername, int minzoom, int maxzoom, double minlat, double minlon, double maxlat, double maxlon, double midlat, double midlon, std::vector<std::set<type_and_string> > &file_keys, int nlayers, int forcetable, const char *attribution);
void mbtiles_close(sqlite3 *outdb, char **argv);