Allow filtering features by zoom level in conditional expressions

This moves filtering from the serialization stage to the
tiling stage so that the zoom level can be known to the filter.

The side effect is to carry null attributes much further through
the pipeline than previously.
This commit is contained in:
Eric Fischer
2018-04-05 14:15:19 -07:00
parent 6b29966e4a
commit d01d8177a0
15 changed files with 13698 additions and 57 deletions
+4
View File
@@ -608,6 +608,10 @@ std::map<std::string, layermap_entry> merge_layermaps(std::vector<std::map<std::
}
void add_to_file_keys(std::map<std::string, type_and_string_stats> &file_keys, std::string const &attrib, type_and_string const &val) {
if (val.type == mvt_null) {
return;
}
auto fka = file_keys.find(attrib);
if (fka == file_keys.end()) {
file_keys.insert(std::pair<std::string, type_and_string_stats>(attrib, type_and_string_stats()));