Make tippecanoe-overzoom accept filters from a file

This commit is contained in:
Erica Fischer
2024-12-05 09:47:56 -08:00
parent 1d81935cd5
commit 6e44e3a8c4
+20
View File
@@ -60,6 +60,7 @@ int main(int argc, char **argv) {
{"output", required_argument, 0, 'o'},
{"filter-points-multiplier", no_argument, 0, 'm'},
{"feature-filter", required_argument, 0, 'j'},
{"feature-filter-file", required_argument, 0, 'J'},
{"preserve-input-order", no_argument, 0, 'o' & 0x1F},
{"accumulate-attribute", required_argument, 0, 'E'},
{"unidecode-data", required_argument, 0, 'u' & 0x1F},
@@ -122,6 +123,25 @@ int main(int argc, char **argv) {
filter = optarg;
break;
case 'J': {
filter = "";
FILE *f = fopen(optarg, "r");
if (f == NULL) {
perror(optarg);
exit(EXIT_OPEN);
}
char buf[2000];
size_t nread;
while ((nread = fread(buf, sizeof(char), 2000, f)) != 0) {
filter += std::string(buf, nread);
}
fclose(f);
break;
}
case 'o' & 0x1F:
preserve_input_order = true;
break;