@AlexWinner

GeoDjango — LineStringField — как использовать и где документация?

Добрый день!
Использую Django 1.6 + GeoDjango + PostgreSQL+PostGIS.
Хочу сохранять маршруты (ну, упорядоченные наборы точек) в LineStringField.
Однако вообще нигде не могу найти примеров, как это делать.
Обычный PointField заполняю так:
location='POINT(%s %s)' % (lng, lat)
А как делать подобное для LineString?
И как в обратную сторону получать координаты?
Для PointField делаю:
lng = location.x
lat = location.y
  • Вопрос задан
  • 2882 просмотра
Решения вопроса 1
@AlexWinner Автор вопроса
Разобрался сам, у geo-полей есть свойство coords, которое и можно дёргать.
В консоли Питона выглядит так (где event - это объект, а route - cв-во типа LineStringField:
>>> event.route.coords
((15.732421875, 8.5775756835938), (10.986328125, 3.3041381835938), (3.779296875, 10.862731933594), (-1.58203125, 7.8744506835938), (-4.74609375, 14.114685058594))
>>> event.route.x
[15.732421875, 10.986328125, 3.779296875, -1.58203125, -4.74609375]
>>> event.route.y
[8.5775756835938, 3.3041381835938, 10.862731933594, 7.8744506835938, 14.114685058594]
>>> event.route.json
'{ "type": "LineString", "coordinates": [ [ 15.732421875, 8.5775756835938 ], [ 10.986328125, 3.3041381835938 ], [ 3.779296875, 10.862731933594 ], [ -1.58203125, 7.8744506835938 ], [ -4.74609375, 14.114685058594 ] ] }'
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы