- 博客(29)
- 资源 (12)
- 收藏
- 关注
原创 Cesium中遇到 materialProperty.getType is not a function
需求描述为使用callbackProperty不断更新纹理,于是我写下了如下代码this._rectangle = this._viewer.entities.add({ rectangle: { show: this._show, coordinates: Cesium.Rectangle.fromDegrees(this._positions[0], this._positions[1],this._positio
2024-10-30 10:48:26
329
原创 通过委托优雅的使用qgis_app模块(QGIS解耦合,QGIS二次开发,QGIS源码研究,面向对象设计原则)
起因最近在开发符号配置工具,最终的应用成果就是具备QGIS样式相关的所有功能,当然一些基本的功能(图层管理,坐标系等也要有)。然而,在开发过程中遇到了一个问题。由于符号配置工具和QGIS的区别就在于它只包含QGIS样式配置方面的功能,所以这个工具就特别像QGIS的应用层,很多API都是直接从qgis_app(这是QGIS的主应用模块,打开QGIS那个主界面就与其密切相关)里获得,可当运行时就直接崩溃了。经过追踪,发现死在了这个函数 QgisApp::instance()->mapCanvas(),
2021-08-27 11:29:52
1032
原创 Qt图像混合模式之各类效果(晕渲图)
原图像(DEM分层设色)目标图像(DEM山体阴影)各类效果:1.Clear2.ColorBurn3.ColorDodge4.Darken5.DestinationAtop6.DestinationIn7.Destinationout8.DestinationOver9.Difference10.Dodge11.Exclusion12.HardLight13.lighten14.Multiply15.Normal16.NotSource17
2021-05-30 19:40:15
533
原创 QGIS测试瓦片下载
下载链接:点这里 注意进去点击最下面的普通下载使用说明:1.将如下内容保存至xml文件<GDAL_WMS> <Service name="TMS"> <ServerUrl>file:///E:/QGIS-2.18.5/data/MapTiles/Commuter/${z}/${y}/${x}.png</ServerUrl> </Service> <DataWindow> &l
2021-04-01 15:36:24
1016
5
原创 QGIS加载离线瓦片(加载瓦片生成工具生成的瓦片)
1.首先使用QGIS瓦片生成工具生成一套瓦片数据,如下图2.复制如下文字到文本文档中,另存为xml文件<GDAL_WMS> <Service name="TMS"> <ServerUrl>file:///E:/QGIS-2.18.5/data/MapTiles/Commuter/${z}/${y}/${x}.png</ServerUrl> </Service> <DataWindow>
2021-02-24 21:13:37
7055
3
原创 HCZJ Earth二次开发环境搭建
1.首先搭建好Cesium开发环境2.点击此处获取SDK下载3.解压之后放在web服务器下,其中的index.html包含初始化三维场景例子加群1128275478获取二次开发示例文档。更多内容参见 HCZJ Earth介绍
2021-01-13 13:22:10
680
原创 Cesium中文API 文档
这个是我们进行HCZJ Earth项目时纯人工翻译的 API文档另:HCZJ Earth 介绍这个可以作为Cesium插件使用,可以快速开发特定功能
2020-12-27 23:07:12
12732
5
原创 QString无法比较中文字符是否相等
昨天遇到了这个问题,当时急着赶项目就没管,今天刚好有空就好好研究一下,有问题代码大致是这样QString AAA("中国");int main(int argc, char *argv[]){ QApplication a(argc, argv); //设置文件编码 QTextCodec* code= QTextCodec::codecForName ( "GBK" ); QTextCodec::setCodecForCStrings(code); QTextC
2020-12-23 18:54:30
3767
1
原创 std::map 删除/插入无效;静态对象内的成员无效->;好吧,这些都是表象
先说结论:使用单例模式或者静态成员变量时,获取时尽量获取其指针,而非引用。 最近在看《Effective C++》还没看完,不知道他里面有没有这样一条规则,如果没有,我觉得可以加上哈哈。为什么这样,看这样一段代码class A{ ... B& getB() { return B } static B;//假设已经存在B ...}//在其他地方调用A a;B& b = a.getB();上面这种写法,没有任何问题。可如果你手抖了一下,写成了这样B b = a
2020-11-21 17:09:31
581
原创 QGIS符号(样式)配置研究与实现
最近接到任务是进行QGIS符号配置界面的开发,由于当时把QGIS集成到我们桌面三维GIS平台时用到的QGIS版本是2.18.5(比较坑的一个版本,集成之后发现不少bug,补bug补了好久,换版本再集成不是那么容易的,无奈沿用至今),所以就还选用这个版本,毕竟最后还是要集成到三维平台里。其实各个版本核心功能差别不大。其实符号配置这个网上都有,直接拿来用完成简单任务不成问题,但是个人觉得对深入学习QGIS并无多大助益,要想学好必须要深入源码进行研究。这里还想再说一点,QGIS不仅是学习开源GIS的最佳平台,还
2020-09-24 23:18:55
4461
原创 VS或QtCreator中工作目录的理解(QFile::exists()生成的文件不在exe同级目录)
事情的起因是这样的。有一句判断文件是否存在的代码是这样的if(QFile::exists(fileName)) 这句话总是返回true,即使文件不存在。后来查阅资料发现,该函数发现文件不存在,就会自动创建。假如我写成这样if(QFile::exists(“1.txt”)) ,那么会在exe同级目录创建。神奇的是如果将这段代码移植到vs里就会发现,和exe同级目录下没有生成的文件,而且QFile::exists()一直返回true。于是全盘搜这个文件,发现在vs工程目录下面有这个文件。看到这,忽然想起来多
2020-09-22 16:34:41
2523
原创 解决已经安装VMware-tools,Ubuntu界面仍然没有放大的问题
说起来这个问题其实是稀里糊涂解决的,当时搜到一篇博客说需要调整Ubuntu的分辨率,具体操作是这样的1.在Ubuntu打开终端(ctrl+alt+t),输入指令xrandr2.选择分辨率:(以1920X1200为例)输入指令xrandr -s 1920x1200然后我就做了第一步,准备做第二步之前,顺手打开网页搜了点东西,搜完之后再回到虚拟机,是的,没错,他好了,全屏了,我连第二步都还没开始做,稀里糊涂就好了。不过输入第一个命令之后,可以看到当前显示的分辨率是800*600。所以窗口才那么小。反
2020-09-14 12:32:14
2658
原创 HCZJEarth介绍
HCZJEarth介绍简介系统结构功能介绍简介HCZJEarth是由三名创业狗耗时大半年开发的web端三维GIS开发库。当然了,这是基于Cesium的(国内好多其实都是基于Cesium的,却都说是自研的)这里就不多说了。我们基于Cesium构建了自己的体系结构,目的是更加方便用户的开发。到目前为止,系统已经初具雏形,当然还有许多需要完善,官话就不说那么多了,热烈欢迎各位小伙伴使用反馈。等版本稳定了,我们会考虑贡献给开源社区,也算出一份力吧!SDK刚上传现在还在审核,等会会贴出连接。另外系统使用ES6,使
2020-08-25 20:51:03
4010
10
原创 obj转gltf批量转换(亲测有效)
我们知道obj2gltf工具可以将obj格式转换为gltf。具体使用方法网上很多,这里不再赘述。然而这个工具一次只能转换一个,也去网上查了,可以结合批处理进行转换,但是资料真的太少了,翻来覆去还是那几篇,互相转载而且找到的代码还问题,请看这里由于输出参数是一个固定的值,导致批量转换后,只有一个文件,因为后面的把前面的覆盖了。无奈只能去补一点批处理的知识,弄了好久,最终代码如下@echo offset input=F:/WorkSpace/3ds/test/dataset output=F:\Work
2020-06-25 17:59:10
3445
3
原创 CesiumCallbackProperty无效
Cesium的CallbackProperty有回调功能,凡是属性是Property的类型的均可以使用Property,这里一定得注意必须是Property类型,像什么PositionProperty、MaterialProperty这些最好不要用,要不然结果很可能不是你期望的。那好,既然有回调功能,如下代码应该不断打印1111才对。var callback = new Cesium.CallbackProperty(function() { console.log(11111); re
2020-06-23 19:28:10
3022
1
原创 ES6中如何使用静态属性(所有对象共享)
翻了网上,没有找到一个能用的,原来就是这么简单。就在类的构造函数里直接写 类名.属性名 = 。。。即可,使用的时候直接 类名.属性名即可。
2020-04-06 23:33:08
642
原创 Cesium解决图形压盖问题
如图可以明显的看到有一部分线在点上,需要说明的是,线和点的位置完全一样。解决:将实体的clampToGround设置为true试试。开源GIS视频教程点这里
2020-04-05 21:24:41
1161
原创 在Cesium中,如何计算椭圆的外接矩形或反之
通过外接矩形计算椭圆var geodesic = new Cesium.EllipsoidGeodesic();var p1 = Cesium.Cartographic.fromCartesian(this._positions[0]);var p2 = Cesium.Cartographic.fromCartesian(this._positions[this._positions.len...
2020-04-05 20:59:18
1136
1
原创 浅谈Cesium多线程渲染问题
在Cesium中实体的加载卸载是多线程的,这里不说是异步,因为js中的异步不是多线程。由于上述操作为多线程的缘故,所以不可避免的会因为忽视它而出现一些问题,这在绘制编辑图形中极为常见。例如,你已经调用了移除实体的代码,紧接着你把该实体的引用置为空,大多数情况下是没有问题的。但是,隐患依然存在,而且随时会爆发,由于多线程,当子线程正要释放实体占用的资源时,主线程确将其置为空,程序直接崩溃。还有,当...
2020-04-05 20:42:18
3054
1
转载 VS Code 配置python开发环境
原文链接 https://www.cnblogs.com/xiaojwang/p/11331202.html
2020-03-09 17:53:17
320
原创 Python各版本安装包下载
今天在网上下了一下Python的安装包,发现官网下载的速度太慢了,无奈只能花了一点时间,最终把它下载下来了,为了以后小伙伴们不用这么作难,我想着把这些安装包整理下来,不定期更新,大家有需要哪个版本的,直接评论就好,我尽量去下载。由于我需要的是3.6.8所以今天就先上传它吧,大家有需要可以到这里下载。...
2020-03-09 16:23:43
13398
7
原创 大学软件工程专业书籍推荐
平时工作中读的一些书,觉得不错,现在拿出来分享一下,后续还会更新1 系统分析师UML实务手册.pdf点这里2 软件工程实践者之路.pdf 点这里3 软件工程——实践者的研究方法.pdf 点这里4 面向对象设计与应用.rar 点这里5 代码大全.pdf 点这里6 UML与系统分析设计.pdf 点这里7 UML面向对象建模与设计 (第2版) (1).pdf: 点这里8 快速软件开发...
2020-02-10 22:53:00
2454
1
原创 开源GIS视频教程(优化版)最新
开源GIS视频教程本课程为开源GIS视频课程的优化版(经改良过的完整版)。因此部分课程与该目录有出入,但是出入不大。链接 https://72k.us/file/24073260-421151217 密码:498202失效请联系q:3340358180通过该课程的学习,主要掌握地理信息系统(GIS)概念,空间分析功能;开源GIS及内容;了解常见开源桌面、Web和移动GIS等各种平台软件功能...
2020-02-09 10:35:44
1466
2
原创 QGIS地图瓦片生成工具使用介绍(目前仅支持QGIS2.X)
1 软件介绍QGIS的制图相当漂亮,而且也开源。于是便基于QGIS进行切图工具的开发,该软件是本人的毕业设计,它借鉴了诸多博硕士论文成果,并研究了多款开源GIS软件源码,采用当下主流的瓦片切割算法开发而成。为了提高切割效率,对部分QGIS源码进行了重构。下面就其特点进行简单介绍。特点1.操作简单,只需简单输入,即可切片。2.采用多线程缓存切片,超高的切片效率。3.支持设置瓦片大小,满足不...
2019-08-31 00:13:53
14836
22
原创 QGIS配图展示
QGIS的制图功能还是可以的,之前看有的朋友说和ArcGIS可以拼,下面展示一下最近利用QGIS进行制图的成果,欢迎大家一起交流学习。下面一整套从全球到地方的一种配图方案展示大家如果有什么问题或者需求,可以加q群交流:787254386...
2019-08-30 22:11:46
1519
原创 OSM地图瓦片下载器1.0版介绍(win64)
简介为方便在工作中随时使用OSM瓦片数据(公开链接的),特编写此下载工具,并会一直更新,欢迎关注。如果需要了解基本的瓦片知识,请移步 地图瓦片讲解注意OSM坐标系是WGS84-webMercator特点1.下载级别、范围无限制(只要OSM有的)2.下载进度展示3.下载瓦片数量,约占空间统计4.硬盘瓦片检测功能。若有已存在的瓦片,则不再下载该瓦片5.错误信息输出功能。使用方法1....
2019-04-26 09:29:56
4077
5
QGIS加载本地瓦片测试数据
2022-10-31
OSM地图瓦片下载器0.2
2022-04-11
HczjEarthSDK1.0
2021-01-13
基于QGIS的实时地图瓦片渲染研究与实践
2019-01-22
大数据课程
2018-12-16
开源GIS视频教程优化版
2018-02-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人