我如何使用十进制字段在geodjango



根据https://docs.djangoproject.com/en/dev/ref/contrib/gis/tutorial/#defining-a-geographic-model,纬度信息存储在geojango的floatfield

  1. 我想知道如果lat和lon存储在floatfield上,用来表示坐标的有效数字的数量是多少?

  2. 是否有办法改变floatfield的数字在geodjango?

  3. 我可以在geojango中使用decimalfield代替floatfield吗?怎么做呢?

因为我正在构建一个需要依赖坐标进行大量距离计算的服务,所以我需要减少计算量。

根据https://docs.djangoproject.com/en/dev/ref/contrib/gis/tutorial/defining-a-geographic-model,经纬度信息存储在geojango的floatfield中。

不正确的引用和推断。你正在看的是一个教程,展示了如何将World Borders Shapefile导入django。在这里,晚和长确实是无关的领域。重要的是mpoly。这可能就是为什么lat和lng在这里被存储为浮子的原因。但是他们可以通过不使用lat,lng作为单独的字段来避免混淆。

真正的geodjango存储点的方式是使用PointField,它允许您存储关于位置的附加信息,例如SRID。确切的内部表示因RDBMS而异。

如果你需要距离计算的唯一方法是使用一个GeometryField或它的子类之一(与PointField是一个),所以子主题1,2,3在你的问题是不真正相关的

最新更新