Questions tagged «rtree»

3
了解RTree使用空间索引的情况?
我在理解RTree的空间索引使用方面遇到麻烦。 示例:我有300个缓冲点,我需要用多边形shapefile知道每个缓冲区的相交区域。多边形shapefile具有> 20,000个多边形。建议我使用空间索引来加快此过程。 所以...如果我为多边形shapefile创建空间索引,它会以某种方式“附加”到文件,还是会独立存在?也就是说,创建完之后,我可以在多边形文件上运行交集函数并获得更快的结果吗?交叉点会“看到”有空间索引并且知道该怎么做吗?还是我需要在索引上运行它,然后通过FID或类似的方法将那些结果关联回我的原始多边形文件? RTree文档对我没有太大帮助(可能是因为我只是在学习编程)。它们显示了如何通过读取手动创建的点,然后针对其他手动创建的点查询索引来创建索引,这些其他点返回包含在窗口中的ID。说得通。但是,他们没有解释这与索引将来自的原始文件之间的关系。 我认为它必须是这样的: 从我的多边形shapefile中为每个多边形要素拉出bbox,并将其放置在空间索引中,为其提供一个与shapefile中的id相同的ID。 查询该索引以获取相交的ID。 然后,仅对通过查询索引确定的原始shapefile中的要素重新运行交集(不知道我将如何做最后一部分)。 我有正确的主意吗?我有什么想念的吗? 现在,我正在尝试使此代码在仅包含一个点要素的一个点shapefile和一个包含> 20,000个面要素的多边形shapefile上工作。 我正在使用Fiona导入shapefile,使用RTree添加空间索引,并尝试使用Shapely进行交点。 我的测试代码如下: #point shapefile representing location of desired focal statistic traps = fiona.open('single_pt_speed_test.shp', 'r') #polygon shapefile representing land cover of interest gl = MultiPolygon([shape(pol['geometry']) for pol in fiona.open('class3_aa.shp', 'r')]) #search area areaKM2 = 20 #create empty spatial index …

3
geopandas空间连接极慢
我正在使用下面的代码来查找数百万个GPS点的国家(有时是州)。该代码当前每点大约需要一秒钟,这非常慢。shapefile为6 MB。 我读到geopandas使用rtree进行空间连接,这使它们效率极高,但这在这里似乎不起作用。我究竟做错了什么?我希望每秒能获得一千个积分。 可以在此处(5MB)下载shapefile和csv:https ://www.dropbox.com/s/gdkxtpqupj0sidm/SpatialJoin.zip ? dl =0 import pandas as pd import geopandas as gpd from geopandas import GeoDataFrame, read_file from geopandas.tools import sjoin from shapely.geometry import Point, mapping,shape import time #parameters shapefile="K:/.../Shapefiles/Used/World.shp" df=pd.read_csv("K:/.../output2.csv",index_col=None,nrows=20)# Limit to 20 rows for testing if __name__=="__main__": start=time.time() df['geometry'] = df.apply(lambda z: Point(z.Longitude, z.Latitude), …

2
在Windows 64位上安装rtree
我正在使用Windows10 64位,我的os.name是'nt',我使用pip进行安装,但是它抱怨spaceindex_c.dll File "C:\Users\Bachir\AppData\Local\Temp\pip-build-td64lrth\rtree\rtree\core.py", line 101, in <module> raise OSError("could not find or load spatialindex_c.dll") OSError: could not find or load spatialindex_c.dll 我下载了rtree-0.8.2,然后运行python setup.py install,我有相同的消息 PS C:\Users\Bachir\documents\Python Scripts\Rtree-0.8.2> python setup.py install Traceback (most recent call last): File "setup.py", line 4, in <module> import rtree File "C:\Users\Bachir\documents\Python Scripts\Rtree-0.8.2\rtree\__init__.py", line 1, in …
12 rtree 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.