【问题标题】:Joining points to polygons in geopandas creating an empty dataframe even though overlapping on geoplot将点连接到 geopandas 中的多边形会创建一个空数据框,即使在 geoplot 上重叠
【发布时间】:2021-08-09 05:21:10
【问题描述】:

我有一个文本文件,其中包含经度和纬度以及我需要处理的点的特殊 ID。让我们假设文本文件看起来像下面的一堆行:

-75.3530    41.830902   1

我读这个文件如下:

import pandas as pd
point_df=pd.read_csv('point_file.txt', delimiter='\s+', header=None, index_col=False)
point_df.rename(columns = {0:'longitude', 1:'latitude', 2:'id' }, inplace = True)

我将此文件转换为地理数据框,以便使用我拥有的多边形数据对其进行处理,如下所示:

from geopandas import geodataframe
from shapely.geometry import Point
geometry = [Point(xy) for xy in zip(point_df.longitude, point_df.latitude)]
point_df=point_df.drop(['latitude', 'longitude'], axis=1)
point_df=GeoDataFrame(point_df, geometry=geometry, crs="EPSG:4326")

接下来我读取我的多边形数据框(扩展名为 .shp 的文件)如下:

import geopandas as gpd
polygon_df=gpd.read_file('hereismypolydata.shp')

我使用polygon_df.crs 检查我的多边形数据框,发现 crs 是 EPSG 4326,就像我的 point_df 一样。我的多边形数据框如下所示:

POLY_ID    geometry
1          POLYGON ((2728701.903 599036.272, 2728907.551 ...

此外,我使用geoplot 包检查它们,并使用以下代码查看它们是否重叠:

import matplotlib.pyplot as plt
import geopandas as gp
import geoplot as gplt
%matplotlib inline

ax=gplt.polyplot(polygon_df)
gplt.pointplot(point_df, ax=ax)

根据制作的情节,这两者是重叠的。所以我希望当我加入他们时,我会得到我需要的数据框。我尝试以下行在空间上加入它们:

joined_dataframe=gpd.sjoin(point_df, polygon_df, how='inner', op='intersects')

即使至少有一个点和多边形相交,此数据框也是完全空的。我也尝试过'within'命令,而不是inner,我试图保留所有行以查看'left'是否有任何内容,但合并的只是NaN。

我没有允许出于可重复性目的放置自定义数据集(稍后我将尝试创建),但是连接的数据框返回空的原因是什么?我是地理空间数据和 Python 包的新手,感谢任何见解/帮助。

【问题讨论】:

    标签: polygon point geopandas


    【解决方案1】:

    查看多边形数据框的几何形状,CRS 似乎实际上不是 EPSG:4326,其坐标应表示 decimal degrees

    您需要确定正确的 CRS,一旦找到可以设置然后转换:

    polygon_df = polygon_df.set_crs(crs, allow_override=True).to_crs("EPSG:4326")
    

    看起来多边形数据框可能正在使用投影 CRS,例如 EPSG:3857

    【讨论】:

      猜你喜欢
      • 2020-02-19
      • 2021-08-02
      • 2020-03-27
      • 2020-06-07
      • 2019-11-12
      • 2021-12-05
      • 1970-01-01
      • 1970-01-01
      • 2018-06-14
      相关资源
      最近更新 更多