我已经从人口普查局下载了zip code
级别的大型.shapefile
。
链接在这里:cb_2017_us_zcta510_500k.shp(https://www2.census.gov/geo/tiger/TIGER_RD18/LAYER/ZCTA520/)问题是,读入geopandas
显示,很明显,它包括阿拉斯加和周围的所有小岛。
gg.head(1)
Out[709]:
ZCTA5CE20 GEOID20 CLASSFP20 MTFCC20 FUNCSTAT20 ALAND20 \
0 35592 35592 B5 G6350 S 298552385
AWATER20 INTPTLAT20 INTPTLON20 \
0 235989 +33.7427261 -088.0973903
geometry
0 POLYGON ((-88.24735 33.65390, -88.24713 33.65415, -88.24656 33.65454, -88.24658 33.65479, -88.24672 33.65497, -88.24672 33.65520, -88.24626 33.65559, -88.24601 33.65591, -88.24601 33.65630, -88.24...
我知道在R中有一个简单的解决方案(使用多边形的面积,参见how to remove all the small islands from the Census Shapefile (zip code level)?),但是在Python中我能做什么呢?
谢谢!
1条答案
按热度按时间2ul0zpep1#
这当然可以使用CONUS形状定义文件来完成;然而,美国大陆具有落入边界框内的便利属性(并且所有非美国大陆的地理区域都落在边界框之外)。因此,最简单的方法是使用边界框进行过滤: