2013-05-13 2 views
2

Я пытаюсь запросить базу данных PostGis благодаря geoDjango, но у меня есть ошибка, когда я не нашел решения в Интернете.Показать результат GeoQuerySet

close_loc=PlanetOsmPoint.objects.get(way__distance_lte=(lePoint, D(**distance_from_point))) 

Все, что я примерить на результат (close_loc) с печатью, у меня есть эта ошибка:

django.db.utils.DatabaseError: Only lon/lat coordinate systems are supported in geography. 

Я попытался преобразовать его в правильном формате, благодаря трансформации (SRID), но ничего не было решена, по-прежнему та же проблема.

Вот некоторая информация:

трансформация:

sr1=SpatialReference('54004') 
sr2=SpatialReference('NAD83') 
ct=CoordTransform(sr1, sr2) 

Что я делаю после получения close_loc:

close_loc.transform(ct) 
print close_loc[0] 

типа close_loc является GeoQuerySet. Как я могу использовать этот результат?

ответ

1

Функция transform() ожидает целое число, а не строку. Правильный синтаксис:

close_loc.transform (new_srid_number)

В вашем случае, что-то вроде этого:

close_loc.transform (54004)

Надежда это сработает!

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