【发布时间】:2018-07-17 00:19:02
【问题描述】:
我有一个具有这些属性的房屋模型
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
我想把房子放在特定房子前面...我很难尝试使用距离和多边形__dwithin
我需要得到那些正在接触的和那些相对方向小于 160 度的:
我这样做:
House.objects.filter(polygon__touches=house_instance.polygon, direction__lt=160)
如何修改此查询以获取前面最多一个街区的房屋和距离我的参考房屋一所房子的房屋?
编辑: 所以“面向方向”实际上是包含房屋正门方向的方向场
这是我在邻居方面需要的图像,
我的多边形字段是房子的实际“面积”,以点为单位......
对不起,如果我的术语很古怪,我对此很陌生...
【问题讨论】:
-
“面向方向”是什么意思?你如何定义“在前面”?
-
请发布房屋多边形样本(最好是geojson),标记参考房屋和目标房屋。
-
我更新了我的问题@Udi
-
我已经发布了一些建议。如果您可以上传房屋和街道的多边形,我可以尝试发送一些查询。
标签: python django gis geo geodjango