2009-08-26 7 views
1

Я изучаю систему координат UTM с geodjango. И я не могу понять, как правильно получить данные.Использование UTM с geodjango

Я просматривал документацию, и кажется, что «GEOSGeometry(geo_input, srid=None)» или «OGRGeometry» можно использовать с EWKT, но я не могу понять, как отформатировать данные.

Похоже UTM SRID является: 2029

С wikipedia article формат записывается так:

[UTMZone] [N или S] [Easting] [на север]

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 и преобразовать в десятичные градусы?
В этом случае GEOS или другие инструменты в geodjango предоставляют конвертирующие утилиты?

ответ

6

Зона UTM (17N) уже указана пространственной системой отсчета - SRID 2029, поэтому вам не нужно включать ее в WKT, который вы передаете в конструктор GEOSGeometry.

>>> 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 
+1

Я хотел бы добавить, что геометрия, данную в виде общеизвестного-Text, либо OGC WKT или PostGIS/GEOS специфичного формата Расширенной WKT, компоненты заданной между скобки() после тега геометрии должны указывать только координаты: XY, необязательные размеры Z и M. Никакие другие экзотические элементы не допускаются, поэтому 17N является недопустимым токеном. В случае EWKT пространственная система отсчета может быть задана с использованием специализированного идентификатора SRID. – mloskot

Смежные вопросы