如果我从Google Maps API获取了经度和纬度的地理编码,那么保存
GeoDjango文档缺乏这种信息(感觉他们只写了足够专业人士高效使用的详细信息),而我找到的所有内容都没有被接受的答案:如何分配给Django PointField模型属性? 为了更好地理解,以下是我尝试做的事情:
我的用户多数需要查询的是“显示距离此点大约20公里范围内的所有点,并按从近到远的顺序排序”的类型。虽然数据遍布加拿大,但用户只对每个查询中特定小地区内的点感兴趣,因此
PointField
的语法是什么?GeoDjango文档缺乏这种信息(感觉他们只写了足够专业人士高效使用的详细信息),而我找到的所有内容都没有被接受的答案:如何分配给Django PointField模型属性? 为了更好地理解,以下是我尝试做的事情:
class Point(models.Model):
geography = models.PointField(geography=True)
geometry= models.PointField(srid=3348) #Statistics Canada Lambert projection
我的用户多数需要查询的是“显示距离此点大约20公里范围内的所有点,并按从近到远的顺序排序”的类型。虽然数据遍布加拿大,但用户只对每个查询中特定小地区内的点感兴趣,因此
geometry PointField 对于99%的用途已经足够。
如果需要以米为单位测量距离(而不仅仅是按最近到最远的顺序排序),则将使用 geography PointField。