
空间数据处理
文章平均质量分 92
空间数据处理
k_wzzc
wzzc
展开
-
scala 实现凸包算法
什么是凸包(Convex Hull) 请看维基百科 https://zh.wikipedia.org/wiki/凸包 简单的想,在二维平面,就是所有的点组成的最外层的凸多边形 算法思路 本文锁使用的方法是:包裹法(Jarvis步进法) 从上面的两个图可以看到: 以凸包上相邻的两点连成的直线,所有的点都在该直线的同一侧 非凸包上的点连成的直线,所有的点分布在直线的两侧 算法实现 /**...原创 2018-09-26 23:00:40 · 323 阅读 · 0 评论 -
scala实现 二维点集排序
算法思想 1.首先计算出凸多边形的重心点 2.构建原点到重心点的向量,作为参照向量 3.分别计算重心点和各个定点组成的向量与参照向量之间的夹角 4.根据夹角大小进行排序 def tdimSort(plist: List[Point]) = { //求多边形的重心 val orthocenter = Point(plist.map(_.x).sum / plist.size, pl...原创 2018-10-15 23:17:41 · 710 阅读 · 0 评论 -
scala 实现:判断点是否在多边形内的算法
判断点是否在多边形内的算法 在这里呢主要用到的是射线法,具体的介绍请看这篇介绍,讲得非常详细 http://www.html-js.com/article/1517 首先我们可以自己简单定义一个Point类 case class Point(var x:Double ,var y:Double) { def getPoint = Point.apply(x,y) } 下面是实现过程 ...原创 2018-10-16 11:51:42 · 921 阅读 · 0 评论 -
ESRI包 做空间数据处理
ESRI包做空间数据处理 1.WKT WKT(well-known text)是一种文本标记语言,用于表示矢量数据中的几何对象,在数据传输与数据库存储时,常用到它的二进制形式,即WKB(well-known binary)。WKT与WKB在GIS中的重要作用在于,它们能利用文本简洁明了的表达矢量空间要素的几何信息,使得几何信息能以字段的形式存储于数据库中。 WKT 示例 "MULTIPOLYGON...原创 2019-01-07 22:45:41 · 554 阅读 · 0 评论 -
Scala实现DP(道格拉斯-普克)算法
Scala实现DP(道格拉斯-普克)算法 DP算法介绍 算法实现 scala实现 // 创建一个Point类 case class Point(x: Double, y: Double) // 方法实现 def dp(pts: Seq[Point], tolerance: Double): Seq[Point] = { if (pts.size < 3) return p...原创 2019-10-07 20:08:39 · 275 阅读 · 0 评论 -
已知一点经纬度及与另一点距离和航向,求另一点经纬度
已知一点经纬度及与另一点距离和航向,求另一点经纬度 /** * 已知一点经纬度及与另一点距离和航向,求另一点经纬度 * * @param lon 已知一点的经度 * @param lat 已知一点的纬度 * @param brng 已知一点与另一点的方向 (角度) * @param dist 已知一点与另一点的距离 :...原创 2019-11-14 22:53:49 · 3714 阅读 · 0 评论