GIS算法基础
GIS算法专栏主要记录一些GIS常用的算法
小钟233
既然选择了前方,便只顾风雨兼程
展开
-
GIS算法基础(十)矢量压缩算法-光栏法
前言:远程仓库地址:https://github.com/XiaoZhong233/GIS_ALG光栏法是一种矢量数据的压缩算法。光栏法的基本思路是对每一条曲线上的所有点, 逐点定义一个扇形区域。若曲线的下一节点在扇形外, 则保留当前节点; 若曲线的下一节点在扇形内, 则舍去当前节点。说明:光栏法与道格拉斯算法都是矢量压缩算法,但是光栏法能很好的保存线的形状,而道格拉斯普克算...原创 2019-06-01 14:05:07 · 5262 阅读 · 8 评论 -
GIS算法基础(九)矢量压缩算法-道格拉斯普克算法
前言道格拉斯-普克算法(Douglas–Peucker algorithm,亦称为拉默-道格拉斯-普克算法、迭代适应点算法、分裂与合并算法)是将曲线近似表示为一系列点,并减少点的数量的一种算法。它的优点是具有平移和旋转不变性,给定曲线与阈值后,抽样结果一定。因为网上关于道格拉斯普克算法的讲解很多,主要是使用递归实现的,这里就不赘述了。远程仓库地址:https://github.c...原创 2019-06-01 13:42:05 · 1685 阅读 · 0 评论 -
GIS算法基础(八)基于距离变换的栅格骨架提取算法
一、为什么需要骨架提取简单来说就是用于细化栅格,便于栅格数据转换为矢量数据栅格格式向矢量格式转换是提取相同编号的栅格集合表示的边界,栅格点转换成矢量点,很简单,在坐标系确定的情况下通过解析式可以直接转换。而线与面在转换成矢量的时候,本质上都是在提取边界或中轴线,因此在栅格中提取中轴线就与栅格的细化的关系密不可分,这是因为线状栅格数据一般具有粗度且线条本身往往呈现粗细。栅格数据需要细化,以提...原创 2018-12-16 19:28:19 · 3272 阅读 · 0 评论 -
GIS算法基础(七)矢量数据向栅格数据的转换(面转换的边界代数算法实现)
代码已经po上远程仓库,需要的同学可以自取:https://github.com/XiaoZhong233/GIS_ALG/blob/master/src/scau/gz/zhw/Raster.java目录一、边界代数法算法思想二、算法步骤三、算法实现四、测试结果五、总结一、边界代数法算法思想边界代数多边形填充算法是一种基于积分思想的矢量转栅格的转换算法。这...原创 2018-12-08 14:11:13 · 6929 阅读 · 2 评论 -
GIS算法基础(六)矢量数据向栅格数据的转换(面转换的射线算法实现)
面状换的射线算法已经放在github上:https://github.com/XiaoZhong233/GIS_ALG/blob/master/src/scau/gz/zhw/Raster.java目录一、常见的面转换算法1)内部点扩散算法2)射线算法二、射线算法的实现算法步骤:三、测试结果:一、常见的面转换算法 面状矢量数据是由闭合的线段组成的,...原创 2018-12-08 13:07:05 · 3655 阅读 · 0 评论 -
GIS算法基础(五)矢量数据向栅格数据的转换(点,线算法实现)
矢量结构数据与栅格结构数据的相互转换,是地理信息系统的基本功能之一,已发展形成了许多高效的转换算法。源码已经放在github上了,需要朋友自取。https://github.com/XiaoZhong233/GIS_ALG/blob/master/src/scau/gz/zhw/Raster.java目录一、矢量点的栅格化二、矢量线的栅格化①八方向栅格化算法思想:...原创 2018-12-07 21:59:24 · 16070 阅读 · 0 评论 -
GIS算法基础(四)平面坐标变换(变换矩阵算法实现)
目录一、平面直角坐标系的建立二、平面坐标变换矩阵三、平移变换四、比例变换五、对称变换六、旋转变换七、错切变换八、复合变换(1)、复合平移(2)复合比例变换(3)复合旋转(4)相对某点的比例变换(5)相对某点的选址变换po一个B站线性代数学习资料,这个作者很好地解释线性代数操作空间的本质。【官方双语/合集】线性代数的本质 - 系列合集...原创 2018-12-02 13:52:32 · 7324 阅读 · 0 评论 -
GIS算法基础(三)计算几何基础(下)
代码已经po上远程仓库:https://github.com/XiaoZhong233/GIS_ALG/blob/master/src/scau/gz/zhw/CalculateBasic.java目录判断线段在多边形内的算法:算法思路:算法步骤:算法实现(JAVA):测试结果GUI绘制结果: 判断线段在多边形内的算法: 算法思路:如果线段...原创 2018-11-30 13:34:35 · 1011 阅读 · 0 评论 -
GIS算法基础(二)计算几何基础(中)
代码已经放在github上,需要的同学自取:https://github.com/XiaoZhong233/GIS_ALG/blob/master/src/scau/gz/zhw/CalculateBasic.java目录一、线段的拐向的判断二、判断点是否在线段上三、判断两线段是否相交①快速排斥试验②跨立试验快速排斥试验:跨立试验一、射线法的实现转角法...原创 2018-11-12 21:08:38 · 4764 阅读 · 5 评论 -
GIS算法基础(一) 计算几何基础(上)
最近在学习GIS算法,在学习过程中,想把一些经典的算法或者思想记录下来,分享给大家 计算几何基础本来是计算机图形学的内容,但是GIS在图像处理中是离不开计算机处理的,所以GIS算法基础第一个应该是计算几何基础。如何把空间实体的点线面以及他们之间的关系(例如,相交,包含,邻接,叠置等等)用计算机语言表达出来,应该是这里解决的第一个问题。前人已经有过这样这样的解决模型---DE-9IM模型...原创 2018-10-08 15:35:52 · 2153 阅读 · 5 评论