查找一根线附近的线,
from rtree import index
#输入所有的线,建立空间索引树
idx = index.Index()
lines = [] #假定已经有所有线的几何
for i, line in enumerate(lines):
minx = 180.0 #经度最小值
maxx = 0.0 #经度最大值
miny = 90.0 #纬度最小值
maxy = 0.0 #纬度最大值
for point in line:
minx = min(minx, point[0])
maxx = max(maxx, point[0])
miny = min(miny, point[1])
maxy = max(maxy, point[1])
idx.insert(i, (minx, miny, maxx, maxy), obj = lineinfo)
#查询数据
query_bbox = (minx, miny, maxx, maxy)
results = list(idx.intersection(query_bbox, objects=True)) #通过经度纬度包围盒来初筛
for result in results:
id = result.id
bbox = result.bbox
obj = result.object #唯一标识
#进一步判断
#do_operations()