in src/apps/filters/h3ToGeo.c [66:111]
int main(int argc, char *argv[]) {
Arg helpArg = ARG_HELP;
DEFINE_INDEX_ARG(index, indexArg);
Arg kmlArg = ARG_KML;
DEFINE_KML_NAME_ARG(userKmlName, kmlNameArg);
DEFINE_KML_DESC_ARG(userKmlDesc, kmlDescArg);
Arg *args[] = {&helpArg, &indexArg, &kmlArg, &kmlNameArg, &kmlDescArg};
if (parseArgs(argc, argv, 5, args, &helpArg,
"Converts indexes to latitude/longitude center coordinates "
"in degrees")) {
return helpArg.found ? 0 : 1;
}
if (kmlArg.found) {
char *kmlName = "H3 Geometry";
if (kmlNameArg.found) kmlName = userKmlName;
char *kmlDesc = "Generated by h3ToGeo";
if (kmlDescArg.found) kmlDesc = userKmlDesc;
kmlPtsHeader(kmlName, kmlDesc);
}
if (indexArg.found) {
doCell(index, kmlArg.found);
} else {
// process the indexes on stdin
char buff[BUFF_SIZE];
while (1) {
// get an index from stdin
if (!fgets(buff, BUFF_SIZE, stdin)) {
if (feof(stdin))
break;
else
error("reading H3 index from stdin");
}
H3Index h3 = H3_EXPORT(stringToH3)(buff);
doCell(h3, kmlArg.found);
}
}
if (kmlArg.found) kmlPtsFooter();
}