Ce fichier de configuration est utilisé pour convertir un jeu de données ouvertes en des données exploitables par des tags OpenStreetMap. Il décrit les règles de conversion pour chaque propriété des données ouvertes et les valeurs attendues pour chaque tag OpenStreetMap.
Structure du fichier de configuration
Le fichier de configuration est un objet JSON du type MappingConfigType qui contient les propriétés suivantes :
| config_author | | | le nom de l'auteur de la configuration avec son email entre chevrons |
| source | | | infos sur la provenance des données à convertir |
| source | geojson_path | | lien relatif dans ce dépôt vers le fichier téléchargé |
| source | url | | lien absolu de la source, sur le portail datagouv par exemple |
| add_not_mapped_tags_too | | | un boolean indiquant si les tags non détectés par la configuration doivent être ajoutés également aux points convertis |
| default_properties_of_point | | | un objet qui décrit les clés et valeur par défaut à mettre pour les points |
| filters | | | un objet qui décrit les filtres à appliquer aux données ouvertes |
| filters | enable_coordinates_filter | | booléen, permet d'activer un filtre sur les points se trouvant dans certaines coordonnées |
| filters | properties | | objet listant colonne et expression régulières pour ne garder que ce qui correspond |
| filters | properties | consolidated_code_postal | | exemple de regex pour trouver les points dont le code postal commence par 76 ou 27 : '^[76|27]' |
| filters | bounding_box | | tableau décrivant un rectangle de coordonnées: Xstart Ystart Xend Yend |
| filters | enable_properties_filter | | objet décrivant les regex à chercher sur certaines colonnes pour ne garder que les objets concernés |
| tags | | | un objet qui décrit les règles de conversion pour chaque tag OpenStreetMap |
Chaque clé donne une colonne du jeu de données à convertir en tag OSM, soit en conservant la valeur si on lui donne une simple chaîne de caractères en valeur, soit en lui apportant des modifications plus précises avec un objet en valeur.
Par exemple, nous avons un jeu de données sur les bornes de recharge électriques et leur numéro de SIREN est donné dans une colonne "siren_amenageur", dans OSM on utilisera une clé 'owner:ref:FR:SIREN'.
| ignore_this_data | Ignorer, pour évacuer des valeurs indésirables | | |
| tags_to_add | Tags à ajouter | objet | |
| transform_function | Une fonction à appliquer à la valeur | | |
| convert_to_boolean_value | Convertit en 'yes' si la valeur est Truthy, et en 'no' si elle est Falsy. Et ne change pas la valeur si elle n'est ni Truthy ni Falsy. | | |
| value_converted | valeur à convertir | string ou number | |
| truthy_value | Convertir la valeur dans le cas où elle est Truthy. exemple: le jeu de données dit que la colonne cable_t2_attache vaut "True", mais on veut le convertir en "1". On met donc truthy_value: '1' | boolean | false |
| falsy_value | Convertir la valeur dans le cas où elle est Falsy, comme pour truthy_value. | boolean | false |