Introduction
Une tâche courante lors de la manipulation de données géospatiales est d'extraire les coordonnées des colonnes géométrie de points dans les objets GeoPandas. Cela peut être utile pour représenter des points sur une carte ou effectuer une analyse spatiale.
Dans ce tutoriel, nous explorerons différentes méthodes pour extraire les longitudes et les latitudes à partir des colonnes géométrie de points dans les DataFrames GeoPandas.
Création d'un GeoPandas DataFrame
Dans cette section, nous allons explorer les étapes nécessaires pour créer un GeoDataFrame de base à l'aide d'un simple dictionnaire. Pour commencer, nous pouvons stocker commodément nos données dans une DataFrame pandas :
import pandas as pd
data = {'city_name':['Paris','London','Moscow', 'Istanbul'],
'longitude':[2.3522,-0.1276,37.6173,28.9784],
'latitude':[48.8566,51.5072,55.7558,41.0082]}
df = pd.DataFrame(data)
et convertir cette DataFrame pandas en GeoDataFrame :
import geopandas
gdf = geopandas.GeoDataFrame(
df,
geometry=geopandas.points_from_xy(df.longitude, df.latitude),
crs="EPSG:4326"
)
Cela nous donnera le résultat suivante :
city_name longitude latitude geometry
0 Paris 2.3522 48.8566 POINT (2.35220 48.85660)
1 London -0.1276 51.5072 POINT (-0.12760 51.50720)
2 Moscow 37.6173 55.7558 POINT (37.61730 55.75580)
3 Istanbul 28.9784 41.0082 POINT (28.97840 41.00820)
Commente extraire les longitudes et de latitudes
Pour commencer, nous pouvons examiner le type de géométrie pour chaque ligne en utilisant la méthode suivante:
gdf['geometry'].geom_type
L'exécution de ceci nous fournira le résultat suivant :
0 Point
1 Point
2 Point
3 Point
dtype: object
Extraire les longitudes et les latitudes en utilisant les méthodes .x et .y
Pour extraire les longitudes des colonnes de géométrie qui contiennent uniquement des points, vous pouvez utiliser le code suivant.
gdf['geometry'].x
0 2.3522
1 -0.1276
2 37.6173
3 28.9784
dtype: float64
Pour extraire les latitudes des colonnes de géométrie qui contiennent uniquement des points, vous pouvez utiliser le code suivant :
gdf['geometry'].y
0 48.8566
1 51.5072
2 55.7558
3 41.0082
Si vous souhaitez créer une nouvelle colonne dans votre DataFrame avec des valeurs de longitude set de latitudes, vous pouvez utiliser le code suivant :
gdf['longitude_x'] = gdf['geometry'].x
gdf['latitude_y'] = gdf['geometry'].y
L'exécution de ceci nous fournira le résultat suivant :
city_name longitude latitude geometry longitude_x \
0 Paris 2.3522 48.8566 POINT (2.35220 48.85660) 2.3522
1 London -0.1276 51.5072 POINT (-0.12760 51.50720) -0.1276
2 Moscow 37.6173 55.7558 POINT (37.61730 55.75580) 37.6173
3 Istanbul 28.9784 41.0082 POINT (28.97840 41.00820) 28.9784
latitude_y
0 48.8566
1 51.5072
2 55.7558
3 41.0082
Références
Liens | Site |
---|---|
geopandas.GeoSeries.get_coordinates | geopandas.org |
geometric_manipulations | geopandas.org |