forked from Olav63/outils_OSM
bug fixes et améliorations, paramétrages #1
@ -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
13
rdoo.py
@ -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)
|
||||||
|
@ -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
|
||||||
@ -127,19 +127,28 @@ class Utils:
|
|||||||
if (
|
if (
|
||||||
overpass_query_fields[tag]["export_json"] == "Oui"
|
overpass_query_fields[tag]["export_json"] == "Oui"
|
||||||
and tag in element["tags"]
|
and tag in element["tags"]
|
||||||
and overpass_query_fields[tag]["FR"] != ""
|
|
||||||
):
|
):
|
||||||
description = (
|
if concatenation:
|
||||||
description
|
ajout = (
|
||||||
+ overpass_query_fields[tag]["FR"]
|
str(element["tags"][tag])
|
||||||
|
if overpass_query_fields[tag]["FR"] == ""
|
||||||
|
else overpass_query_fields[tag]["FR"]
|
||||||
+ " : "
|
+ " : "
|
||||||
+ str(element["tags"][tag])
|
+ str(element["tags"][tag])
|
||||||
+ "\n"
|
|
||||||
)
|
)
|
||||||
|
description = description + ajout + "\n"
|
||||||
export_json["elements"][index_line]["tags"] = {
|
export_json["elements"][index_line]["tags"] = {
|
||||||
"description": description[:-1]
|
"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]}
|
||||||
|
)
|
||||||
|
|
||||||
index_line = index_line + 1
|
index_line = index_line + 1
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user