Comment extraire les longitudes et les latitudes d'une GeoPandas DataFrame pour une colonne géométrie de points ?

Published: 13 février 2024

Tags: Python; Geopandas;

DMCA.com Protection Status

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