Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 12 additions & 10 deletions analysers/analyser_merge_school_FR.py
Original file line number Diff line number Diff line change
Expand Up @@ -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"],
Expand All @@ -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 = {
Expand Down Expand Up @@ -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",
Expand Down
Loading