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 pddata = {'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 geopandasgdf = 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 geometry0 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 Point1 Point2 Point3 Pointdtype: 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'].x0 2.35221 -0.12762 37.61733 28.9784dtype: float64
Pour extraire les latitudes des colonnes de géométrie qui contiennent uniquement des points, vous pouvez utiliser le code suivant :
gdf['geometry'].y0 48.85661 51.50722 55.75583 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'].xgdf['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.35221 London -0.1276 51.5072 POINT (-0.12760 51.50720) -0.12762 Moscow 37.6173 55.7558 POINT (37.61730 55.75580) 37.61733 Istanbul 28.9784 41.0082 POINT (28.97840 41.00820) 28.9784latitude_y0 48.85661 51.50722 55.75583 41.0082
Références
| Liens | Site |
|---|---|
| geopandas.GeoSeries.get_coordinates | geopandas.org |
| geometric_manipulations | geopandas.org |
