首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从具有点列的Geodjango queryset找到最外层的cordinates

从具有点列的Geodjango queryset找到最外层的cordinates
EN

Stack Overflow用户
提问于 2016-05-27 14:44:47
回答 1查看 150关注 0票数 1

我对地理数据和地理数据本身非常陌生。假设我有模特:

代码语言:javascript
运行
复制
class Employee(models.Model):
    name = models.CharField(max_length=30)
    location = PointField()

我想用leafletjs来显示地图,就像这样,http://leafletjs.com/examples/quick-start-example.html的位置上有员工的名字和标记。

现在说,德国各地都有雇员,但他们中的一些人远程工作,并被安置在一些尚未确定的地点。如果它们只位于德国,我就可以显示整个德国的地图,并根据坐标添加标记。问题是,如果有一名雇员在俄罗斯工作,我需要为所有其他国家/雇员展示俄罗斯等。

回到代码示例:

如果我的Employee模型queryset返回在德国和俄罗斯两个国家的三名员工,我想用标记来显示德国到俄罗斯的地图,而不是全世界的地图。如何从queryset计算这个最外面的坐标?或者,解决上述问题的其他方法可以是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-27 15:51:05

传单应该能够根据你希望在地图上显示的点来计算地图的包围框。这也可以很容易地做到geodjango大范围是你要找的东西。

代码语言:javascript
运行
复制
 bounds = Employee.objects.filter(some filter).extent()

这在新版本中是不可取的,而是使用:

代码语言:javascript
运行
复制
from django.contrib.gis.db.models import Extent
bounds = Employee.objects.filter(some filter).aggregate(Extent('point'))['point__extent']

在LefletJS中:

代码语言:javascript
运行
复制
var mymap = L.map('mapid').fitBounds(51.505, 51.507], [51.56, 50.98]], {padding: [10, 10]});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37486393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档