开源GIS包{包括泰森多边形、TIN、道格拉斯-普克、光栏法、垂距法以、凸包构建、Dijkstra最短路径及其他GIS空间要素操作}

1 篇文章 0 订阅
1 篇文章 0 订阅
本项目介绍了一个使用C++编写的GIS包,其中包括了GIS空间矢量元素的数据结构描述及其相关操作,如面积、周长计算,点在线左侧等判断。此外还实现了TIN构建、泰森多边形构建及线要素压缩算法等GIS空间要素模型。
摘要由CSDN通过智能技术生成

1.GitHub项目地址

https://github.com/Just-Coder-2000/GISBag

2.项目简介

该项目为C++语言编写的GIS包,包含但不局限于:

1.GIS空间矢量元素的数据结构描述

如二维点、线、多边形、圆弧段、三角形、矩形、圆等。

2.GIS空间矢量元素的相关操作

相关方法已封装在类中,如空间二维元素的面积、周长,线的方位角等。

3.GIS空间矢量元素之间的拓扑判断

如点在线左侧、点在三角形内部等。

4.有关二维向量的相关计算

如点积、叉积。

5.根据选择器,随机在指定矩形内生成相应的空间元素

如生成一个指定圆内的多个点等。

6.为加快对空间元素的操作,提供了点的数据库类以及基于简单空间元素数据描述的参考类

如针对line2d数据结构,提供了RefLine的类。该参考类提供了线的ID、组成线的点的ID以及挂载到的数据库地址。通过对点的ID,可在空间数据库中搜寻到该点。为加快搜寻,数据库采用map容器存储参考点。

7.相关的GIS空间要素模型

如TIN的构建、泰森多边形的构建、线的压缩算法{光栏法、道格拉斯普克法、垂距法}、凸包的生成等。

8.空间快速索引树-KdTree的构建

利用已知点二维平面坐标,构建KdTree,并提供基于KdTree的最邻近搜索可KNN搜索。

3.案例举例

(1)TIN不规则三角网的构建

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(2)泰森多边形的构建

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(3)线压缩算法

原始数据

在这里插入图片描述

垂距法压缩线要素

在这里插入图片描述

道格拉斯-普克法压缩线要素

在这里插入图片描述

光栏法法压缩线要素

在这里插入图片描述

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值