Compare commits

...

2 Commits

Author SHA1 Message Date
5f1cd67cc0 close #15 option pour concaténer l'export json 2022-01-16 20:37:23 +01:00
7612eb0b7f reorganisation du test export description 2022-01-13 22:15:44 +01:00
3 changed files with 42 additions and 14 deletions

View File

@ -45,7 +45,10 @@ Ces chemins sont relatifs à `rdoo.py`, il est possible de passer des chemins ab
Il est possible de ne pas archiver en passant l'argument `-na, --no-archive`. Il est possible de ne pas archiver en passant l'argument `-na, --no-archive`.
### Traductions ### Concaténation des tags dans l'export json
`-nc, --no-concatenation`, pour ne pas concaténer les tags dans le champ description du json exporté.
## Traductions
Les tags peuvent être traduits grâce au fichier `traductions.json` contenant la configuration sous la forme `"clef" : "tableau_de_valeurs"` où la clef est la valeur du tag OSM à traduire et le tableau de valeurs est de la forme `"valeur" : "traduction"`. Le fichier par défaut contient l'exemple de la traduction du tag `"bicycle_parking"`. Les tags peuvent être traduits grâce au fichier `traductions.json` contenant la configuration sous la forme `"clef" : "tableau_de_valeurs"` où la clef est la valeur du tag OSM à traduire et le tableau de valeurs est de la forme `"valeur" : "traduction"`. Le fichier par défaut contient l'exemple de la traduction du tag `"bicycle_parking"`.
## Umap ## Umap

13
rdoo.py
View File

@ -105,6 +105,15 @@ def init_argparse() -> argparse.ArgumentParser:
) )
parser.set_defaults(archivage=True) parser.set_defaults(archivage=True)
parser.add_argument(
"-nc",
"--no-concatenation",
dest="concatenation",
action="store_false",
help="Désactiver la concaténation des tags dans l'export json",
)
parser.set_defaults(concatenation=True)
return parser return parser
@ -157,8 +166,8 @@ def main():
# Sauvegarde # Sauvegarde
os.makedirs(args.dossier_resultats, exist_ok=True) os.makedirs(args.dossier_resultats, exist_ok=True)
export_json = utils.nettoyage_json_pour_umap( export_json = utils.export_json_pour_umap(
data, utils.json_reqs[req]["champs"] data, utils.json_reqs[req]["champs"], args.concatenation
) )
utils.save_as_json(export_json, req) utils.save_as_json(export_json, req)

View File

@ -96,7 +96,7 @@ class Utils:
logging.info("Sauvegarde résultat format JSON/OSM") logging.info("Sauvegarde résultat format JSON/OSM")
def nettoyage_json_pour_umap(self, data, overpass_query_fields): def export_json_pour_umap(self, data, overpass_query_fields, concatenation):
"""Sélection uniquement des champs export_json == oui""" """Sélection uniquement des champs export_json == oui"""
export_json = { export_json = {
@ -110,7 +110,7 @@ class Utils:
for element in data["elements"]: for element in data["elements"]:
export_json["elements"].append( export_json["elements"].append(
{"type": element["type"], "id": element["id"]} {"type": element["type"], "id": element["id"], "tags": {}}
) )
# positionnement des éléments # positionnement des éléments
@ -124,15 +124,31 @@ class Utils:
# filtrage des tags # filtrage des tags
description = "" description = ""
for tag in overpass_query_fields.keys(): for tag in overpass_query_fields.keys():
if overpass_query_fields[tag]["export_json"] == "Oui": if (
if tag in element["tags"]: overpass_query_fields[tag]["export_json"] == "Oui"
if overpass_query_fields[tag]["FR"] != "": and tag in element["tags"]
description = ( ):
description + overpass_query_fields[tag]["FR"] + " : " if concatenation:
ajout = (
str(element["tags"][tag])
if overpass_query_fields[tag]["FR"] == ""
else overpass_query_fields[tag]["FR"]
+ " : "
+ str(element["tags"][tag])
)
description = description + ajout + "\n"
export_json["elements"][index_line]["tags"] = {
"description": description[:-1]
}
else:
tagname = (
tag
if overpass_query_fields[tag]["FR"] == ""
else overpass_query_fields[tag]["FR"]
)
export_json["elements"][index_line]["tags"].update(
{tagname: element["tags"][tag]}
) )
description = description + str(element["tags"][tag]) + "\n"
export_json["elements"][index_line]["tags"] = {"description": description}
index_line = index_line + 1 index_line = index_line + 1