开源嵌入式GIS引擎基于ucGUI
整理百度网盘发现了一个很早以前写的一个软件,可惜只做到了1.2,看看文档的规划,只能一声叹息,准备把老板本在github开源出来。
有兴趣做开源的朋友可以一起来做一个有趣的东西
(https://github.com/xiangxud/ucGIS)
地图引擎
//ver4.0预计功能
//1、实现DEM图片显示
//2、GML格式接入
//3、支持文webgis
//4、专为登山、旅游、自驾游、自行车游等定制功能,比如气压变化图,海拔变化图,急需点布局等
//5、学习OZIgooglemap等功能,整合成实用性很强的专业工具
//ver3.0预计功能
//1、好友管理
//2、动态拼车算法
//3、优化算法
//ver2.0预计功能
//1、重建路网索引,实现路径规划,最短路径
//2、实现语音导航
//3、实现线型多样化,美化显示
//ver1.2新增
//1、增加全国地图根据自身定位数据进行自动定位,按照省区、省级市、地级市、区县进行索引,确定当前采用地图,并判断是否需要切换地图
//2、地图切换方式采用对各省的面界进行索引并判断当前定位点在那个面界内,以此类推,省级城市,地区级面界依次进行索引判断最后确认当前地图,再采用地图双索引进行地图显示
//3、对地图进行分级处理,以避免缩小时造成消耗内存过度
//4、增加地图名称索引文件,方便地名或路线查询(目前考虑线性方式,快捷的查询模式有待进一步发觉)
//ver1.1新增
//1、采用对一级索引进行二次索引,采用格网内细分格网的办法,实现由于索引文件过大耗损内存的问题
//2、因格网分批动态加载图元后不能查询完整的数据,采用重构索引的方式实现点查询,标注查询等
//ver1.0新增
//1、一级矢量格网索引技术,索引文件包括所有格网的逻辑坐标以及其内包含的矢量图元的文件偏移地址以及图元的编号
//2、按格网进行检索当前视窗的矢量图元,动态加载和释放,减少内存开销,并以索引的图元编号判断
//3、增加序列号保护措施
//4、增加统一对外接口函数
//5、增加动态分配内部函数在转换点坐标时的数组,宏定义可选
//6、防止动态内存分配出现内存碎片的问题,统一释放图元所占内存
//ver0.9功能
//1、基本矢量地图显示、缩放、文本标注顺序查询、测距,面积测量等功能
//2、数据自有格式,ANSI c标准文件操作函数模式
//3、标注自动错位技术
//4、自动视野分层显示控制,多图层模式
//5、GPS打点支持,实现GPS数据串解析,每个点拥有自身ID,用于区分是自身GPS数据或者是好友数据
//6、根据自身GPS数据进行动态移动地图
//7、支持用户图层
//8、支持车辆显示,轨迹显示存储
//9、支持语音输出函数指针,用系统语音输出驱动函数进行接口后,支持内部的语音播报
1、网格索引,按网格以及EyeShot进行读取数据
2、没有设置线形
3、查询目前还没有好的办法,考虑生成专门的索引文件,按图层、点位置以及文本标识等
4、考虑将数据分割,确保数据能够在索引以及矢量数据的综合上不会超过1.5M,有些难度
5、采用Encpy系列号加密保护,获取设备CPU唯一序列号,进行密匙比对,密钥文件采用文件方式或者写入索引或地图文件的某个位置
6、数据采用GUI_ARRAY进行组织,但是频繁的释放和分配会造成碎片,所以只能在变化时释放所有内存,然后在读取所有对象,数据对象最多会出现相邻4个网格的矢量数据
7、网格索引采用矢量数据对象在文件中的绝对偏移量作为其起始地址,网格数据应该在索引数据量与网格的矢量数据量之间协调。
开源嵌入式GIS引擎基于ucGUI相关推荐
- python开源嵌入式_Neo4j 推出基于 Python 的嵌入式图数据存储
Neo4j很早就在说,会推出一个嵌入在Python中的图数据库模块,让Python可以通过图数据库的API操作本地文件以存储图结构的数据(类似于很多支持SQLite的类库).而今天Neo4j终于在官方 ...
- 开源图形/游戏引擎的点评
开源图形/游戏引擎的点评 什么是游戏引擎?举个简单例子,在某游戏中的一个场景中,玩家控制的角色躲藏在屋子里,敌人正在屋子外面搜索玩家.突然控制的角色碰倒了桌子上的一个杯子,杯子坠地发出破碎声,敌人在听 ...
- 速度超快!字节跳动开源序列推理引擎LightSeq
机器之心发布 机器之心编辑部 这应该是业界第一款完整支持 Transformer.GPT 等多种模型高速推理的开源引擎. 2017 年 Google 提出了 Transformer [1] 模型,之后 ...
- 中科燕园GIS外包-----基于ArcGIS的应急平台
1. 国家应急平台体系 <"十一五"期间国家突发公共事件应急体系建设规划>(国办发[2006]106号)明确提出"十一五"期间建设"以国务 ...
- 华为开源数据虚拟化引擎HetuEngine;全球超算500强:中国上榜数量增加;谷歌收购云计算公司CouldSimple ……...
关注并标星星CSDN云计算 速递.最新.绝对有料.这里有企业新动.这里有业界要闻,打起十二分精神,紧跟fashion你可以的! 每周两次,打卡即read 更快.更全了解泛云圈精彩news go ...
- arm体系结构与编程_教程:如何学习嵌入式系统(基于ARM平台)
一.嵌入式系统的概念 着重理解"嵌入"的概念 主要从三个方面上来理解. 1.从硬件上,将基于CPU的处围器件,整合到CPU芯片内部,比如早期基于X86体系结构下的计算机,CPU只是 ...
- 蚂蚁金服 AntV 开源地理可视化引擎 L7 2.0 发布
导读 L7 是由蚂蚁金服 AntV 数据可视化团队推出的基于 WebGL 的开源大规模地理空间数据可视分析开发框架.L7 中的 L 代表 Location,7 代表世界七大洲,寓意能为全球位置数据提供 ...
- python开源的人脸识别库_什么是 SeetaFace 开源人脸识别引擎
区分不同的人是很多智能系统的必备能力.为实现此目的,一种可能的技术手段是通过对人脸的光学成像来感知人.识别人,即所谓的人脸识别技术.经过几十年的研发积累,特别是近年来深度学习技术的涌现,人脸识别取得了 ...
- 开源Flash游戏引擎PushButton Engine
介绍开源Flash游戏引擎PushButton Engine 最近,一个开源 的Flash游戏引擎PushButton引擎发布了,与以往的游戏引擎不同的是,这是一个模块化的游戏引擎,也就是说它提供了 ...
最新文章
- @async 默认线程池_.NET Web应用中为什么要使用async/await异步编程?
- 19-7-16学习笔记
- Python 在字符串中处理html 和xml
- nginx编译安装_Nginx编译安装nginx-upsync-module模块以实现动态负载
- 数据类型总结(干货)
- 理解JAVASCRIPT 闭包
- 我是一个*** (十三)
- 32.分配数组的方式
- N个数全排列的非递归算法
- mysql 递归查询所有父级
- 局域网桌面监控软件_如何促进局域网监控软件在企业中的普及
- matlab差分法解拉普拉斯方程,拉普拉斯方程有限差分法的MATLAB实现
- 人脸识别活体检测测试案例
- 日系插画学习笔记(一):SAI软件基础
- linux 硬盘合并使用方法,Linux硬盘合并的实现代码
- 【DFS练习】水洼数
- 树莓派 arch linux,给树莓派安装ArchLinux
- 7、osg中响应键盘鼠标事件以及鼠标和键盘编码表
- JavaScript 图片3D展示空间(3DRoom)
- win10锁屏c语言,win10系统锁屏状态下运行任意程序设置的操作方法
热门文章
- 大数据技术之 HBase简介
- u-boot 2015.01 :has EABI version 0, but target u-boot has EABI version 4
- 7.计算机病毒损坏某些硬件,区别计算机病毒与故障
- 面试被问死怎么办?学会这四招,通过的机率提升30%
- 去掉cajview阅读器右上角的图标方法
- node mysql同步_一些nodejs实现同步操作想法实现
- 项目干系人管理的10个关键原则
- 【英语四六级-必背单词】高中英语单词 (I) - MP3试听与下载
- android中uri的作用,Android UrlUri详细解析
- 【小甲鱼C语言】课后笔记第一章第七节——算数运算符