获取两个多边形相交区域的坐标(Python)

2023-11-23

假设我有两个多边形,它们的名称和坐标是(在 Python 中):

p:[(1,1),(2,2),(4,2),(3,1)]
q:[(1.5,2),(3,5),(5,4),(3.5,1)]

在我们人脑中,很容易知道这两个多边形相交并计算相交区域坐标,但我想让我们的机器知道如何计算相交区域坐标。基本上,我想知道是否有一个简单明了的算法可以完成这项工作,如果已经有一个Python库可以做到这一点,那就完美了。


from shapely.geometry import Polygon

p = Polygon([(1,1),(2,2),(4,2),(3,1)])
q = Polygon([(1.5,2),(3,5),(5,4),(3.5,1)])
print(p.intersects(q))  # True
print(p.intersection(q).area)  # 1.0
x = p.intersection(q)
print(x) #POLYGON ((1.833333333333333 1.833333333333333, 2 2, 4 2, 3.166666666666667 1.166666666666667, 1.833333333333333 1.833333333333333))

形状优美的用户手册:https://shapely.readthedocs.io/en/stable/manual.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取两个多边形相交区域的坐标(Python) 的相关文章

  • 如何替换 Pandas Dataframe 中不在列表中的所有值? [复制]

    这个问题在这里已经有答案了 我有一个值列表 如何替换 Dataframe 列中不在给定值列表中的所有值 例如 gt gt gt df pd DataFrame D ND D garbage columns S gt gt gt df S 0
  • 在 Python 中解析 TCL 列表

    我需要在双括号上拆分以空格分隔的 TCL 列表 例如 OUTPUT 172 25 50 10 01 01 Ethernet 172 25 50 10 01 02 Ethernet Traffic Item 1 172 25 50 10 01
  • 如何传递架构以从现有数据帧创建新数据帧?

    要将 schema 传递到 json 文件 我们这样做 from pyspark sql types import StructField StringType StructType IntegerType data schema Stru
  • Gunicorn 工作人员无论如何都会超时

    我正在尝试通过gunicorn运行一个简单的烧瓶应用程序 但是无论我做什么 我的工作人员都会超时 无论是否有针对应用程序的活动 工作人员在我设置任何内容后总是会超时timeout值到 是什么导致它们超时 当我发出请求时 请求成功通过 但工作
  • NLTK 2.0分类器批量分类器方法

    当我运行此代码时 它会抛出一个错误 我认为这是由于 NLTK 3 0 中不存在batch classify 方法 我很好奇如何解决旧版本中的某些内容在新版本中消失的此类问题 def accuracy classifier gold resu
  • 使用主题交换运行多个 Celery 任务

    我正在用 Celery 替换一些自制代码 但很难复制当前的行为 我期望的行为如下 创建新用户时 应向tasks与交换user created路由键 该消息应该触发两个 Celery 任务 即send user activate email
  • Python 3d 绘图设置固定色阶

    我正在尝试绘制两个 3d 数组 第一个数组的 z 值在范围内 0 15 0 15 第二个来自 0 001 0 001 当我绘图时 色标自动遵循数据范围 如何设置自定义比例 我不想看到 0 001 的浅色 而应该看到 0 15 的浅色 如何修
  • Python 内置的 super() 是否违反了 DRY?

    显然这是有原因的 但我没有足够的经验来认识到这一点 这是Python中给出的例子docs http docs python org 2 library functions html super class C B def method se
  • 如何使用 Selenium 和 ChromeDriver 解决 TypeError: 'module' object is not callable 错误 [重复]

    这个问题在这里已经有答案了 代码试验 from selenium import webdriver from selenium webdriver chrome options import Options as Chromeoptions
  • 为什么一旦我离开内置的运行服务器,Django 就无法找到我的管理媒体文件?

    当我使用内置的简单服务器时 一切正常 管理界面很漂亮 python manage py runserver 但是 当我尝试使用 wsgi 服务器为我的应用程序提供服务时django core handlers wsgi WSGIHandle
  • 嵌套作用域和 Lambda

    def funct x 4 action lambda n x n return action x funct print x 2 prints 16 我不太明白为什么2会自动分配给n n是返回的匿名函数的参数funct 完全等价的定义fu
  • 当字段是数字时怎么说...在 mongodb 中匹配?

    所以我的结果中有一个名为 城市 的字段 结果已损坏 有时它是一个实际名称 有时它是一个数字 以下代码显示所有记录 db zips aggregate project city substr city 0 1 sort city 1 我需要修
  • Python GTK+ 画布

    我目前正在通过 PyGobject 学习 GTK 需要画布之类的东西 我已经搜索了文档 发现两个小部件似乎可以完成这项工作 GtkDrawingArea 和 GtkLayout 我需要一些基本函数 如 fillrect 或 drawline
  • 如何使用 Python 3 检查目录是否包含文件

    我到处寻找这个答案但找不到 我正在尝试编写一个脚本来搜索特定的子文件夹 然后检查它是否包含任何文件 如果包含 则写出该文件夹的路径 我已经弄清楚了子文件夹搜索部分 但检查文件却难倒了我 我发现了有关如何检查文件夹是否为空的多个建议 并且我尝
  • 找到一个数字所属的一组范围

    我有一个 200k 行的数字范围列表 例如开始位置 停止位置 该列表包括除了非重叠的重叠之外的所有类型的重叠 列表看起来像这样 3 5 10 30 15 25 5 15 25 35 我需要找到给定数字所属的范围 并对 100k 个数字重复该
  • 带有 LSTM 的 GridSearchCV/RandomizedSearchCV

    我一直在尝试通过 RandomizedSearchCV 调整 LSTM 的超参数 我的代码如下 X train X train reshape X train shape 0 1 X train shape 1 X test X test
  • 等待子进程使用 os.system

    我用了很多os system在 for 循环内调用创建后台进程 如何等待所有后台进程结束 os wait告诉我没有子进程 ps 我使用的是Solaris 这是我的代码 usr bin python import subprocess imp
  • 如何使用 PrimaryKeyRelatedField 更新多对多关系上的类别

    Django Rest 框架有一个主键相关字段 http www django rest framework org api guide relations primarykeyrelatedfield其中列出了我的 IDmany to m
  • 如何在 Flask 中的视图函数/会话之间传递复杂对象

    我正在编写一个 Web 应用程序 当 且仅当 用户登录时 该应用程序从第三方服务器接收大量数据 这些数据被解析为自定义对象并存储在list 现在 用户在应用程序中使用这些数据 调用不同的视图 例如发送不同的请求 我不确定什么是最好的模式在视
  • python 对浮点数进行不正确的舍入

    gt gt gt a 0 3135 gt gt gt print 3f a 0 314 gt gt gt a 0 3125 gt gt gt print 3f a 0 312 gt gt gt 我期待 0 313 而不是 0 312 有没有

