- 博客(91)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 [Cesium for Supermap] 加载3dTiles,点击获取属性
【代码】[Cesium for Supermap] 加载3dTiles,点击获取属性。
2024-07-17 09:52:30 492 1
原创 [Cesium for Supermap]加载iserver发布的wms服务
【代码】[Cesium for Supermap]加载iserver发布的wms服务。
2024-05-15 10:23:08 276
原创 【Cesium for Supermap】S3MTiles图层box裁剪
【代码】【Cesium for Supermap】S3MTiles图层box裁剪。
2024-03-08 16:16:19 417 1
原创 【vue】vuex中modules的基本用法
为了解决以上问题,Vuex 允许我们将 store 分割成模块(module)。每个模块拥有自己的 state、mutation、action、getter、甚至是嵌套子模块——从上至下进行同样方式的分割。在模块中使用:namespaced: true, 命名空间,添加之后,当前模块下的标识符可以和其它模块相同,用于解决不同模块的命名冲突问题。由于使用单一状态树,应用的所有状态会集中到一个比较大的对象。当应用变得非常复杂时,store 对象就有可能变得相当臃肿。
2022-11-17 16:22:51 6396 1
原创 【加密算法】RSA和AES在项目中的使用
除了客户端发送信息要加密外,服务端返回数据也要加密。客户端要解密必须使用私钥,如果只使用RSA加密解密,那么私钥就要保存在客户端,很容易泄密。密码不能明文传输,所有要在客户端对密码加密,在服务端对密码进行解密。客户端用公钥加密,在服务端用私钥解密。AES:高级加密标准(Advanced Encryption Standard)为最常见的对称加密算法(微信小程序加密传输就是用这个加密算法的)。注:就算截取了加密后的key也没有用,因为没有RSA私钥,无法解密。通过key用AES加密数据,并返回给客户端。
2022-11-10 17:23:31 1546 1
原创 【ES】脚本截取字段分组查询统计
有个需求为:统计一个月内每天的降雨量,时间格式为text类型,如:2022-02-22 08:09:09需要提取出字符2022-02-22来分组,即截取字符串的前10位ES查询语句如下:{ "size":0, "query":{ "range":{ "time.keyword":{ "gte":"2022-02-01 00:00:00", "lt":"2022-03-01 0
2022-04-25 11:22:17 3260 2
原创 【ES】分组后每组取第一条
表格如下:想要获得所有测站最新的一条数据,即先对Station分组,根据time进行排序(降序),取第一条。GET test/_search{ "query": { "bool": { "must": [ { "match_all": {} } ] } }, "size": 0, "aggs": { "stationAgg": { "terms": {
2022-04-22 17:37:37 4817 3
原创 【FeignClient】feignClient跨服务下载文件
背景:服务端提供了一个下载服务,用FeignClient调用该服务时发生错误。错误信息为:getOutputStream() has already been called for this response此错误原因是response已经被调用解决方法:需要用到Feign提供的Request来做一次中继操作代码:服务端: /** * 下载文件 * @param filePath 文件路径 * @param downloadName 下载后的文件名
2022-04-21 17:25:16 1812
原创 【数据库】SQL操作案例
1,一张剧目演出表,表中有(剧目ID,剧目名称,演出单位,票房),问:查询出每个演出单位票房最高的剧目名称。(name是剧目名称,desp是演出单位,price是票房)解题1:在postgresql中可以使用distinct on语法来查询。distinct on 和 order by搭配使用,可以实现组内去重(保留最大或最小的一条数据)select * from show_plan order by desp, price desc;这个是按照演出单位和票房排序,每组的第一条为该演出单
2022-03-31 17:01:52 1498
原创 【RTSP流】使用flv.js + websocket播放rtsp视频流(h264)
1引言在项目开发过程中经常需要接视频流。之前大都接的是HLS格式的流,这是Html5的video标签直接支持的。最近需要接rtsp流,web端目前不支持直接播放。本文提供一种方法直接播放rtsp流,不需要安装插件。2 基于flv.js的RTSP播放方案HTML5 原生仅支持播放 mp4/webm 格式,是不支持 FLV格式的。 flash性能问题是长期以来被全世界人所诟病的,尤其是明年起chrome彻底抛弃flash,越来越多有直播需求的人产生焦虑。这就加速了html5播放器的发展,也使得人..
2022-03-03 16:43:44 22397 2
原创 【ffmpeg】ffmpeg推送流到rtsp服务器
1引 言在项目开发过程中经常遇到接入RTSP视频流的需求。由于外网无法访问项目现场的内网服务器,无法进行测试。想着在网上找一个RTSP流进行测试,但是大多已经失效,且公司对网络进行了限制,无法播放视频资源(令人头大)。所以想着自己搭建一个RTSP流服务器进行测试。2 安装rtsp-simple-server2.1官网下载地址:zheng/rtsp-simple-server2.2本次测试环境为windows,下载windows版2.3 解压并启动3安装...
2022-03-03 12:36:30 10730 3
原创 【GIS小案例】基于Java + Geotools + wContour的等值面图
1引 言展示雨量数据的分布情况,等值面图是非常合适的方法。以锦州市某日的降雨量为例,雨量站点大概有100个,分布于整个锦州市。首先尝试的方法是利用kriging.js生成等值面,但是由于锦州市边界区域太大,浏览器客户端生成压力非常大,速度也很慢。所以尝试着在服务端生成,然后客户端调用显示。2等值面生成的两种方式2.1 服务端生成通用的方式是基于Java + Geotools + wContour在服务端处理数据,适用业务如下:大范围高密度的空间数据插值 服务器端可以设置定时任务...
2022-02-14 15:43:44 9216 28
原创 【Spring】spring是如何简化开发的
Spring通过以下四种策略来简化java开发。基于POJO的轻量级和最小侵入编程; 通过依赖注入和面向接口实现松耦合; 基于切面(AOP)和惯例进行声明式编程; 通过切面和模板减少样式代码,RedisTemplate,xxxTemplate。1,基于POJO的轻量级和最小侵入编程Spring框架不强迫应用程序实现Spring提供的规范接口或者继承Spring的规范类。可能你的类里面使用了Spring的注解,但是去掉注解,它仍然是一个普通的Java类。延伸:POJO(Plain Or
2021-12-07 15:53:08 1672 1
原创 【java面向对象】重写(Override)和重载(Overload)的区别
重写(Override)是子类对父类允许访问的方法的实现过程进行重新编写,返回值和形参都不能改变。方法的重写规则参数列表与被重写方法的参数列表必须完全相同; 返回类型与被重写方法的返回类型可以不相同,但必须是父类返回值的派生类;(java5及更早版本返回类型要求一样,java7及更高版本可以不同) 访问权限不能比父类中被重写方法的访问权限更低。例如:父类的一个方法被声明为public,那么子类中重写该方法就不能为protected; 声明为final的方法不能被重写; 声明为static的方
2021-12-02 15:22:03 784
原创 【java基础】源码到字节码的编译过程
java程序运行的是编译后的字节码文件。编译器将源代码编译成字节码,然后由java虚拟机来解释执行字节码文件。源代码编译由javac编译器来编译,具体流程如下:词法分析:判断是否含有关键字、标识符、常数、分界符、运算符等。语法分析:检查是否符合java语言规范,如if后面是否为布尔型表达式。语义分析:把复杂的语法转换成更简单的语法,最后生成一棵抽象的语法树。字节码生成:生成符合java虚拟机规范的字节码。参考文章:java在编译期和运行期都做了什么 - 假程序猿 - 博.
2021-12-02 13:50:19 2812
原创 【地理知识】3度带和6度带
我国多采用高斯-克里格投影,为减少投影变形,高斯-克吕格投影分为3度带和6度带投影。6度带投影,即经度差6度,从零度子午线开始,自西向东每隔6度为一个投影带,全球共分60个带。东经0~6度为第一带,其中央经线的经度为东经3度;东经6~12度为第二带,其中央经线的经度为东经9度。3度带投影,即经度差3度,从东经1.5度开始,自西向东每隔3度为一个投影带,全球共分为120个带。即东经1.5~4.5度为第一度带,其中央子午线的经度为东经3度;东经4.5~7.5度为第二带,其中央经线的经度为东经6度。东经7
2021-12-01 14:38:23 22451
原创 【Cesium】加载互联网地图服务——高德地图
相比较天地图需要申请自己的key,高德则不需要,这一点非常方便。1,Cesium加载高德矢量地图 var layer = new Cesium.UrlTemplateImageryProvider({ url: "http://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}",
2021-12-01 09:26:07 2504
原创 【Cesium】加载互联网地图服务——天地图
1,地图瓦片获取地址http://t0.tianditu.gov.cn/img_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={x}&TILECOL={y}&tk=%E6%82%A8%E7%9A%84%E5%AF%86%E
2021-11-30 15:38:53 1284
原创 【GIS小案例】台风烟花的轨迹动图
效果如图所示:代码:<!DOCTYPE html><html lang="en"><head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"> <meta name="viewport" content="width=device-width, initial
2021-10-28 10:10:41 1872 4
原创 【GIS小案例】点聚合效果的实现
1,效果图2,实现代码<script> var viewer = new Cesium.Viewer('cesiumContainer'); viewer.scene.open("http://www.supermapol.com/realspace/services/3D-SampleCodeForFan20200420/rest/realspace"); var points = getPoints(); var pointEntities =
2021-09-10 16:52:31 3034 5
原创 【JAVA】反射技术基本语法
反射概述JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法。很多优秀的开源框架都是通过反射实现的,我们要学会反射技术的基本语法,自己才有可能写出优秀的框架。一、反射基本方法1、根据一个字符串获取一个类(getClass方法) String tip = "人间自有真情在!"; Class c1 = tip.getClass(); System.out.println(c1.getName());2、根据类.
2021-09-03 17:11:42 294
原创 【JAVA】范型的理解
什么是范型?所谓范型,故名思意:“广泛类型”的意思。它是Java SE1.5的新特性,它可以接受任意类型的数据。除了基本数据类型,但是我们可以使用基本数据类型的包装类。范型可以用在类、接口、方法的创建,分别被称为【类范型】、【接口范型】、【方法范型】。范型的作用?1、范型的主要目标是提高java程序的类型安全性。 // 不使用范型 Map map1 = new HashMap<>(); map1....
2021-09-02 15:39:34 3035
原创 【ES】Elastricsearch + LogStash + Kibana收集日志
为什么要用ELK?ELK实际上是三个工具,Elastricsearch + LogStash + Kibana。一般情况下我们可以把日志保存在日志文件当中,也可以把日志存入数据库当中。但随着业务量的增加,日志数据量也会不断增加。我们通过ELK可以更好的收集、管理、分析日志。收集过程架构图1、ElasticSearchElasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。它能很方便的使大量数据具有搜索、分析
2021-08-27 15:08:49 2247
原创 【ETL】Kettle Spoon发送Get请求
Kettle Spoon简介ETL(Extract-Transform-Load的缩写,即抽取、转换、装载的过程),在项目的开发过程中经常会对接第三方公司提供的数据接口,需要把接口请求到的数据入库。ETL能够做数据抽取、质量检测、数据清洗、数据转换等工作,使用这个工具能够大大的减少开发的工作量。Kettle中有两种脚本文件,transformation(转换,以ktr结尾);job(任务,以kjb结尾)。比如我们需要对接第三方提供的REST接口,我们可以使用transfo...
2021-08-25 14:11:43 2134
原创 【SpringBoot】统一日志处理
通常情况下,日志框架是由一个抽象层 + 实现层搭建的。抽象层有:SLF4J、jboss-logging、JCL等;实现层有:logback、jul、log4j、log4j2等。SpringBoot日志系统是由SLF4J + logback组成的。SLF4J简介SLF4J,即简单日志门面(Simple Logging Facade for java),不是具体的日志解决方案,是抽象类,允许最终用户在部署其应用时使用所希望的日志系统。例如,在项目中使用SLF4J记录日志,并且绑定log4j,
2021-08-21 16:56:06 1251
原创 【supermap】基于超图的路径规划
第一步:通过idesktop打开路网数据第二步:构建二维网络第三步:测试路径分析选取两个点或者多个点,生成最优路径。参考博客:https://blog.csdn.net/wwq0813/article/details/86519720
2021-08-19 16:09:36 3025 2
原创 【Bootstrap TreeView】添加定位按钮
项目中使用TreeView做图层管理功能,当选中某个图层时需要在这一行动态添加一个定位按钮,点击按钮能够定位到此图层。网上查阅资料,解决方法是修改节点的text属性,把text文本和按钮的HTML拼接在一起。var button = "<div style='float:right;'>定位</div>";$("#layerTree").treeview("editNode", [node.nodeId, { text: node.text + button}]);
2021-07-20 16:45:10 483
原创 【Echarts】三维地图叠加柱状图
代码如下所示:<!DOCTYPE html><html lang="en"><head> <meta http-equiv="Content-Type" content="text/html; charset=GBK" /> <title>echarts 地图</title> <script src="https://cdn.staticfile.org/jquery/1.10.2/jquer..
2021-06-29 15:15:38 1320
编写程序,运行已知java文件
2014-10-31
TA创建的收藏夹 TA关注的收藏夹
TA关注的人