基本上,我想知道是否有一种方法可以使用postgis查询django中靠近linestring的所有具有地理字段的对象。我正在计算一条路线,并希望找到大致位于该路线上的对象(例如,距线列2m-10m的最大距离)。我在网上找不到解决这个问题的方法。你知道吗
当然,我可以在路线周围创建一个间隔,比如说2m,然后使用这些间隔创建一个多边形,并检查哪些点落在创建的曲面内,但我想知道是否有更直接的方法(如我上面所述)。你知道吗
这是我第一次描述的方法的一些psu代码(这是我想要的)
def get_objects_on_route():
Model.objects.filter(geo_location__some_lookup=all_points_in_route_route, max_distance=2m)
我可以实现的其他方法
def get_objects_on_route():
points_in_surface = []
for each element in route:
points_in_surface.append(two_corrected_points)
poly= Polygon(all_points_on_route)
Model.objects.filter(geo_location__covered_by=poly)
事实证明,通过创建^{} 对象而不是^{} ,可以使用Django的PostGIS过滤轻松地进行此类查询。你知道吗
我测试了一下,似乎工作正常:
相关问题 更多 >
编程相关推荐