- 博客(20)
- 收藏
- 关注
原创 Cesium对polygon进行绘制、编辑、删除。
我也没有思路,知识网上查看了大多数人的实现方法,大致就是需要在项目里绘制polygon的时候保存几份临时状态,比如点和线以供页面显示图形,最后点位确定了再进行绘制。,但是功能不够完善,我这里是在这个基础上进行了完善,增加了可以删除polygon的label Entity, 可以点击删除掉对应的polygon,相对功能比较完善,完全可以满足项目的需求。Cesium项目中要用到对多边形polygon的绘制和编辑功能,网上找了一圈找到的没几个是可以满足需求的,只有一篇文章写的还可以附上。多的不说,直接上代码。
2024-08-22 18:34:37
424
原创 axios中断网络请求操作。
例如:在实际开发中,有可能遇到这种情况就是:某些请求会根据参数的变化而重新发新的请求。所以当第一个接口请求完数据回来就会把我们实际需要的数据(第二次请求的数据,也就是最新的数据)进行覆盖掉会产生一些麻烦。在这里还有一些问题,因为如果是get请求的话之后的请求不会中断前面的那个相同接口的get请求,除非参数一致才会中断。这里只对post请求进行了中断处理,如果是get请求的话,大致思路是对请求的url进行截取处理然后判断。首先想到的是在请求数据之前清除所有的正在pending的网络请求。
2024-04-11 18:34:25
747
原创 cesium渲染wmts图层提升加载速度。
上网搜了一下这方面的问题,得到了一个关于cesium的调度器相关的答案。大致就是通过修改Cesium调度器的请求最大并发数量来提升加载速度。由于项目里可能需要加载数十个wmts图层服务,可能会造成加载数据量过大,导致cesium加载缓慢,影响用户体验,于是就想办法提升加载速度。可以看到一次性进行了6次并发请求。相当于一次只能加载6块地图瓦片,这有可能是导致cesium加载wmts速度变慢的原因。至于为什么官网默认为18 而打印出来为6这部分可以对源码进行全局查看搜索。上面的两种方法都是可行的。
2024-02-18 16:33:16
1001
原创 cesium加载三维立体primitive图元并贴地展示
简单记录一下遇到的问题。我们知道加载多边形primitive需要传入经纬度数组于是就对数据进行一条一条加载。知道遇到scene卡死的那条数据。知道找到了场景卡死的那条数据:[107.24044625699061, 31.291311316851022, 107.24047198601231, 31.291311468987722, 107.24047250052004, 31.291311493744068, 107.2404730097246, 31.29131156168811, 107.240
2024-01-16 15:37:17
1546
原创 利用geoserver发布的wmts图层url元数据获取对应的bbox信息
由于项目中需要加载大量的geoserver发布的wmts图层数据,大概有一百多个图层需要加载,所以后端只给了我们一个geoserver服务的地址让我们请求,没有其他数据了。比如说这个图层的bbox。所以就需要用其他办法获取bbox信息了。
2023-12-27 18:16:53
1354
1
原创 cesium加载wkt格式的数据
如题,cesium加载wkt格式的数据,wkt是Well Known Text 的缩写,是一种开放的国际标准,由OGC定义和维护,用于在计算机系统中交换空间地理数据,包含一些基本几何对象,点,线,面,多边形等等。由于接口一般返回的数据是wkt数据组成的数组,所以我们需要将数据处理为geoJSON的数据,然后让cesium加载。需要拿到datasource的实体的值, data.entities.values拿到实体的数据,是一个数组。这样就加载完成了,只不过是二维的,没有立体效果。
2023-12-12 16:36:24
585
原创 leetcode买入股票的最佳时机 js
你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0。
2023-12-05 11:05:47
84
1
原创 openlayer vue3直接加载COG格式的TIF影像文件
地图影像一般都为TIF格式的数据,但是直接加载TIF影像的话会存在一些性能问题,想比传统的TIF数据,COG格式的TIF数据对前端渲染来说更加的方便,快捷,因此需要后台对tif文件进行切割为COG 格式的数据。另外:影像的波段颜色这块代码调试比较麻烦点。
2023-11-17 10:25:54
764
原创 cesium直接加载TIFF地图影像
遇到了一个需求: 就是用cesium加载TIFF影像,本来主流的方式是后台切片发布服务,前端直接调用服务加载就行,但是 后台直接给了我一个tif文件,就需要前端来进行绘图渲染了。
2023-11-14 18:48:49
2496
8
原创 cesium-terrain添加地形
这种方法就是在初始化渲染的时候就把地形terrainProvider添加到option配置里,这里用到了fromIonAssetId,也就是cesium Ion 默认自带的一个地形 Cesium World Terrain 对应的id为1注意这里一定要加await异步加载,不然渲染不出来。这种方法利用viewer视图实例,通过给实例添加地形terrainProvider创建一个world Terrain需要注意,这里要加await
2023-09-08 15:14:51
1158
1
原创 状态码429 请求次数过多的问题
项目场景:提示:这里简述项目相关背景:例如:项目场景:示例:通过蓝牙芯片(HC-05)与手机 APP 通信,每隔 5s 传输一批传感器数据(不是很大)问题描述提示:这里描述项目中遇到的问题:例如:数据传输过程中数据不时出现丢失的情况,偶尔会丢失一部分数据APP 中接收数据代码:@Override public void run() { bytes = mmInStream.read(buffer); mHandler.obtainMessage(READ_DATA, bytes,
2023-07-20 15:20:58
1737
原创 openlayer 加载geoserver发布的矢量瓦片图层(pbf格式)的一些问题。
可以看到这并不是一个真正意义上的feature对象,而是一个renderFeature类型的对象。背景:本来用的是珊格瓦片,但是考虑到矢量瓦片具有更多优势,于是采用了矢量瓦片。
2023-07-05 11:33:37
1368
3
原创 #gis geojson数据源绘制矢量图层VectorLayer
format:new ol.format.GeoJSON() //默认 epsg:4326。由于需要第一时间看到这个图层在页面中的什么位置,所以这里需要做一下fitView。这里进行了报错,好像是#25. 到官网一查才知道,原来是获取不到extent。项目中后端会给geojson格式的数据,然后需要前端这边做矢量图层渲染。由于图层的加载时异步的,所以这里可能拿不到图层的数据。给图层添加事件监听,当加载完成时进行fit。额外的第四步, 将图层位置展示在屏幕中间。第三步,将图层添加到地图容器中。
2023-06-14 17:10:19
332
原创 less全局变量修改
项目用到了antv的a-cascader组件,需求是既要实现下拉懒加载功能和手动输入搜索地址,由于手动输入查询出来的下拉框pop宽度不是100%,故而会在右边显示出多余的空白空间,测试又让我把这个修一下。。没有办法,查看了属性 ant-cascader-menu 没有设置width,然后给设置了宽度,发现存在一些问题。比如 懒加载下拉框和手动输入框会存在差异。于是想到了动态修改这个ant-cascader-menu的值。由于项目里用到了less,
2023-06-06 11:28:22
909
原创 formData格式参数传参
项目里做了一个文件批量导出的功能,前后端联调的时候,前端显示可以请求到数据显示入参格式不对,检查了很久也没发现问题,接口返回200 OK’我没记错的话 一般formData格式是需要上传文件用的,但是为什么后端要用这种格式当入参。,后面后段告诉我需要传formData格式的参数,于是就改为formData格式。最后把 实例fm 传递给请求接口。
2023-05-29 18:19:34
511
1
原创 openlayer加载geoserver发布的wms服务
CQL_FILTER= 过滤语句(sql)将上面的源添加到图层里,如果项目里图层过多的话可以设置zindex,params: {‘LAYERS’: ‘服务图层名字’,url后面可以跟sql_filter进行条件过滤。1.引入瓦片图层和瓦片wms服务源。3. 将图层添加到map。
2023-05-10 12:17:49
1153
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人