两个交集方法(几何)之间的python差异

时间:2017-02-03 08:16:52

标签: python pandas geometry geopandas

我是python的初学者。在提问之前,抱歉我的英语不好。

我有两个shapefile(建筑物 - 多边形,城市 - 多边形) 我试图将这两者相交,因为我想获取信息 建筑物的位置1。

我将向您展示我使用过的两个不同的代码。

import geopandas as gpd

sg = gpd.read_file('sg_4326/sg4326.shp')
sb = gpd.read_file('sb_4326/sb4326.shp')


sg = sg.rename(columns = {"EA002_NAM" : "gu_name"}) ##TO change index
sg.set_index("gu_name", inplace = True)
sg.sort()


sg_g = sg.geometry[u"광진구"] ##To get city1


mm = sb.geometry.intersects(sg_g) ##Intersects sb(buildings) and sg_g(city1)
mm[mm == 1]

其中一个是

import geopandas as gpd

sg = gpd.read_file('sg_4326/sg4326.shp')
sb = gpd.read_file('sb_4326/sb4326.shp')


sg = sg.rename(columns = {"EA002_NAM" : "gu_name"}) ##TO change index name

sg_g = sg[sg["gu_name"] == u"광진구"] ##To get a city1


sg_g = sg_g.set_geometry("geometry", crs = {"init" : "epsg : 4326"})##TO set crs
sb = sb.set_geometry("geometry", crs = {"init" : "epsg : 4326"})


mm = sb.geometry.intersects(sg_g) #Intersect sb(buildings) and sg_g(city1)
mm[mm == 1]

我认为这两种不同的是类型 上面的一个与sg_g(shapely.geometry.polygon.Polygon)sb(geopandas.geodataframe.GeoDataFrame)

相交

另一个是sg_g(geopandas.geodataframe.GeoDataFrame)sb(geopandas.geodataframe.GeoDataFrame)

第一个的输出都是False(错误),但第二个是正确的

  1. 你能告诉我两个人的不同吗?

  2. 有没有办法立即将(geopandas.geodataframe.GeoDataFrame)转换为(shapely.geometry.polygon.Polygon)

0 个答案:

没有答案