에서 버퍼에 어떻게 반경을 기반으로 거리 검색을 갖고 싶어. 이렇게하기 위해, 포인트 오브젝트 주위에 버퍼를 작성하여 그 안에있는 오브젝트를 필터링하려고합니다.Geodjango는 : 포인트
>>> lat = 37.7762179974
>>> lon = -122.411562492
>>> from django.contrib.gis.geos import Point
>>> pnt = Point(lat, lon)
>>> buf = pnt.buffer(0.0001)
을하지만이 Thing
개체를 필터링하는 데 문제가 그들이 버퍼 안에있는 여부에 따라 오전 :
>>> z = Thing.objects.filter(pnt__intersects=buf)
(내가 알고 내가 그것에서 어딘지 여기
입니다 위의 내용은 올바르지 않지만 지금 시도하고있는 것을 자세히 설명하기 위해 사용합니다.)
어떻게 만들 수 있습니까? Point
주변의 버퍼와 필터 Things
이 buffer
안에 있습니까?
편집 :이 두 모델 필드의 조합으로 구성된 점을 기준으로 필터링 할 수있는 방법 models.py
class Thing(models.Model):
lat = models.FloatField()
lon = models.FloatField()
?
내 모델의 pnt
필드가 없기 때문에 이것은 분명히 작동하지 않을 수 있습니다
>>> pnt = Point(lat, lon)
>>> z = Thing.objects.filter(pnt__intersects=buf)
을하지만 어떻게 비슷한 일을 할 수 있습니까?
안녕하세요, @ 닉 B 나는 약간 늦게 (3 년까지) 대답을 올렸습니다. 봐. –