Geodjango: импорт данных из OSGB_1936, отображение в WGS84? - PullRequest
1 голос
/ 26 июля 2010

У меня есть данные о многоугольниках, сохраненные в базе данных PostGIS с проекцией SRID 27700.

geom = models.MultiPolygonField(srid=27700)

Я хочу отобразить фигуры в OpenStreetMap, то есть с SRID 900913 (я думаю?).

Итак, два вопроса:

  1. Как мне изменить код ниже на вывод с правильным SRID для OpenStreetMap?
  2. Как я могу изменить Код Django ниже, чтобы дать мне хороший JSON объект, готовый для отображения в виде многоугольник
area = get_object_or_404(soa.objects, code=my_code)
polygon = area.geom
return render_to_response('area.html', { 'area': area }, context_instance = RequestContext(request))

Извиняюсь, если этот вопрос не имеет смысла - я довольно новичок в GeoDjango.

1 Ответ

1 голос
/ 31 июля 2010

В GeoDjango используйте transform для изменения проекции геометрии и json или wkt для вывода.Это должно быть так просто:

polygon.transform(900913)
return render_to_response('area.html', {'area': area, 'polygon': polygon.json})

json метод даст вам GeoJSON;Вы можете использовать wkt, если хотите.API карты, такой как OpenLayers, будет обрабатывать либо.

...