- 博客(30)
- 收藏
- 关注
原创 windows使用celery报错celery.exceptions.TimeoutError: The operation timed out.
今天研究这个也弄了比较久,最开始是没有往系统这个方向上去想。后来发现在windows上启动的方式和mac和linux这种不一样。
2024-05-05 14:41:21
218
原创 解决报错Django exception: decimal.InvalidOperation: [<class ‘decimal.InvalidOperation‘>]
然后就报错:Django exception: decimal.InvalidOperation: []因为我这里就是一个简单的经纬度,所以我直接更改也没有什么太大的影响,只要能出正确的经纬度就行。如果的确是需要确保使用decimal,可能就还得想其它的方法了。我用的是PostgreSQL+postgis,里面存储的是很多的点数据。如果我这种方法有什么问题或者有更好的解决办法欢迎在评论区留言!就是一个很简单的返回数据的方法。
2023-11-30 00:30:42
1036
原创 Cesium实现掩膜效果
1、优化了一下边界线的生成,从entity改为了primitive,应该对性能会有所优化。也不用担心点击边界线弹出infoBox,感觉获取边界线的情况应该还是比较少的。我目前只测试了全中国和陕西省这一块,如果运行不了或者还有什么其它的问题的话可以评论区留一下言。如果有更好的优化性能的方式也欢迎留言告诉我一下。2、考虑到多面体的情况,比如上图中的西安,就会出现飞地。代码中我改了一些,有的没有用到的变量可以自行删除。想更改具体的使用地点的话就复制对应的url就行。
2023-11-21 17:19:29
1462
1
原创 Vue3+Vite+TS引入cesium
我这里是用的Vue3的一些模板,所以没有考虑样式,如果是自己写的话,记得给容器添加相应的宽高。,写下这篇文章,算作整理一下引入的过程,但是具体的细节就不做过多赘述了。我是指定了版本,具体要不要指定大家根据自己的实际情况决定即可。
2023-11-20 11:13:44
1249
1
原创 Cesium绘制矩形并添加动态围墙效果
我设置50的原因是发现大部分时候绘制的区域范围并不会太大或太小,但是这仅仅是一种折中的解决办法。面积如果很小,围墙就会很高。如果想绘制多个围墙但是不清除之前的可能就得自行研究一下了,最开始的时候也是可以实现的,只是我觉得GIS中似乎很难在一个上绘制那么多的区域,所以就把这个功能去掉了。),那么只需要将几何体实例的最低生成高程设置为当前所选范围的的最低高程,最大高度设置为比最大高程高一些,就不会再出现遮盖的问题。代码中绘制的部分是参考了网上的其它代码的,我就不做过多赘述。
2023-10-02 12:05:37
780
原创 arcgisforjs最近点查询和解绑View的监听
需求是:一个图层有十几个点,用户在地图上随机点击一个点,查询出在这个图层中距离用户点击处最近的点,查询出后将查询出的点添加到地图上展现。关键就是geometryEngine,我之前一直以为是要用Query才能实现查询。然后是事件的解绑,这个没有什么好说的。
2023-08-17 22:46:01
253
原创 arcgisforjs添加glb模型和清除小部件
官网上有相关的案例,但是官网上的是需要用户手动去点击地图才能进行添加(目前我看到的是这种类型)。我的需求是地图一加载就自动添加到地图上,无需用户再次手动点击。代码中的$xxx都是我防止vue规避监听的作用,具体可以参考我的另外一篇关于cesium的文章。要清除小部件,我以legend举例。
2023-08-15 16:35:41
213
原创 解决报错The URL must be of scheme file at xxx\vite.config.ts
这个错误其实根本的问题在于node的版本。我之前的版本是:node 16.15.x,后来将node的版本降低到了16.14.2,然后直接指定了pnpm的版本为8.0.0,就可以直接运行了。我并没有更改任何的vite.config.ts的代码,完全就是默认的情况。出现这个报错也让我困惑了很久。我并不清除这个报错是否还有其他的方法可以解决,但是我今天亲测更改node的版本是可以使用的。网上去查可以发现有人说是要用pnpm安装,有人说是要安装vscode的插件,其实都不是。
2023-07-07 00:53:10
1174
1
原创 Vue使用arcgis for js加载天地图(二三维)
刚刚我就是没有注意这个问题,使用了vec_c的,那个是经纬度投影,所以一直报错,说我的layer加载不上去。偏偏那个报错还就在说我的是4490(天地图的),而view的是102100(应该是esri默认的),弄了很久。(二维的情况),记得也要使用好正确的投影坐标系,不然也会出问题的。我这里就直接上完整的小Demo了。创建Vue项目啥的就不说了。直接说标题怎么实现。
2023-05-01 21:56:53
1120
2
原创 Cesium加载geojson并更改其材质
看上去似乎没什么问题,运行之后代码并不会报错,也没有警告信息,但是就是出不来。而且是直接完全消失的那种。不论如何设置show:true都没有用。甚至重新调用viewer.entities.add都无法展示。今天碰到这个需求,在网上找了一大圈,发现就是使用了GeoJsonDataSource方法后遍历其的entities,然后修改材质即可。有兴趣的可以看一下。
2023-04-12 17:07:21
789
原创 elementui级联选择器设置不可选且及时更新
也确实能实现视图的更新,但是每次更新的时候选择器的下拉框就会消失,需要重新打开再重新选择。比如我今天就遇到一个问题:比如先选择中国的GDP、人均GDP和城镇化率,然后取消选择城镇化率和人均GDP,当再次选中人均GDP的时候,handleChange事件不会触发。首先我的需求是级联选择器最多只能选择3个值,如果选了3个就让所有的全部禁用(除了已经选择的),因为后续需要取消选择。,使用这种方法不仅可以让视图进行及时的更新,也不会出现之前的奇奇怪怪的问题。然后每次更新的时候重置一下这个cascaderKey。
2023-04-02 22:23:17
1203
原创 Cesium重复添加geojson
2、如果使用深拷贝,不论是递归拷贝还是有点受诟病的JSON.stringify,当再一次初始化viewer的时候,就会出现重复初始化的问题。在vue2中当我切换组件且viewer被重置的情况下,能够保留在切换之前已经添加的geojson数据,在新一次初始化viewer的时候将之前添加的面重新加回来。2、如果输出这个forEach中的entity,它确实长得很像能够正常添加的那种,很容易受到干扰。简单的说就是遍历它的values时,使用viewer.entities.add(xxx)是无法加载的。
2023-03-19 20:50:57
537
原创 windows上GeoDjango安装
然后就可以按照官网所说的进行环境的配置,但是此时因为不区分32位和64位了,可以直接在控制台中输入以下即可,记得用。如果在windows上按照官网所写进行安装,就一定要注意自己的版本问题!下一页就会让你选择网址,我这里可以直接选择第一个,如果不行的话就可能要想一些"其它的"办法。但是很可惜的是,目前以前的版本已经不提供下载了。就去检查你的版本,不论是python还是gdal都要检查。在这之后它让你下什么就下什么,一直到最后安装完成就行。已经不区分32还是64位的版本了。然后安装的界面也不是官网所说的选择。
2023-03-11 14:42:39
418
1
原创 Cesium实现动态绘制轨迹线
听起来似乎对性能要求更高了,但由于primitive使用更底层的方法进行绘制,就算这样进行绘制,对性能的要求也要远远低于之前使用entity的那种方法。至少我现在可以让我的轨迹线正常绘制,只是在距离比较长后还是有一点点的卡帧,不过也还处在可接受的范围内。这样的一句代码,能够直接改变线的位置和经过的点。刚开始的时候想要使用的是entity的画线方法进行轨迹线的绘制,如果数据量不大,应该是可以实现的。但是我使用这种方法的话,虽然代码层面并不会报错,但是不要说轨迹线的绘制了,整个模型的动画都会卡死。
2023-03-07 17:05:13
11259
6
原创 输入经纬度批量查询高程
在上面的代码中,我直接使用的就是Cesium开发包里面的HelloWorld.html,是没有用到nodejs的环境的,也就不存在使用fs模块将数据写到文件。在这提供一个思路:将heights这个数组转换成csv文件,然后使用a标签,只要点击a标签就可以下载一个csv文件,这个文件里面也就保存了所有经纬度对应的高程值。如果发现启动后找不到这个a标签就直接使用开发者模式,肯定是可以找到a标签的,直接点击就可以下载一个data.csv文件。而一旦有了csv文件,处理起来就方便多了。话不多说,直接上代码。
2023-03-07 16:40:40
2021
原创 Vue2解决cesium动画卡顿
而且我发现,虽然添加实体的方法中的this依旧指向组件实例对象,但是卡顿问题已经完美解决了。在这我陷入了一个误区,我开始尝试将ShowFly方法中添加实体的代码的this变成undefined。于是我将ShowFly的调用改成了一个箭头函数,其实这在vue2中是很不推荐的做法。而我输出了箭头函数的this,发现是undefined。改正之后发现确实添加实体代码的this变成了undefined,但是依旧避免不了卡顿。我这里说的动画卡顿的原因是有过多的entity,导致加载非常缓慢且出现卡帧情况。
2023-02-28 12:33:28
3147
1
原创 Cesium实现分屏联动
主体思路就是:当鼠标移入左边的div时,利用cesium自带的api监听鼠标的移动事件,然后获取此时左边的视角,将右边的视角与左边的设置为一致。移出div时就将之前绑定好的关系解除。至于展示的动图里面点击HomeButton会有一小段没有处理我就只能等之后在慢慢看看怎么解决了。因为我用的时vue,所以在这个组件中运用了一些“全局”变量,方便我在不同的函数中进行调用。就是两个div标签用来初始化两个地球,同时监听了鼠标的移入和移出事件。当鼠标移动到右侧的div时也是同理。使用的方法也在代码块里了。
2023-02-26 01:01:32
2056
1
原创 Tomcat9启动闪退
一定要注意这个JRE Home,如果在1.8中,它会有一个默认的jre文件夹,但是在17中是没有的。网上有很多的教程可以告诉你怎么生成这个jre文件夹,生成也非常简单,基本不会出错。但是如果设置这个路径到那个jre文件夹下就会报错。主要问题是在cmd中输入start.bat时黑屏一闪而过(已经提前cd到相应bin目录下),且不是双击闪退。如果有的话,可以在cmd(管理员)模式下sc delete tomcat9,然后再重新安装即可。正解应该是设置到17原本的文件夹就可以了。
2023-02-11 11:39:29
983
原创 org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component解决
同样还需要注意的是Tomcat的版本。我使用的是Tomcat9,之前也用过7、8、10,但最终还是选择了9。Tomcat版本最好也多注意一下,说不定什么时候就给你冒出个奇奇怪怪的问题。按照上面的图中的版本对应关系更改自己的,最后应该都是能够成功的。如果报错的时候是一些奇奇怪怪的问题,不妨先考虑一下自己的版本有没有问题。这个问题就是因为JDK版本和Spring的版本冲突导致的。我使用的是JDK17,版本比较高,需要相应的包进行支持。最后再附上一下maven中央仓库的地址,也许能用上。
2023-01-12 17:42:59
3638
原创 Three.js点击地图动态标注
首先肯定是创建射线,获得你点击的那个区域,同时在生成地图本身的时候就给mesh对象添加上相应的mesh和center,这里我用的都是各个行政区划的省会。在每一次点击的时候都对上一次点击的相应对象进行移除,保证在整个画面中都只有一个棱柱、标签和光圈。实现这种效果也借用了很多别人的代码,这里我就只说动态添加怎么来的。然后就是当点击的时候给对应的位置添加上光圈和棱柱还有标签。
2022-12-01 15:25:52
2041
2
原创 gdal转化坐标报错:NotImplementedError: Wrong number or type of arguments for overloaded……解决
错误如上图,在本地直接运行时不会报错,但是使用django发送ajax请求到后台获取一样的数据的时候就会出错。问题原因很简单:使用request.GET获取参数值的时候为str类型,但是在直接定义的时候会是float类型。这样在传递参数的时候就会因为类型问题出现报错。解决方法:lng = float(request.GET['lng']),同理lat也是,这样就可以解决问题了。补充一句:当你使用了gdal中的xxx = ReadAsArray()方法且需要返回JSON时记得使用xxx.t..
2022-05-29 00:57:44
1050
原创 geotiff.js的初步使用
目前大部分对于tif栅格数据的处理应该都是使用的gdal,但是geotiff.js可以在一定程度上替代gdal。本篇主要讲述geotiff.js应该如何起步。首先geotiff在JSDoc: Home上有入门的示例,但是我在使用的时候经常会失败,不知道是node的环境没有搭配好还是其它地方出了差错。第一步要先cd到你的根目录下面使用npm install geotiff(先确认你拥有node.js的环境),在这之后如果直接使用官网的例子有可能会报错。第二步可以根据我下面的代码更改你的引入方法,在
2022-05-27 16:25:34
2885
2
原创 node中require踩坑
今天几十分钟,总是遇到报错ReferenceError: require is not defined,在网上找了很多资料都没有解决。最后发现,文件后缀名写错了!我写的.html然后用live server打开的,实际上要用node xxxx.js来运行!大家有遇到这个错误的时候可以先第一时间检查是不是跟我一样犯了个低级错误!!!发出此篇文章,引以为戒。...
2022-05-23 00:38:02
788
原创 cesium加载3dtile并将geojson进行叠加(保姆级教程)
这段时间一直在研究这个问题,今天终于是解决了,受到了很多人的帮助,不然可能还要很久才能摸索出方法。在开始之前,我们假设你已经知道了cesium的最基础的使用方法,比如下载cesium,启动cesium等。好了,步入正题。首先你除了需要准备cesium的那些源码文件外还需要:1、相应的osgb文件和dwg文件(本篇文章以这种为例)。2、Qgis软件。3、cesiumlab。4、arcmap软件。分为两个部分进行操作:1、对dwg文件的处理:使用你的arcmap打开dwg文件,将dwg格式转
2022-05-18 01:01:36
2858
原创 xftp连接windows10本地上安装的ubuntu18虚拟机
在开始一切之前,先请确保你的虚拟机能够使用ifconfig指令查看到你虚拟机的IP地址。因为我用了virtual box,所以要先调整你的虚拟机的网络设置。具体步骤如下:1、打开virtual box,点击设置。2、点击网络,选择连接方式为桥接网卡。注意:下面这个界面方式可能不止一种,我选择的这个是我电脑上3个中的最后一个,如果选择第一个我的虚拟机会直接断网。这里可以稍微注意一下。配置完成后直接启动虚拟机,打开终端,输入ifconfig命令,出现下图,红色方框的位置即为你的虚拟机的IP.
2022-05-10 19:27:31
1660
原创 在ubuntu18上部署django项目
最近几天一直在研究这个事情,最终还是成功部署了,在这分享一些使用的经历和遇到的一些坑,希望能够帮助有需要的人。首先推荐一个软件:xftp,本人亲测非常好用,如果对git不是很熟悉,又想把windows本地上的文件上传到云服务器端的话,用它准没错,而且界面非常清晰,对后续的部署拥有很大的帮助。包括后文说的up主是用的git,我用的是xftp,亲测可以替代,也能够正常部署。我用的云服务器是阿里云,系统是ubuntu18。本地是windows10,django的本地运行环境是python3.7,因为ubu
2022-04-28 10:01:41
4221
1
原创 Ubuntu18更新python3.7
萌新一枚,因为想把本地的django项目弄到云服务器上(本地是3.7的环境),就想在阿里云Ubuntu镜像下更新python3.7,刚开始使用的是Ubuntu16,弄了好久,总是报错没有python3.7,在网上看了一大堆的教程,要求使用命令sudo add-apt-repository ppa:deadsnakes/ppa然后用 apt-get update再之后 apt-get install python3.7不知道大家的Ubuntu16能不能行,至少我今天晚上一直都没有弄出来。其实可以看
2022-04-26 22:48:28
2172
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人