【问题标题】:Using UTM with geodjango将 UTM 与 geodjango 一起使用
【发布时间】:2009-08-26 04:48:07
【问题描述】:

我正在研究将 UTM 坐标系与 geodjango 一起使用。 而且我不知道如何正确获取数据。

我一直在浏览文档,似乎“GEOSGeometry(geo_input, srid=None)”或“OGRGeometry”可以与 EWKT 一起使用,但我不知道如何格式化数据。

看起来 UTM SRID 是:2029

来自wikipedia article的格式是这样写的:

[UTMZone][N or S] [easting] [northing]

17N 630084 4833438

所以我尝试了以下没有运气:

>>> from django.contrib.gis.geos import *
>>> pnt = GEOSGeometry('SRID=2029;POINT(17N 630084 4833438)')
GEOS_ERROR: ParseException: Expected number but encountered word: '17N'
>>>
>>> from django.contrib.gis.gdal import OGRGeometry
>>> pnt = OGRGeometry('SRID=2029;POINT(17N 630084 4833438)')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python26\lib\site-packages\django\contrib\gis\gdal\geometries.py", line 106, in __init__
    ogr_t = OGRGeomType(geom_input)
  File "C:\Python26\lib\site-packages\django\contrib\gis\gdal\geomtype.py", line 31, in __init__
    raise OGRException('Invalid OGR String Type "%s"' % type_input)
django.contrib.gis.gdal.error.OGRException: Invalid OGR String Type "srid=2029;point(17n 630084 4833438)"

是否有任何示例可以说明这是如何完成的?

我是否应该在 UTM 中进行任何必要的计算并转换为十进制度?
在这种情况下,geodjango 中的 GEOS 或其他工具是否提供转换实用程序?

【问题讨论】:

    标签: python django geodjango gdal geos


    【解决方案1】:

    空间参考系统已经指定了 UTM 区域 (17N) -- SRID 2029,因此您无需将其包含在传递给 GEOSGeometry 构造函数的 WKT 中。

    >>> from django.contrib.gis.geos import *
    >>> pnt = GEOSGeometry('SRID=2029;POINT(630084 4833438)')
    >>> (pnt.x, pnt.y)
    (630084.0, 4833438.0)
    >>> pnt.srid
    2029
    

    那么,例如:

    >>> pnt.transform(4326)   # Transform to WGS84
    >>> (pnt.x, pnt.y)
    (-79.387137066054038, 43.644504290860461)
    >>> pnt.srid
    4326
    

    【讨论】:

    • 我要补充一点,以众所周知的文本形式给出的几何,OGC WKT 或扩展 WKT 的 PostGIS/GEOS 特定格式,几何标记后括号 () 之间给出的组件,应该只指定坐标:X Y,可选 Z 和 M 尺寸。不允许使用其他外来元素,因此 17N 是无效标记。在 EWKT 的情况下,可以使用专用说明符 SRID 给出空间参考系统。
    猜你喜欢
    • 2011-08-28
    • 1970-01-01
    • 2019-10-09
    • 1970-01-01
    • 2018-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多