草庐IT

凸多边形

全部标签

ruby-on-rails - Ruby on Rails PostGIS - 将多边形记录插入数据库

我将RoR与PostGIS结合使用来存储位置数据。我正在尝试使用圆(例如,带半径的中心点)来存储估计位置。我试过类似的东西,但它不起作用:@location=Location.new(:place_id=>place.id,:circle=>%{ST_Buffer(ST_MakePoint(#{latitude},#{longitude})::geography,#{accuracy})})我也尝试过使用RGeo,它是出厂设置,但不确定如何准确使用它。任何帮助将不胜感激。谢谢。编辑1:我取得了一些进步。factory=RGeo::Cartesian.factorycenter_poin

ruby-on-rails - 具有六边形架构和 DCI 模式的框架和数据库适配器

我尝试用Ruby设计一个基于Web的应用程序。我开发了一个简单的核心应用程序,在没有框架和数据库的情况下在六边形架构中实现DCI范例。核心六边形中有小六边形和网络,数据库,日志等适配器。每个六边形都在没有数据库和框架的情况下自行运行。在这种方法中,我如何提供与数据库模型和实体类的关系作为独立于数据库的关系。我想在将来将框架从Rails更改为Sinatra或数据库。事实上,我如何在这个核心Hexagon中实现完全隔离的rails和mongodb的数据库适配器或框架适配器。有什么想法吗? 最佳答案 ROM呢?(Ruby对象映射器)。还有

sql - Ruby Rails Postgis - 查找多边形中的所有点

我需要一些帮助来构建sql查询以在带有activerecord-postgis-adapter的rails中使用。我一直在阅读大量书籍,但现在有点卡住了,非常感谢任何帮助。我有两个模型Events和Areas:事件有一个点类型的“几何”列classEvent{:srid=>4326,:type=>"polygon",:geographic=>true}区域有一个“几何”列,类型为多边形classArea{:srid=>4326,:type=>"point",:geographic=>true}我可以在谷歌地图上创建和绘制事件和区域,并通过点击map并保存到数据库来创建区域。我希望能够执

ruby - 如何在两个六边形字符串之间进行异或运算?

我有两个十六进制字符串,我需要对它们进行异或操作。我的六弦琴喜欢,a="1A6F2D31567C80644A5BEF2D50B986B";b="EF737F481FC7CDAE7C8B40837C80644";它们之间如何进行异或运算?你能给出一些指导方针吗? 最佳答案 这适用于任何基地:>>(a.to_i(16)^b.to_i(16)).to_s(16)=>"f51c527949bb4dca36d0afae2c39e2f"但是你可以使用String#hex用于十六进制字符串。 关于ru

javascript - 可以 polygon.setPath();用于完全重新定义多边形?

GooglemapJavaScriptAPIV3。我的映射让我处理了多边形的概念,在我深入研究代码之前,我试图制定一个策略。我永远不会一次在map上有一个以上的多边形,所以我希望我可以定义一个多边形并像使用标记一样重复使用它。我的理解是否正确,多边形setPath();函数将移动多边形以表示新的点数组?文档说......“从MVCArray插入或删除LatLngs将自动更新map上的多边形。”但它并没有直接说你可以使用setPath();给它一个全新的点阵。我在用伪代码思考...//someeventfirespolygon.setPath(latlngArray);bounds=ne

javascript - 添加一个点以扩展多边形而不将其附加到 Google map 中?

我正在Googlemap中通过可以拖动以reshape形状的标记构建多边形。因此,当有3个标记时,将绘制多边形,并在形状中附加更多标记,扩展它。当用户只想遵循简单的顺时针/逆时针模式时,这很好,但当他想通过其边缘之一扩展多边形时,它会附加标记,扭曲自身。在此示例中,如果我们添加标记1、2和3,它将绘制一个简单的三Angular形。但是,如果添加标记4,多边形就会自行扭曲。相反,我希望在添加4时将其插入标记1和2之间,如下图所示:基本上,在多边形的顶点数组中,而不是:[//marker1position,//marker2position,//marker3position,//curr

javascript - 使用 Three.js 生成正多边形

我正在使用Three.js根据用户提供的边数按程序生成常规N边形。长期目标是将此作为渲染多面体棱镜的第一步。我正在使用讨论的解决方案here计算N边形的顶点。然后我将使用讨论的技术here在N边形上生成面孔。我第一次尝试生成必要的Geometry对象,结果如下,在添加到Mesh后似乎没有渲染任何东西:functioncreateGeometry(n,circumradius){vargeometry=newTHREE.Geometry(),vertices=[],faces=[],x;//Generatetheverticesofthen-gon.for(x=1;x在玩弄它太久之后,我

javascript - 在 Leaflet L.Draw 插件中以编程方式添加多边形

有没有办法使用Leaflet绘图插件以编程方式添加多边形?https://github.com/Leaflet/Leaflet.draw例如:点击一个按钮,添加一个可以被插件编辑的正方形。 最佳答案 您只需要将您的多边形(或您想要编辑的任何其他层)添加到您传递给edit.featureGroup的要素组中L.Control.Draw控件的选项。vareditableLayers=L.featureGroup().addTo(map);vardrawControl=newL.Control.Draw({edit:{featureGro

javascript - LatLng 是否在多边形内

我在带有一些latLng的谷歌地图上设置了一个典型的多边形:varbermudaTriangle=newgoogle.maps.Polygon({paths:[newgoogle.maps.LatLng(25.774252,-80.190262),newgoogle.maps.LatLng(18.466465,-66.118292),newgoogle.maps.LatLng(32.321384,-64.75737),]});bermudaTriangle.setMap(map);这些是谷歌文档中的百慕大三Angular坐标。我也有一些随机坐标,saaay:varcoord1=newn

javascript - 将 2500 个 geoJSON 多边形渲染到传单 map 上

我一直在搜索,但似乎找不到解决方案。我有一个大小为170mb的GeoJSON文件。它包含大约2500个多边形。我需要以某种方式将其呈现为传单map。显然,在那个尺寸下我没有机会。呈现此数据的最简单方法是什么?我是否能够创建一个完全透明的png,它可以简单地在世界地图上呈现。巨大的尺寸是由于多边形的复杂性和数量。在这一点上,我不需要它是交互式的。谢谢,布莱恩 最佳答案 最简单的方法是根据该数据创建您自己的map图block。有几种方法可以实现这一点,但我的建议是您使用TileMill.它是免费的,而且非常易于使用。所以,基本上你会:使