如何在geodjango中获取重叠的对象?

傻瓜

我正在使用geodjango.
我有一个这样的模型:

class WorldBorder(models.Model):
    name = models.CharField(max_length=50)
    mpoly = models.MultiPolygonField()

我的数据库中可以有 2 个或更多具有重叠边框的对象。

如何确定某些对象是否具有重叠边框?
如何获得具有重叠边界的对象的查询集?

谢谢

约翰·穆塔菲斯

您有 2 个选择,具体取决于您要实现的目标:


选项 1: 您可以使用 __overlaps 查找:

使用示例:

an_mpoly = WorldBorder.objects.get(name='a_name').mpoly
overlapping_mpolys = WorldBorder.objects.filter(mpoly__overlaps=an_mpoly)

现在overlapping_mpolys是一个QuerySet,包含每一个WorldBorder对象是谁的mpoly重叠与mpoly一个的WorldBorder与对象name='a_name'


选项 2: 如果您需要 object to object 重叠检查,您可以使用 GEOS APIoverlaps 方法:

使用示例:

mpoly_1 = WorldBorder.objects.get(name='name_1').mpoly
mpoly_2 = WorldBorder.objects.get(name='name_2').mpoly

if mpoly_1.overlaps(mpoly_2):
    print("{} and {} are overlapping".format(mpoly_1, mpoly_2))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在MATLAB中检测几乎重叠的圆形对象?

来自分类Dev

如何将GDAL对象存储在geodjango Geometry对象中?

来自分类Dev

如何在lodash中获取普通对象?

来自分类Dev

如何在FlowDocument中获取元素/对象?

来自分类Dev

如何在TList中获取TList的对象?

来自分类Dev

如何在查询中获取查询对象?

来自分类Dev

如何在Typescript中获取对象的值

来自分类Dev

如何在Java中获取图形对象?

来自分类Dev

如何在JS对象中获取价值?

来自分类Dev

如何在php中获取扩展对象?

来自分类Dev

如何在Orchard中获取CurrentSite对象?

来自分类Dev

如何在Realm中获取父对象

来自分类Dev

如何在Java对象中获取值?

来自分类Dev

如何在CreateView中获取创建的对象

来自分类Dev

如何在 PHP 中获取对象的值

来自分类Dev

如何在 vscode 扩展中获取对象?

来自分类Dev

如何在C#中获取对象的子对象?

来自分类Dev

如何在DataExtension对象中获取has_many对象?

来自分类Dev

如何在Java中获取对象的父对象引用?

来自分类Dev

如何在对象中获取数组对象

来自分类Dev

如何在PHP中获取数组对象的对象

来自分类Dev

如何在对象javascript中获取对象的名称

来自分类Dev

如何在映射函数中获取对象的键名对象

来自分类Dev

如何在 JavaScript 中获取对象的对象名称

来自分类Dev

如何在ruby中基于对象属性查找两个数组的重叠

来自分类Dev

如何在以下查询中跳过重叠间隔以获取准确的每日跟踪时间

来自分类Dev

如何在列表中查找重叠的元组并返回重叠的元组

来自分类Dev

如何在JS中获取数组中的每个备用对象

来自分类Dev

如何在React Native中的对象中获取特定值?

Related 相关文章

热门标签

归档