diff --git a/analysers/analyser_merge_school_FR.py b/analysers/analyser_merge_school_FR.py index b33cb557c..a823eb0cf 100644 --- a/analysers/analyser_merge_school_FR.py +++ b/analysers/analyser_merge_school_FR.py @@ -75,9 +75,9 @@ def __init__(self, config, logger = None): attribution="Ministère de l'Éducation nationale et de la Jeunesse", url="https://data.education.gouv.fr/explore/dataset/fr-en-adresse-et-geolocalisation-etablissements-premier-et-second-degre", filter=lambda t: t.replace("Ecole", "École").replace("ecole", "école").replace("Saint ", "Saint-").replace("Sainte ", "Sainte-").replace("élementaire", "élémentaire").replace("elementaire", "élémentaire").replace("Elémentaire", "Élémentaire").replace("elémentaire", "élémentaire").replace("College", "Collège"))), - Load_XY("longitude", "latitude", - select = {"etat_etablissement": ["1", "3"]}, - where = lambda res: res["code_postal_uai"] and self.is_in(res["code_postal_uai"])), + Load_XY("Longitude WGS84", "Latitude WGS84", + select = {"Etat de l'établissement": ["1", "3"]}, + where = lambda res: res["Adresse : code postal"] and self.is_in(res["Adresse : code postal"])), Conflate( select = Select( types = ["nodes", "ways", "relations"], @@ -89,17 +89,17 @@ def __init__(self, config, logger = None): "source": self.source, "amenity": "school"}, mapping1 = { - "ref:UAI": "numero_uai", - "school:FR": lambda res: self.School_FR_nature_uai[res["nature_uai"]], - "operator:type": lambda res: "private" if res["secteur_public_prive_libe"] == "Privé" else "public" if res["secteur_public_prive_libe"] == "Public" else None}, - mapping2 = {"name": lambda res: res["appellation_officielle"].replace("ECOLE", "École").replace("ELEMENTAIRE", "élémentaire") if res["appellation_officielle"] not in [None, "A COMPLETER", "École primaire", "École Primaire", "ECOLE PRIMAIRE", "École PRIMAIRE", "ECOLE Primaire", "école primaire", "École primaire publique", "ECOLE PRIMAIRE PUBLIQUE", "École Primaire Publique", "École PRIMAIRE publique", "École primaire privée", "ECOLE PRIMAIRE PRIVÉE", "École primaire intercommunale", "École primaire Intercommunale", "École Primaire Intercommunale", "École élémentaire", "École Élémentaire", "ECOLE ELEMENTAIRE", "École ELEMENTAIRE", "École Elementaire", "école élémentaire", "École élémentaire publique", "École élémentaire Publique", "ECOLE ELEMENTAIRE PUBLIQUE", "École élémentaire privée", "École élémentaire intercommunale", "École élémentaire école publique", "École maternelle", "ECOLE MATERNELLE", "École Maternelle", "École MATERNELLE", "École Maternelle", "école maternelle", "École maternelle publique", "ECOLE MATERNELLE PUBLIQUE", "École Maternelle Publique", "École maternelle Publique", "école maternelle publique", "École maternelle intercommunale", "École maternelle Intercommunale", "Collège"] else None}, + "ref:UAI": "Numéro d'UAI", + "school:FR": lambda res: self.School_FR_nature_uai[res["Code nature de l'UAI"]], + "operator:type": lambda res: "private" if res["Secteur"] == "Privé" else "public" if res["Secteur"] == "Public" else None}, + mapping2 = {"name": lambda res: res["Appellation officielle"].replace("ECOLE", "École").replace("ELEMENTAIRE", "élémentaire") if res["Appellation officielle"] not in [None, "A COMPLETER", "École primaire", "École Primaire", "ECOLE PRIMAIRE", "École PRIMAIRE", "ECOLE Primaire", "école primaire", "École primaire publique", "ECOLE PRIMAIRE PUBLIQUE", "École Primaire Publique", "École PRIMAIRE publique", "École primaire privée", "ECOLE PRIMAIRE PRIVÉE", "École primaire intercommunale", "École primaire Intercommunale", "École Primaire Intercommunale", "École élémentaire", "École Élémentaire", "ECOLE ELEMENTAIRE", "École ELEMENTAIRE", "École Elementaire", "école élémentaire", "École élémentaire publique", "École élémentaire Publique", "ECOLE ELEMENTAIRE PUBLIQUE", "École élémentaire privée", "École élémentaire intercommunale", "École élémentaire école publique", "École maternelle", "ECOLE MATERNELLE", "École Maternelle", "École MATERNELLE", "École Maternelle", "école maternelle", "École maternelle publique", "ECOLE MATERNELLE PUBLIQUE", "École Maternelle Publique", "École maternelle Publique", "école maternelle publique", "École maternelle intercommunale", "École maternelle Intercommunale", "Collège"] else None}, text = self.text))) def text(self, tags, fields): - lib = ', '.join(filter(lambda x: x and x != "None", [fields["appellation_officielle"], fields["adresse_uai"], fields["lieu_dit_uai"], fields["boite_postale_uai"], fields["code_postal_uai"], fields["localite_acheminement_uai"], fields["libelle_commune"]])) + lib = ', '.join(filter(lambda x: x and x != "None", [fields["Appellation officielle"], fields["Adresse : désignation de la voie"], fields["Adresse : 5e ligne"], fields["Adresse : boite postale ou course spéciale"], fields["Adresse : code postal"], fields["Localité d'acheminement"], fields["Libellé de la commune"]])) return { - "en": lib + " (positioned: {0}, matching: {1})".format(self.School_FR_loc[fields["localisation"]]["en"], self.School_FR_app[fields["appariement"]]["en"]), - "fr": lib + " (position : {0}, appariement : {1})".format(self.School_FR_loc[fields["localisation"]]["fr"], self.School_FR_app[fields["appariement"]]["fr"]), + "en": lib + " (positioned: {0}, matching: {1})".format(self.School_FR_loc[fields["localisation par IGN"]]["en"], self.School_FR_app[fields["Appariement par IGN"]]["en"]), + "fr": lib + " (position : {0}, appariement : {1})".format(self.School_FR_loc[fields["localisation par IGN"]]["fr"], self.School_FR_app[fields["Appariement par IGN"]]["fr"]), } School_FR_loc = { @@ -170,6 +170,8 @@ def text(self, tags, fields): "340": "collège", "342": None, "344": None, + "345": None, + "346": None, "349": None, "350": "collège", "352": "collège",