介绍¶

确定性空间分析是解决农业、生态学、流行病学、社会学和许多其他领域问题的计算方法的重要组成部分。这些动物栖息地的调查周长/面积比是多少?这个镇上的哪些财产与这个新洪水模型中50年一遇的洪水等值线相交?有“A”和“B”标记的古代陶瓷器的范围是多少?范围在哪里重叠?从家到办公室的最佳途径是什么?找出基于位置的垃圾邮件区域?这些只是一些可以通过非统计空间分析解决的问题,更具体地说,是计算几何。

shapely是一个python包,用于设置平面特征的理论分析和操作(通过python的 ctypes 模块)来自著名和广泛部署的地理类库的功能。GEOS,一个 Java Topology Suite (JTS)是PostgreSQL RDBMS的PostGIS空间扩展的几何引擎。联合特遣部队和全球测地系统的设计主要受 Open Geospatial Consortium 的简单功能访问规范 [1] 并大致依附于同一套标准类和操作。因此,shapely深深植根于地理信息系统(gis)世界的惯例,但也希望对处理非常规问题的程序员同样有用。

shapely的第一个前提是,Python程序员应该能够在RDBMS之外执行PostGIS类型的几何操作。并非所有地理数据都源自或驻留在RDBMS中,或者最好使用SQL进行处理。我们可以将数据加载到一个空间RDBMS中来完成工作,但是如果没有管理(RDBMS中的“m”)数据库中的数据的授权,那么我们就使用了错误的工具来完成工作。第二个前提是特征的持久性、序列化和映射投影是重要的,但是是正交的问题。你可能不需要一百个地理信息系统格式的读者和作者,也不需要大量的州平面投影,而且形状也不会给你带来负担。第三个前提是Python熟语TrAMP GIS(或Java,在这种情况下,因为GEOS库来自JTS,Java项目)的成语。

如果您喜欢并从惯用的python中获益,那么请欣赏能够很好地完成一件事情的软件包,并同意支持空间的RDBMS通常足以作为计算几何任务的错误工具,而shapely可能适合您。

空间数据模型¶

由shapely实现的几何对象的基本类型是点、曲线和曲面。每个点都与平面中的三组(可能是无限的)点相关联。这个 interior, boundary, 和 exterior 特征集是互斥的,它们的并集与整个平面重合。 [2] .

A Point 有一个 interior 刚好一点的集合,A boundary 完全没有点的集合,以及 exterior 所有其他点的集合。一 Point 拓扑维数为0。

A Curve 有一个 interior 由沿其长度的无穷多点组成的集合(假设 Point 拖进太空),a boundary 由两个端点组成的集合,以及 exterior 所有其他点的集合。一 Curve 拓扑维数为1。

A Surface 有一个 interior 包含无限多个点的集合(假设 Curve 在空间中拖动以覆盖一个区域),a boundary 由一个或多个组成的集合 Curves, 和一个 exterior 所有其他点的集合,包括可能存在于表面的孔内的点。一 Surface 拓扑维数为2。

这可能看起来有点深奥,但有助于澄清shapely的空间谓词的含义,而且它和本手册一样深入到理论中。点集理论的结果,包括一些表现为“gotchas”的理论,将在本手册后面讨论。

点类型由 Point 类;曲线 LineString 和 LinearRing 等级;表面 Polygon 班级。shapely实现没有平滑(即“有连续切线”)曲线。所有曲线必须用线性样条曲线来近似。所有的圆面片必须近似于由线性样条线包围的区域。

点集合由 MultiPoint 类,曲线集合 MultiLineString 类和曲面集合 MultiPolygon 班级。这些集合在计算上并不重要,但对于建模某些类型的特性很有用。例如,Y形线条特征可通过 MultiLineString.

标准数据模型具有特定于特定几何对象类型的附加约束,这些约束将在本手册的以下章节中讨论。

另请参阅https://web.archive.org/web/20160719195511/http://www.vividsolutions.com/jts/discussion.htm了解此数据模型的更多说明。

关系¶

空间数据模型伴随着一组几何对象之间的自然语言关系- contains, intersects, overlaps, touches, 等——以及使用其组成点集的相互交叉的3x3矩阵理解它们的理论框架。 [2] 是DE-9IM。有关de-9im关系的全面回顾见 [4] 本手册将不再重复。

操作¶

遵循JTS技术规范 [5] ,本手册将对构造(buffer, convex hull) 并设置理论运算(intersection, union, 等等)。个人操作将在本手册的以下章节中详细描述。

坐标系¶

尽管地球不是平的,也不完全是球形的,但有许多分析问题可以通过将地球特征转换为笛卡尔平面、应用经过验证的算法,然后将结果转换回地理坐标来解决。这种做法与传统的精确纸质地图一样古老。

shapely不支持坐标系转换。对两个或多个特征的所有操作都假定这些特征存在于同一笛卡尔平面中。

