Track how many features of each type are in each layer

This commit is contained in:
Eric Fischer
2017-07-14 17:23:41 -07:00
parent 65c095cc2b
commit 62ee53992b
3 changed files with 30 additions and 2 deletions
+19
View File
@@ -295,10 +295,29 @@ int serialize_geometry(json_object *geometry, json_object *properties, json_obje
if (ai != layermap->end()) {
layer = ai->second.id;
layername = tippecanoe_layername;
if (mb_geometry[t] == VT_POINT) {
ai->second.points++;
} else if (mb_geometry[t] == VT_LINE) {
ai->second.lines++;
} else if (mb_geometry[t] == VT_POLYGON) {
ai->second.polygons++;
}
} else {
fprintf(stderr, "Internal error: can't find layer name %s\n", tippecanoe_layername.c_str());
exit(EXIT_FAILURE);
}
} else {
auto fk = layermap->find(layername);
if (fk != layermap->end()) {
if (mb_geometry[t] == VT_POINT) {
fk->second.points++;
} else if (mb_geometry[t] == VT_LINE) {
fk->second.lines++;
} else if (mb_geometry[t] == VT_POLYGON) {
fk->second.polygons++;
}
}
}
size_t nprop = 0;