python画圆及其内接多边形_用Shapely求多边形的最大内接矩形
我试图在半打多边形里找到数百万个点。我的代码是: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求多边形的最大内接矩形相关推荐
- python画圆及其内接多边形_Python turtle 绘图画圆(2)
turtle.circle(radius, extent=None, steps=None) 描述: 以给定半径画圆 参数: radius(半径); 半径为正(负),表示圆心在画笔的左边(右边)画圆 ...
- python画圆及其内接多边形_python画出三角形外接圆和内切圆的方法
刚看了<最强大脑>中英对决,其中难度最大的项目需要选手先脑补泰森多边形,再找出完全相同的两个泰森多边形.在惊呆且感叹自身头脑愚笨的同时,不免手痒想要借助电脑弄个图出来看看,闲来无事吹吹牛也 ...
- python画圆填色_如何用python在图像上绘制不同笔触和填充颜色的文本?
How can I draw text with different stroke and fill colors on images with python? Here is some text w ...
- python画圆花_简单实现python画圆功能
本文实例为大家分享了python实现画圆功能的具体代码,供大家参考,具体内容如下 import numpy as np import matplotlib.pyplot as plt from mat ...
- 用python的turtle画圆-怎么用python画圆
python中内置了许多第三方库,来帮助它完成各种功能. Turtle库就是Python语言中一个很流行的绘制图像的函数库(推荐学习:Python视频教程) Turtl库用于绘制线.圆.其他形状或者文 ...
- python中circle函数的用法,python画圆运用了什么函数
python画圆运用了matplotlb库的figure()和Circle()函数:其中,figure()函数用于确定画布大小,而Circle()函数用于配置圆的相关信息,进而画圆. 本教程操作环 ...
- python中turtle画圆填充颜色_用Python中的画图工具turtle绘制八卦图
首先看看八卦图的构造原理,它是由4个半圆和2个小圆组成的,所以只需要画半圆和圆,再进行填充就可以构造成一个简单的八卦图了. 1. 导入画笔工具tultle并创建我的画笔: import turtlem ...
- python画余弦曲线_使用python画圆以及正弦余弦曲线
共画出四个图,程序如下所示 import matplotlib.pyplot as plt import numpy as np p1 = plt.figure(figsize=(8,8),dpi=8 ...
- python画圆简单代码-Python 用turtle实现用正方形画圆的例子
最近发现一个很有意思的画图的python库,叫做turtle,这里先说下用turtle这个库来实现用正方形画圆的思路. 每次都用乌龟(turtle) 来画出一个正方形,然后通过旋转3°后,继续画一样的 ...
- 用python计算圆的面积_用Python计算大圆距
用python计算圆的面积 The shortest distance between two locations on the surface of Earth (or any planet) is ...
最新文章
- sql server 补齐0学习总结
- Codeforces 1012A Photo of The Sky
- OpenCASCADE绘制测试线束:布尔运算命令之处理多个参数的通用命令
- js备忘录模式——实现分页点击已经请求过上一页的数据(读js设计模式)
- solidworks属性管理器_老式经典|如何提高SOLIDWORKS的运行速度
- sencha Touch 2.4 学习之 XTemplate模板
- 选择文件对话框、保存文件对话框、选择文件夹对话框
- 【转】分辨率。各种vga和各种dpi
- python 断言方法_Python3断言
- 【LOJ6038】【雅礼集训 2017 Day5】远行(LCT,树的直径)
- 使用node.js构建一个web服务器(适合自学)
- 计算机第十三套试题,2012年计算机二级VB第十三套上机试题及解析
- GoDaddy3月份域名注册量达到3千多万 色情功不可没
- CC防御过程中,WAF的主要特点有哪些?
- 第六章 利用数组处理批量数据
- react手机号码344格式分割
- 软件无线电技术简介及特点应用
- python中tkinter鼠标事件_按下鼠标按钮(按住)的Tkinter事件?
- Work20230513
- AccessibilityService-微信自动抢红包