如何从Django PolygonField中提取点列表?

时间:2017-10-26 19:27:02

标签: python django geodjango

在我的一个包含PolygonField的模型中,我有一个to_dict方法,该方法获取所有值并将它们转换为可读字典。

对于具有PointField的模型我做了类似的事情,它看起来像这样:

'point': {
   'type': 'Point',
   'coordinates': [self.point.x, self.point.y]
 },

对于PolygonField,我必须遍历这些点以将它们放入字典中。我尝试了这个,但正如预期的那样,django抱怨道:

'polygon': {
   'type': 'Polygon',
   'coordinates': [
     for point in self.path:
       [point.x, point.y]
   ]
 },

如何将PolygonField中的所有点添加到字典中?

1 个答案:

答案 0 :(得分:1)

想出来了!

'polygon': {
   'type': 'Polygon',
   'coordinates': [[point.x, point.y] for point in self.polygon]
},