![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
空间数据处理
文章平均质量分 92
空间数据处理
k_wzzc
wzzc
展开
-
scala 实现凸包算法
什么是凸包(Convex Hull)请看维基百科https://zh.wikipedia.org/wiki/凸包简单的想,在二维平面,就是所有的点组成的最外层的凸多边形算法思路本文锁使用的方法是:包裹法(Jarvis步进法)从上面的两个图可以看到:以凸包上相邻的两点连成的直线,所有的点都在该直线的同一侧非凸包上的点连成的直线,所有的点分布在直线的两侧算法实现 /**...原创 2018-09-26 23:00:40 · 277 阅读 · 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 · 680 阅读 · 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 · 881 阅读 · 0 评论 -
ESRI包 做空间数据处理
ESRI包做空间数据处理1.WKTWKT(well-known text)是一种文本标记语言,用于表示矢量数据中的几何对象,在数据传输与数据库存储时,常用到它的二进制形式,即WKB(well-known binary)。WKT与WKB在GIS中的重要作用在于,它们能利用文本简洁明了的表达矢量空间要素的几何信息,使得几何信息能以字段的形式存储于数据库中。WKT 示例"MULTIPOLYGON...原创 2019-01-07 22:45:41 · 536 阅读 · 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 · 251 阅读 · 0 评论 -
已知一点经纬度及与另一点距离和航向,求另一点经纬度
已知一点经纬度及与另一点距离和航向,求另一点经纬度 /** * 已知一点经纬度及与另一点距离和航向,求另一点经纬度 * * @param lon 已知一点的经度 * @param lat 已知一点的纬度 * @param brng 已知一点与另一点的方向 (角度) * @param dist 已知一点与另一点的距离 :...原创 2019-11-14 22:53:49 · 3585 阅读 · 0 评论