我试图在半打多边形里找到数百万个点。我的代码是:def find_shape(longitude,latitude):

if longitude != 0 and latitude != 0:

point = shapely.geometry.Point(longitude,latitude)

else:

return "Unknown"

for current_shape in all_shapes:

if current_shape['bounding_box'].contains(point):

if current_shape['shape'].contains(point):

return current_shape['properties']['ShapeName']

break

return "Unknown"

我已经阅读了其他有关使用shapely提高多边形点查询性能的问题。他们建议用树。但是,对于有许多多边形(36,000 in one question,100,000 in another)的情况,这似乎很有用,而且不希望在所有多边形上循环。在

我已经设置了一个边界框,如你所见。以下是我的形状设置代码:

^{pr2}$

检查形状的另一个非常简化的版本,即由最大的内接矩形(或三角形)构成的形状,是否有用?在

检查shapely文档,似乎没有这个功能。也许是^{}的设置?当然,我总是希望确保新的简化形状不会超出原始形状的边界,因此我不必对实际形状调用contains()。我也认为我想使新的简化形状尽可能简单,为了速度。在

任何其他的建议也很感谢。谢谢!在

编辑:在等待回复时,我想到了一个想法,即创建一个符合我要求的简化形状:current_shape['simple_shape'] = current_shape['shape'].simplify(.5)

current_shape['simple_shape'] = current_shape['simple_shape'].intersection(current_shape['shape'])

以下是我在测试每个点时如何使用它:if current_shape['simple_shape'].contains(point):

return current_shape['properties']['ShapeName']

elif current_shape['shape'].contains(point):

return current_shape['properties']['ShapeName']

这并不是完美的,因为在完成必要的intersection()之后,形状并不像原来那么简单。然而,这种方法使处理时间减少了60%。在我的测试中,85%的点查询都使用简单多边形。在

python画圆及其内接多边形_用Shapely求多边形的最大内接矩形相关推荐

  1. python画圆及其内接多边形_Python turtle 绘图画圆(2)

    turtle.circle(radius, extent=None, steps=None) 描述: 以给定半径画圆 参数: radius(半径); 半径为正(负),表示圆心在画笔的左边(右边)画圆 ...

  2. python画圆及其内接多边形_python画出三角形外接圆和内切圆的方法

    刚看了<最强大脑>中英对决,其中难度最大的项目需要选手先脑补泰森多边形,再找出完全相同的两个泰森多边形.在惊呆且感叹自身头脑愚笨的同时,不免手痒想要借助电脑弄个图出来看看,闲来无事吹吹牛也 ...

  3. python画圆填色_如何用python在图像上绘制不同笔触和填充颜色的文本?

    How can I draw text with different stroke and fill colors on images with python? Here is some text w ...

  4. python画圆花_简单实现python画圆功能

    本文实例为大家分享了python实现画圆功能的具体代码,供大家参考,具体内容如下 import numpy as np import matplotlib.pyplot as plt from mat ...

  5. 用python的turtle画圆-怎么用python画圆

    python中内置了许多第三方库,来帮助它完成各种功能. Turtle库就是Python语言中一个很流行的绘制图像的函数库(推荐学习:Python视频教程) Turtl库用于绘制线.圆.其他形状或者文 ...

  6. python中circle函数的用法,python画圆运用了什么函数

    python画圆运用了matplotlb库的figure()和Circle()函数:其中,figure()函数用于确定画布大小,而Circle()函数用于配置圆的相关信息,进而画圆. 本教程操作环 ...

  7. python中turtle画圆填充颜色_用Python中的画图工具turtle绘制八卦图

    首先看看八卦图的构造原理,它是由4个半圆和2个小圆组成的,所以只需要画半圆和圆,再进行填充就可以构造成一个简单的八卦图了. 1. 导入画笔工具tultle并创建我的画笔: import turtlem ...

  8. python画余弦曲线_使用python画圆以及正弦余弦曲线

    共画出四个图,程序如下所示 import matplotlib.pyplot as plt import numpy as np p1 = plt.figure(figsize=(8,8),dpi=8 ...

  9. python画圆简单代码-Python 用turtle实现用正方形画圆的例子

    最近发现一个很有意思的画图的python库,叫做turtle,这里先说下用turtle这个库来实现用正方形画圆的思路. 每次都用乌龟(turtle) 来画出一个正方形,然后通过旋转3°后,继续画一样的 ...

  10. 用python计算圆的面积_用Python计算大圆距

    用python计算圆的面积 The shortest distance between two locations on the surface of Earth (or any planet) is ...

最新文章

  1. sql server 补齐0学习总结
  2. Codeforces 1012A Photo of The Sky
  3. OpenCASCADE绘制测试线束:布尔运算命令之处理多个参数的通用命令
  4. js备忘录模式——实现分页点击已经请求过上一页的数据(读js设计模式)
  5. solidworks属性管理器_老式经典|如何提高SOLIDWORKS的运行速度
  6. sencha Touch 2.4 学习之 XTemplate模板
  7. 选择文件对话框、保存文件对话框、选择文件夹对话框
  8. 【转】分辨率。各种vga和各种dpi
  9. python 断言方法_Python3断言
  10. 【LOJ6038】【雅礼集训 2017 Day5】远行(LCT,树的直径)
  11. 使用node.js构建一个web服务器(适合自学)
  12. 计算机第十三套试题,2012年计算机二级VB第十三套上机试题及解析
  13. GoDaddy3月份域名注册量达到3千多万 色情功不可没
  14. CC防御过程中,WAF的主要特点有哪些?
  15. 第六章 利用数组处理批量数据
  16. react手机号码344格式分割
  17. 软件无线电技术简介及特点应用
  18. python中tkinter鼠标事件_按下鼠标按钮(按住)的Tkinter事件?
  19. Work20230513
  20. AccessibilityService-微信自动抢红包

热门文章

  1. 手机android怎么结束后台,如何关闭手机后台运行程序
  2. 联想硬盘保护系统 计算机名 后缀,联想硬盘保护7.07.6安装及计算机名相同的解决方法...
  3. linux设置进程开机启动,Linux应用程序开机自动启动设置方法
  4. PostgreSQL中文手册
  5. MAD、AMV、MMD 的区别
  6. 如何用photoshop做24色环_PS色相环制作方法和教程
  7. 高级控件及自动提示文本框与下拉列表
  8. sopcast安装指南
  9. R中输出常见位图和矢量图格式总结
  10. J2SDK的安装历程