Python geo Django:找一所房子的邻居

Python geo Django:找一所房子的邻居,python,django,gis,geo,geodjango,Python,Django,Gis,Geo,Geodjango,我有一个拥有这些房产的房子模型 centerpoint = PointField(srid=0, null=True, blank=True) front_left = PointField(srid=0, null=True, blank=True) front_right = PointField(srid=0, null=True, blank=True) rear_left = PointField(srid=0, null=True, blank=True) rear_right =

我有一个拥有这些房产的房子模型

centerpoint = PointField(srid=0, null=True, blank=True)
front_left = PointField(srid=0, null=True, blank=True)
front_right = PointField(srid=0, null=True, blank=True)
rear_left = PointField(srid=0, null=True, blank=True)
rear_right = PointField(srid=0, null=True, blank=True)
polygon = PolygonField(srid=0, null=True, blank=True)
direction = FloatField(null=True, blank=True)  # the direction this house faces, in degrees
我想把房子放在一个特定的房子前面。。。我在尝试使用距离和多边形时遇到了困难

我需要得到接触的和相对方向小于160度的:

为此,我愿意:

House.objects.filter(polygon__touches=house_instance.polygon, direction__lt=160)
我如何修改此查询以获得位于前面一个街区的房屋以及距离我的参考房屋一个街区的房屋

编辑: 所以“朝向”实际上是一个方向场,它包含房子正门朝向的角度

这是我需要的邻居形象

我的多边形区域是房子的实际“面积”,以点为单位

对不起,如果我的术语是古怪的我在这方面很新


如果还保留街道的多边形(甚至线条),则可以查询面向房屋的街道,然后查询哪些房屋面向此街道


一个很酷的解决方法是使用反向地理编码(例如,通过谷歌地图检索房屋的街道地址,然后检索其他房屋的街道地址,并尝试匹配它们。只有反向地理编码服务拥有您所在地区的数据并且足够准确,这才有效。

您所说的“面向方向”是什么意思?您如何定义“前方”?请发布房屋多边形示例(最好是geojson),标记参考房屋和目标房屋。我更新了我的问题@UdiI,并发布了一些建议。如果您可以上传房屋和街道的多边形,我可以尝试发送一些查询。