使用 Geopandas 将 NYC shapefile 子集到曼哈顿

Posted

技术标签:

【中文标题】使用 Geopandas 将 NYC shapefile 子集到曼哈顿【英文标题】:Subsetting NYC shapefile to Manhattan using Geopandas 【发布时间】:2019-11-11 09:03:03 【问题描述】:

我有一个纽约市的 shapefile,我想使用 geopandas 将其缩减为仅覆盖曼哈顿。 (来源:https://www1.nyc.gov/site/tlc/about/tlc-trip-record-data.page)。

感谢您的建议!!!

已经尝试过https://mygeodata.cloud/,但无法正常工作...

我的总体目标是稍后检查某些纬度/经度点是否在曼哈顿的 shapefile 中,但目前,它会为纽约市执行此操作,因此包括实际上在曼哈顿之外的点。

【问题讨论】:

imgur.com/cyCC9bt @Steven 你能把那个代码作为答案发布吗? @joris 我会,但我不太确定这是否是发帖人想要的,因为没有示例数据框 【参考方案1】:

假设您正在使用以下 shapefile:

除了GeoDataFrame 中的几何列之外,它的作用就像 Pandas DataFrame。因此,您可以像处理 Pandas 一样对您的 GeoDataFrame 进行子集化。

import geopandas as gpd

gdf = gpd.read_file('taxi_zones.shp')

# only keep Manhattan
gdf = gdf[gdf.borough == 'Manhattan']

# you can check it:
gdf.borough.value_counts()

【讨论】:

以上是关于使用 Geopandas 将 NYC shapefile 子集到曼哈顿的主要内容,如果未能解决你的问题,请参考以下文章

将 csv 和 shapefile 与 geopandas 合并

将 geopandas 边界图添加到 plotly

无法使用 nyc/istanbul 进行代码覆盖

系列情节 - Geopandas

使用 geopandas 和 matplotlib 绘制地图

将 Geopandas 数据框直接导出到压缩的 shapefile