随机推荐

  • jquery mouseover和mouseout一直闪烁

    我在使用 jQuery MouseOut 和 MouseOver 时遇到一些问题 每次我将鼠标悬停在选定的 div 上时 就会出现需要显示的子 div 但是 它开始闪烁 我不知道为什么 我已将代码发布在 JsFiddle 上 http js
  • C++ 中的静态 const double

    这是使用 static const 变量的正确方法吗 在我的顶级课程中 形状 ifndef SHAPE H define SHAPE H class Shape public static const double pi private d
  • StackNavigator 通过 Component 给出未定义的错误

    我试图使用 StackNavigator 进行导航 当我使用它从一个屏幕转到另一个屏幕时它会起作用 如所解释的那样here 但是 当我尝试让子组件自行导航时 导航似乎不起作用 并且我找不到任何解决方案 正如下面的代码所示 我尝试使用测试组件
  • 从两个不同位置安装 ClickOnce 应用程序

    我有一个在 NET Framework 3 5 Service pack 1 中使用 C 开发的 Windows 窗体应用程序 该应用程序可以基于开发数据库以及生产数据库进行发布 我正在使用 MSBuild 社区任务来发布我的应用程序 将应
  • .NET Winforms 应用程序是否有自动升级的标准方法?

    如果您有一个安装在大量机器上的Winforms应用程序 是否有实现自动升级功能的标准方法 例如每次启动时 它都会检查网站或网络服务 如果有可用的新版本 它就会下载并安装它 我可以弄清楚如何推出我自己的版本 但我想知道是否已经有任何框架可以帮
  • Android - 如何从微调器中获取所选项目值并将其放入字符串中?

    我在这个帖子上读到了很多类似的问题 但没有一个对我有帮助 这是我的代码 Override protected void onCreate Bundle savedInstanceState super onCreate savedInsta
  • 使用 R 中的 dplyr 查找一列字符串位于另一列中的行

    希望拉回其中一列中的值作为字符串存在于另一列 同一行内 中的行 我有一个 df A lt c cat dog boy B lt c cat in the cradle meet the parents boy mmets world df
  • 如何投影字段是否存在

    如果我有类似结构的文档如下 我正在用计算结果更新它们 我想知道结果是否已经插入到文档中 假设我对每个文档运行计算 c 和计算 d 现在我想显示所有文档的表格并显示计算 d 是否已经执行 对于这个表 我不关心计算 c id 1 a 1 res
  • 强制 JSON.NET 在序列化 DateTime 时包含毫秒(即使 ms 分量为零)

    我使用 JSON NET 直接从对象实例序列化 DateTime 值 不使用带有格式化程序的 DateTime ToString 有没有办法强制 JSON NET 在序列化中包含毫秒 即使 DateTime 的毫秒部分为零 背景 我的这个
  • 用常量列向量替换矩阵中的特定列

    对于神经网络 我想表示一个列向量y 1 2 3 在这样的矩阵中 y 1 0 0 0 1 0 0 0 1 我的矢量y非常大 因此不能选择硬编码 另外 我想避免使用for loops 到目前为止我做了什么 y1 y zeros 1 length
  • 如果您递增一个等于 STL 容器的结束迭代器的迭代器,会发生什么

    如果当迭代器指向向量的最后一个元素时将其增加 2 会怎样 在这个问题询问如何通过 2 个元素将迭代器调整为 STL 容器 提供了两种不同的方法 使用算术运算符 2 或 两次 或使用 std advance 我已经使用 VC 7 对它们进行了
  • Android 应用程序锁定相机

    是否可以获取当前在 Android 设备上锁定相机的应用程序 进程的 Android 应用程序 进程 ID 或包名称或其他 使用以下命令很容易查看它是否已锁定Camera open 但我想找出有它的过程 Thanks CameraServi
  • 如何解决 sqlite 和 c# 中的“'”问题?

    我正在使用 Sqlite 使用 Microsoft Visual C 2008 Express 我知道我的文本中的撇号 在查询中存在问题 我的问题是我认为我可以用 替换它 它似乎不起作用 这是我的代码的简化示例 string myStrin
  • 如何安全地访问 Django 模型中的请求对象

    我正在尝试做的事情 我正在尝试访问我的 django 模型中的请求对象 以便我可以使用以下命令获取当前登录的用户request user 我尝试过的 我发现了一个黑客this地点 但评论中有人指出在生产时不要这样做 我还尝试覆盖模型的 in
  • 计算预测值时发出警告

    使用数据框 x Date Val 1 1 2012 7 2 1 2012 9 3 1 2012 20 4 1 2012 24 5 1 2012 50 a lt seq as Date tail x 1 Date by month lengt
  • 序列化 Jackson JSON 树模型时排除 NullNode

    我有一个 pojo 类型 在序列化时需要将特定数值设置为特殊字符串 这些值将始终为空 可能非常深入层次结构 为了实现这一点 我首先将 pojo 转换为带有完整 null 的 JsonNode 以保留属性顺序 然后我沿着结构中的路径设置一些字
  • 验证动态添加的控件

    如何将动态添加的控件添加到验证中 div class editor field Html EditorFor model gt model Middlename div div div
  • 从 Chrome 控制台使用 Tampermonkey API?

    有什么办法使用篡改猴的 API在 Chrome 的 JavaScript 控制台中 我想搞乱像这样的功能GM xmlhttpRequest and GM listValues 创建以下脚本 UserScript name Exports s
  • Polymer:手动提交表单

    在聚合物中 我正在尝试手动提交表单 我的表格如下所示
  • 获取两个多边形相交区域的坐标(Python)

    假设我有两个多边形 它们的名称和坐标是 在 Python 中 p 1 1 2 2 4 2 3 1 q 1 5 2 3 5 5 4 3 5 1 在我们人脑中 很容易知道这两个多边形相交并计算相交区域坐标 但我想让我们的机器知道如何计算相交区域