mirror of
https://github.com/subsurface/subsurface.git
synced 2024-12-01 06:30:26 +00:00
bda482a30a
This renames the local name for the location as town and adds the concept of a city as the level 3 admin category. In some regions (e.g. at times in Italy) the local hamlet name is shown as toponymName but the name of the actual city is given as adminName3. With this change "city" will always reflect our best guess: adminName3 if it exists, otherwise the toponymName. Whereas "town" is always the toponymName. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
40 lines
870 B
C
40 lines
870 B
C
#ifndef TAXONOMY_H
|
|
#define TAXONOMY_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
enum taxonomy_category {
|
|
TC_NONE,
|
|
TC_OCEAN,
|
|
TC_COUNTRY,
|
|
TC_ADMIN_L1,
|
|
TC_ADMIN_L2,
|
|
TC_LOCALNAME,
|
|
TC_ADMIN_L3,
|
|
TC_NR_CATEGORIES
|
|
};
|
|
|
|
extern char *taxonomy_category_names[TC_NR_CATEGORIES];
|
|
extern char *taxonomy_api_names[TC_NR_CATEGORIES];
|
|
|
|
struct taxonomy {
|
|
int category; /* the category for this tag: ocean, country, admin_l1, admin_l2, localname, etc */
|
|
const char *value; /* the value returned, parsed, or manually entered for that category */
|
|
enum { GEOCODED, PARSED, MANUAL, COPIED } origin;
|
|
};
|
|
|
|
/* the data block contains 3 taxonomy structures - unused ones have a tag value of NONE */
|
|
struct taxonomy_data {
|
|
int nr;
|
|
struct taxonomy *category;
|
|
};
|
|
|
|
struct taxonomy *alloc_taxonomy();
|
|
void free_taxonomy(struct taxonomy *t);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif // TAXONOMY_H
|