TL;DR:如何制作 geodjango 以将我的数据保存为 DMS 格式?
我正在构建一个简单的 django(实际上是 GeoDjango)应用程序,它加载一些包含 DMS 格式坐标的外部数据源。
目前,在加载该文件时,我将 DMS 转换为 DD,以便将该数据作为 POLYGON 字段存储在 django 模型中。
但是,对于输出(导出到文件),我需要将其转换回 DMS。这会导致输出的坐标与输入的坐标略有不同。我相信这是由于浮点数不准确...
TL;DR:如何制作 geodjango 以将我的数据保存为 DMS 格式?
我正在构建一个简单的 django(实际上是 GeoDjango)应用程序,它加载一些包含 DMS 格式坐标的外部数据源。
目前,在加载该文件时,我将 DMS 转换为 DD,以便将该数据作为 POLYGON 字段存储在 django 模型中。
但是,对于输出(导出到文件),我需要将其转换回 DMS。这会导致输出的坐标与输入的坐标略有不同。我相信这是由于浮点数不准确...
只需维护度数、分钟数、秒数信息,并在具有属性装饰器的方法中进行点操作的单向转换为十进制度数。
from django.db import models
class PolygonPoint(models.Model):
parent_poly = models.ForeignKey(PolyModel)
degrees = models.IntegerField()
minutes = models.IntegerField()
seconds = models.IntegerField()
@property
def point(self):
"""
Do conversion to point here
"""
...
p = Point(x, y, srid=a)
return p
或者,只需将数据保存在 JSON blob 中。
class SomeModel(models.Model):
...
dms_points_json = models.TextArea(help_text=u"JSON list of dms polygon points")
poly = models.PolygonField()
def populate_poly(self):
"""
Perform steps to update/populate the PolygonField using
dms_points_json blob
"""
...