etalab / schema-irve

TableSchema pour les Infrastructures de Recharge de Véhicules Electriques (IRVE)
10 stars 10 forks source link

Consolidation du code_insee à partir des coordonnées x et y #25

Open ChristinaLaumond opened 1 year ago

ChristinaLaumond commented 1 year ago

Les évolutions de schéma statique (version 2.1.0) ont eu pour impact de rendre le code_insee facultatif alors qu'il était obligatoire auparavant. En effet, nous nous sommes aperçus de la difficulté pour certains à remplir ce champ + que certaines informations étaient erronées (code postal à la place du code_insee).
L'objectif serait donc de calculer le champ code_insee nous même, à partir des coordonnées x et y, au moment de la consolidation pour pour s'éviter ce genre de problème.

BastienGauthier commented 7 months ago

Très intéressé par ça ! Si ça aide, une méthode :

import geopandas as gpd
from shapely.geometry import Point

# Chemin vers le fichier de polygones des communes
path_polygons = 'communes.geojson'

# Charger les polygones des communes avec GeoPandas
gdf_communes = gpd.read_file(path_polygons)

# Créer un point à partir de la latitude et de la longitude (remplacez par vos valeurs)
# Ca pourrait même être un dataframe (avec toutes les bornes par exemple)
latitude = 48.8566
longitude = 2.3522
point = gpd.GeoDataFrame([{'geometry': Point(longitude, latitude)}], crs=gdf_communes.crs)

# Effectuer une jointure pour trouver la commune
resultat = gpd.sjoin(point, gdf_communes, how="left", op='within')