diff --git a/main.cpp b/main.cpp index b3af6340..8a1eed7b 100644 --- a/main.cpp +++ b/main.cpp @@ -83,6 +83,7 @@ int additional[256]; struct source { std::string layer = ""; std::string file = ""; + std::string description = ""; }; size_t CPUS; @@ -1303,6 +1304,7 @@ int read_input(std::vector &sources, char *fname, int maxzoom, int minzo std::map layermap; for (size_t l = 0; l < nlayers; l++) { layermap_entry e = layermap_entry(l); + e.description = sources[l].description; layermap.insert(std::pair(sources[l].layer, e)); } diff --git a/mbtiles.cpp b/mbtiles.cpp index c0ed5f02..e5731420 100644 --- a/mbtiles.cpp +++ b/mbtiles.cpp @@ -397,7 +397,7 @@ void mbtiles_write_metadata(sqlite3 *outdb, const char *outdir, const char *fnam state.json_write_string(lnames[i]); state.json_write_string("description"); - state.json_write_string(""); + state.json_write_string(fk->second.description); state.json_write_string("minzoom"); state.json_write_signed(fk->second.minzoom); @@ -550,6 +550,7 @@ std::map merge_layermaps(std::vectorsecond.minzoom = map->second.minzoom; out_entry->second.maxzoom = map->second.maxzoom; + out_entry->second.description = map->second.description; } auto out_entry = out.find(layername); diff --git a/mbtiles.hpp b/mbtiles.hpp index fd39f7ee..f527b2c3 100644 --- a/mbtiles.hpp +++ b/mbtiles.hpp @@ -25,6 +25,7 @@ struct layermap_entry { std::map file_keys{}; int minzoom = 0; int maxzoom = 0; + std::string description = ""; size_t points = 0; size_t lines = 0;