gpt4 book ai didi

python - geodjango 检查 PolygonField 中的 PointField

转载 作者:行者123 更新时间:2023-11-30 22:50:45 26 4
gpt4 key购买 nike

我有两个 django 模型:

class Region(models.Model):
geometry = models.PolygonField()

class Position(models.Model):
coordinates = models.PointField()

我正在尝试检查职位在地理上是否包含在某个区域内:

def check(region, position):
return position.coordinates.intersect(region.geometry)

但它总是返回False,即使位置包含在区域内(我正在使用 django-leaflet 渲染 PointField 和 RegionField)。我也尝试过使用:

def check(region, position):
return position.coordinates.within(region.geometry)

但到目前为止还没有结果。这是我正在使用的测试数据(geojson):

{"coordinates": [46.2071762, 11.1245718], "type": "Point"}
{"coordinates": [[[11.102371215820312, 46.21939582902924], [11.106491088867188, 46.22111800038881], [11.134214401245117, 46.22188999070486], [11.140050888061523, 46.21791115519151], [11.141080856323242, 46.21422899084459], [11.137990951538086, 46.207695510993354], [11.13412857055664, 46.20122065978115], [11.12485885620117, 46.198844376182535], [11.102371215820312, 46.21939582902924]]], "type": "Polygon"}

有任何关于问题可能是什么的提示吗?提前致谢!

最佳答案

我猜你的错误是合乎逻辑的。Point的纬度和经度应该交换。我的意思是

{"coordinates": [11.1245718, 46.2071762], "type": "Point"}

而不是

{"coordinates": [46.2071762, 11.1245718], "type": "Point"}

关于python - geodjango 检查 PolygonField 中的 PointField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39245233/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com