python画蝴蝶结_Shapely用户手册相关推荐

  1. python画蝴蝶结_Shapely中的多边形相交错误:“Shapely.geos.TopologicalError:geos intersection操作生成了空几何体”...

    我一直在试着调试这个问题,但无法这样做.我试图找到两个Polygon对象的交集.它在大多数情况下都可以工作,但对于以下情况,它会引发以下异常:P1 area: 13.125721955 P2 area ...

  2. python画蝴蝶结_【二次元的CSS】—— 用 DIV + CSS3 画Hello Kitty(详解步骤)

    原本自己也想画Hello Kitty,正巧看到一位外国友人Lauren McConachie(她的个人网站: http://lorenai.com.)也用相同的方法画了. 且细节相当到位.在此我也分享 ...

  3. python画蝴蝶结_使用鸢尾花数据集,通过Sklearn,绘制精确率-召回率曲线—Python...

    Python深度学习的一个小例子,用sklearn自己带的鸢尾花数据集训练. 在导入库的过程中,如果导入from sklearn.model_selection import train_test_s ...

  4. python画蝴蝶结_HSK东西

    蝴蝶         húdié, butterfly/CL:隻|只[zhī] 蝴蝶结         húdiéjié, [蝴蝶結], bow/bowknot 彩蝴蝶 蝴蝶斑 蝴蝶          ...

  5. 用python画一束满天星花朵,python满天星绘制流程图

    大家好,小编来为大家解答以下问题,用python画一束满天星花朵,python满天星绘制流程图,今天让我们一起来看看吧! 1.用python画一百个同心圆的代码? import matplotlib. ...

  6. 用python画圣诞树、樱花树、卡通图案及打包成exe文件

    文章目录 用python画圣诞树.樱花树.卡通图案及打包成exe文件 效果 1.圣诞树--朴素 2.圣诞树--可爱 3.圣诞树--飘雪 4.樱花树--飘落效果 5.樱花树--暖色调 6.哆啦a梦 用p ...

  7. 怎么用python画个电脑_python语言还是java如何用python画爱心

    用python绘制爱心的基本步骤如下: 002pc.com对<python语言还是java如何用python画爱心>总结来说,为我们学习Python很实用. 首先先下载安装好python程 ...

  8. 开学季,教你用Python画大学教室座位神分区图!网友直呼“中枪”

    作者 | 丁彦军 转载自恋习Python(ID:sldata2017) 我们上过大学的朋友们都知道,大学没有固定教室也没有固定的座位,所以大家可以随便找个自己喜欢的位置坐下. 别看这些不起眼的座位,感 ...

  9. 圣诞节!教你用Python画棵圣诞树

    作者 | 糖甜甜甜,985高校经管研二,擅长用 Python.R.tableau 等工具结合统计学和机器学习模型做数据分析. 来源 | 经管人学数据分析(ID:DAT-2017) 如何用Python画 ...

最新文章

  1. 状态保持中的cookie
  2. 在批处理模式下使用mysql_3.5 在批处理模式下使用mysql
  3. rocketmq中的broker设计与实现
  4. photoshop(ps) cs6中文版
  5. 0x00000000 处有未经处理的异常: 0xC0000005: 在位置 0x0000000000000000 发生访问冲突
  6. 自动微分(Automatic Differentiation)
  7. java商城开发_javaweb实战之商城项目开发(一)
  8. python 开发板 播放音乐_MicroPython开发板:TPYBoard v102 播放音乐实例
  9. Leetcode算法题(C语言)8--加一
  10. mysql rds 定时执行_RDS下执行SQL小脚本
  11. 华为桌面云中怎么安装mysql8_安装MySQL8.0.18步骤以及可视化工具的连接问题。
  12. 逻辑门、锁存器和触发器
  13. 迷茫的剑客----网站设计师! -----静水流深
  14. 动态规划算法典型应用之背包问题
  15. elementui messagebox没有取消按钮
  16. 社区人物志|李昊鹏:日拱一卒,功不唐捐
  17. 计算机老师新年贺卡祝福语,老师新年贺卡祝福语
  18. 使用DGL进行异构图元路径采样
  19. JDK源代码以及200多部软件著作中出现的以连字符构造的1011个合成词
  20. Android 获取手机中的图片信息的两种方法

热门文章

  1. Duilib嵌入cef3,实现浏览器功能
  2. 3款别出心裁的电脑软件,个个精选,让你眼前一亮
  3. 查看连接过的WIFI密码方法汇总
  4. html设计个人网页导航
  5. 量化投资中的特征工程
  6. 手机摄像头+Matlab完成图像的自动识别
  7. Rhel7.3_Oracle12cR2的RAC搭建安装
  8. python获取json数据,快速生成excel
  9. 核心概念——节点分组 Combo
  10. 复旦大学python教学视频_B站资源推荐:复旦大学机器学习、深度学习公开课,附PDF课件下载...