找出lat/lon属于哪个多边形(在python中)



有什么方法可以在python中做与我在R中做的类似的事情吗?

library(maps)
library(rgdal)
mp = 'gadm41_USA_shp' #from gadm.org
mp = rgdal::readOGR(mp)
mymap = maps::SpatialPolygons2map(mp, namefield="ISO_1")
map.where(mymap, y = 40.725959, x = -73.978544)
#[1] "US-NY:88"

形状文件链接:https://geodata.ucdavis.edu/gadm/gadm4.1/shp/gadm41_USA_shp.zip

在python中,我可以读取形状文件,但我如何检查点落在哪里?

import geopandas as gpd
shp = gpd.read_file("gadm41_USA_1.shp")
import geopandas as gpd
from shapely.geometry import Point, Polygon, GeometryCollection, Polygon, mapping

shp = gpd.read_file('gadm41_USA_1.shp')
pt = Point(-73.978544, 40.725959)
print(shp.loc[shp['geometry'].contains(pt), 'ISO_1'])
32    US-NY
Name: ISO_1, dtype: object

最新更新