1

我有一些多边形数据保存在 PostGIS 数据库中,投影 SRID 为 27700。

geom = models.MultiPolygonField(srid=27700)

我想在 OpenStreetMap 上显示形状,即使用 SRID 900913(我认为?)。

所以,两个问题:

  1. 如何更改下面的代码以使用 OpenStreetMap 的正确 SRID 输出?
  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 很陌生。

4

1 回答 1

1

使用 GeoDjango,使用transform更改几何的投影,使用jsonwkt进行输出。它应该很简单:

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

json方法会给你 GeoJSON;wkt如果您愿意,可以使用。像 OpenLayers 这样的地图 API 也可以处理。

于 2010-07-30T21:04:42.953 回答