Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
两种相交方法(几何体)之间的python差异_Python_Pandas_Geometry_Geopandas - Fatal编程技术网

两种相交方法(几何体)之间的python差异

两种相交方法(几何体)之间的python差异,python,pandas,geometry,geopandas,Python,Pandas,Geometry,Geopandas,我是python的初学者。在提问之前,请原谅我的英语不好 我有两个形状文件(建筑物-多多边形,城市-多多边形) 我试着把这两个交叉,因为我想得到信息 城市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"

我是python的初学者。在提问之前,请原谅我的英语不好

我有两个形状文件(建筑物-多多边形,城市-多多边形) 我试着把这两个交叉,因为我想得到信息 城市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)

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

  • 你能告诉我两者的区别吗

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