Polygons.contains()不起作用(多边形具有面积且is_valid = True)

时间:2019-07-03 17:46:10

标签: python-3.x geopandas

在给定Lat和Lon的情况下,我试图从.shp文件中获取状态:

我已经加载了.shp(地图)和.csv(拉特朗值)的文件

我设法返回了一个包含所有点的地图:

    geometry = [Point (xy) for xy in zip(Atrain["lon"],Atrain["lat"])]
    geo_df = gpd.GeoDataFrame(geometry = geometry)

    fig, ax = plt.subplots(figsize = ((15,15)))
    shp_br.plot(ax =ax)
    geo_df.plot(ax = ax,color = "red")

导致:

https://i.stack.imgur.com/LFGwG.png

(对不起,声誉不足,无法发布图片,是网站的新内容)

但随后,我的循环导致应为该值的false:

    pt = Point(-10, -50)
    s = 0
    for i in shp_br["geometry"]:
        if i.contains(pt):
            print(shp_br["NM_ESTADO"][s])
        s +=1

可能是什么原因的任何线索? 谢谢!

1 个答案:

答案 0 :(得分:0)

我想通了,我的观点不应该在那里,因为我已经以(拉特,拉特)的格式(拉特,拉特)编写了它