草庐IT

三边形

全部标签

python - 计算给定(x,y)坐标的多边形面积

我有一组点,想知道是否有一个函数(为了方便和可能的速度)可以计算一组点所包围的面积。例如:x=np.arange(0,1,0.001)y=np.sqrt(1-x**2)points=zip(x,y)给定points,面积应该大约等于(pi-2)/4。也许有来自scipy、matplotlib、numpy、shapely等的东西来做到这一点?我不会遇到x或y坐标的任何负值...它们将是没有任何定义函数的多边形。编辑:点很可能不会按任何指定的顺序(顺时针或逆时针)并且可能非常复杂,因为它们是一组边界下shapefile中的一组utm坐标 最佳答案

python - SciPy 创建 2D 多边形蒙版

我需要使用标准Python包创建一个代表多边形二进制掩码的numpy二维数组。输入:多边形顶点、图像尺寸输出:多边形的二进制掩码(numpy2D数组)(更大的上下文:我想使用scipy.ndimage.morphology.distance_transform_edt获取这个多边形的距离变换。)谁能教我怎么做? 最佳答案 答案很简单:importnumpyfromPILimportImage,ImageDraw#polygon=[(x1,y1),(x2,y2),...]or[x1,y1,x2,y2,...]#width=?#heig

python - 定位球形多边形的质心(质心)

我正在尝试找出如何最好地定位覆盖在单位球体上的任意形状的质心,输入被排序(顺时针或逆顺时针)顶点用于形状边界。沿边界的顶点密度是不规则的,因此它们之间的弧长通常不相等。因为形状可能非常大(半个半球),所以通常不可能简单地将顶点投影到平面并使用平面方法,如Wikipedia中所述(抱歉,我不允许超过2个超链接作为新手)。稍微好一点的方法是使用在球坐标中操作的平面几何,但同样,对于大多边形,这种方法会失败,如图所示here.在同一页面上,“Cffk”突出显示thispaper其中描述了一种计算球面三角形质心的方法。我已经尝试实现此方法,但没有成功,希望有人能发现问题?我保留了与论文中相似的

python - 检查点是否在python中的多边形内的最快方法是什么

我发现了两种主要的方法来查看一个点是否属于多边形。一种是使用使用的光线追踪方法here,这是最推荐的答案,另一个是使用matplotlibpath.contains_points(这对我来说似乎有点晦涩难懂)。我将不得不连续检查很多点。有谁知道这两个中的任何一个是否比另一个更值得推荐,或者是否有更好的第三个选项?更新:我检查了这两种方法,matplotlib看起来要快得多。fromtimeimporttimeimportnumpyasnpimportmatplotlib.pathasmpltPath#regularpolygonfortestinglenpoly=100polygon=

java - 具有双坐标的多边形

我对带有Double类型点的多边形有一些疑问...我要做的是,给定点,创建多边形,然后测试1个具体点是否在多边形内。所以我知道在Java中有一个名为Polygon的类,它的用法是这样的:(三角形)intvaloresX[]={100,150,200};intvaloresY[]={100,200,100};intn=valoresX.length;Polygoncity=newPolygon(valoresX,valoresY,n);但我的“多边形”必须是“Double”类型,而不是“int”(简单示例)DoublevaloresX[]={1000.10,150.10,200.10};

mongodb - 查询以匹配包含点的多边形

我的mongodb集合中的文档如下所示:{"_id":ObjectId("5562d6831683523f449e7d85")"geometry":{"type":"Polygon","coordinates":[[[-122.4,37.81],[-132.9,39.9],[-122.28,37.80],[-124.18,39.81]]]}}我有一个点(latlongpair),我将其称为x和y。我需要查看文档的坐标是否创建了一个多边形,使得这些坐标位于该多边形内。所以,我当然需要计算描述多边形每条边的线等,然后查看点的坐标是否在其中。但是,现在,让我们假设我们要查询具有整个数组的最大

MongoDB 如何找到包含指定点的多边形?

我在MongoDB(2.4.8)中插入了许多多边形,并希望找到指定Point所在的多边形。这似乎是一个常见问题。但是在阅读了谷歌的所有文档后,我没有得到结果。所以创建这个问题。例如db.addr_poly.insert({loc:{type:"Polygon",coordinates:[[[0,0],[3,6],[6,1],[0,0]]]}})db.addr_poly.insert({loc:{type:"Polygon",coordinates:[[[0,0],[-3,-6],[-6,-1],[0,0]]]}})现在如何找到包含Point(1,1)的多边形?有人可以帮助我吗?非常感谢

c# - MongoDB $geoIntersects 没有在多边形中找到一条完全包含的线,但找到了另一条

我有一个MongoDB数据库,其中包含一个名为fooCollection的集合。该集合中包含以边界多边形方式包含地理空间数据的文档。我在我的应用程序中使用C#MongoDB驱动程序。我注意到它没有找到具有某些空间查询的文档,尽管它适用于大多数文档。我清空了集合,除了一个有问题的文档,我试图通过直接执行查询来找到它。我的文档如下所示:{"_id":UUID("12345678-62d9-4024-86dc-123456789012"),"polygon":{"type":"Polygon","coordinates":[[[18.414846,-33.9699577],[18.41484

ruby-on-rails - 使用 gmaps4rails 显示多边形

这里是Ruby菜鸟。尝试使用gmaps4railsgem(顺便说一下很棒的gem)在谷歌地图上将点列表显示为多边形。非常感谢基于以下代码示例的任何建议!我可以看到map的轮廓,但没有map,也没有多边形。更新:此代码已更新,问题已解决。ClassSchoolpoint是属于学校的纬度/经度对列表在我的Controller中:@polyjson=[]schoolpoints=[]Schoolpoint.where(:school_id=>params[:id]).eachdo|point|schoolpointspoint.longitude,:lat=>point.latitude}e

ruby-on-rails - 使用 geo_polygon 过滤器获取轮胎/ Elasticsearch 中用户定义的多边形内的所有属性

我正在开发一个使用ElasticSearch和tire的项目。我的网页上有一个googlemap。我想在用户在map上绘制多边形时获取所有属性,这些属性必须由Elasticsearchwithtire获取。我已经获得了多边形坐标,现在我想在(tire.serachblock见下文)中编写一个查询,它将过滤多边形区域内的所有属性。我的数据库的属性表有经度和纬度列。我可以通过使用Postgis适配器来做到这一点,但我需要知道将在轮胎/Elasticsearch中执行此操作的查询语法。defself.search(params={})tire.search(load:true,page:pa