跳转到主要内容

维度的扩展9-交点矩阵实用工具

项目描述

作为我继续学习Shapely、GEOS、JTS和OGC简单特性规范的理论和方法的一部分,我编写了一个小型实用工具包,用于处理DE-9IM矩阵和模式: http://bitbucket.org/sgillies/de9im/. Shapely提供了标准的(这些可能是我最喜欢的OGC标准)谓词作为几何类方法

>>> from shapely.wkt import loads
>>> p = loads('POLYGON ((1.0 0.0, 0.0 -1.0, -1.0 0.0, 0.0 1.0, 1.0 0.0))')
>>> q = loads('POLYGON ((3.0 0.0, 2.0 -1.0, 1.0 0.0, 2.0 1.0, 3.0 0.0))')
>>> p.disjoint(q)
False
>>> p.intersects(q)
True
>>> p.touches(q)
True

但如果你只想测试是否只有一个点接触了特征,你可能会说这是一个“侧面拥抱”。你不必计算交集并检查其几何类型,可以使用de9im包来定义一个DE-9IM矩阵模式,并将其与两个特征的关联矩阵进行测试。以下模式中的 0 要求特征的边界交集是一个0维图形。换句话说:一个点

>>> from de9im import pattern
>>> side_hug = pattern('FF*F0****')
>>> im = p.relate(q)
>>> print im
FF2F01212
>>> side_hug.matches(im)
True

也可以使用熟悉的模式

>>> from de9im.patterns import touches
>>> repr(touches)
"DE-9IM or-pattern: 'FT*******||F**T*****||F***T****'"
>>> touches.matches(im)
True

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码发行版

de9im-0.1.tar.gz (3.3 kB 查看散列值)

上传时间: 源代码

支持者

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误日志StatusPageStatusPage状态页面