
前端
文章平均质量分 66
dreamgis
这个作者很懒,什么都没留下…
展开
-
OpenLayers结合Turf实现空间运算
Turf.js是MapBox公司研发的基于浏览器端的空间分析库,它使用JavaScript进行编写,通过npm进行包管理。Turf 原生支持 GeoJSON 矢量数据。空间运算可谓是空间分析的基础,Turf.js提供了大量的空间分析功能,包含了空间运算功能,本文参考OpenLayers与Turf集成的官方示例,使用示例数据和原生JavaScript,进行求交运算与缓冲区运算,并进行可视化。空间运算利用几何函数来接收输入的空间数据,对其进行分析,然后生成输出数据,输出数据为针对输入数据执行分析的派生结果。转载 2022-09-27 16:24:37 · 1213 阅读 · 0 评论 -
如何在 openlayers3 或 openlayers4 中添加带有动画的新画布
并使用 openlayers4 渲染了一张地图。我想在下一步中将此画布添加到地图 [openlayers 画布]。添加边界,所以我尝试使用 ImageCanvas 添加带有动画的画布,但失败了。:必须知道openlayers3或openlayers4中的。可以使用,但你会得到一个停止的动画,就像截图一样。经过一些尝试,我得到了解决方案!请求地图渲染(在下一个动画帧)。更何况openlayers。方法,有人可以举个例子吗?方法还是尝试其他方法?因此,您可以使用它来。转载 2022-09-17 17:12:58 · 612 阅读 · 0 评论 -
Openlayers中多边形的聚合
关于OpenLayers的Clusterol.source.Clusterol利用这个js对象实现对地图上feature进行聚合展示的控制,所有的features需要被放在一个feature数组中作为ol.source.Vector中features属性进行载入。下面就是官方针对Cluster的API文档:new ol.source.Cluster(options)options: Constructor options.Name Type Description a转载 2022-05-28 17:07:51 · 1894 阅读 · 0 评论 -
webpack集成Cesium自动刷新,热更新踩坑记录
先记录一下原理吧,webpack-dev-server也是调用nodejs的express模块,形成一个http服务器,①自动刷新最底层机制是web-socket和服务端通信,服务端把发生的更新通过json的形式通知客户端。②保存自动编译并刷新很快,devServer将编译后的文件放到内存中,也就是整个服务的资源都是内存中,没有产生磁盘IO,所以很迅速。我一直想手动(不想基于Vue脚手架)搭建一个集成Cesium的自动刷新调试环境,结果死活不成功,A,保存=>Recompiling编译原创 2021-11-04 16:32:56 · 613 阅读 · 0 评论 -
Cesium中的地形和坐标转换说明
1 Cesium中的地形Cesium中的地形系统是一种由流式瓦片数据生成地形mesh的技术,厉害指出在于其可以自动模拟出地面、海洋的三维效果。创建地形图层的方式如下: 1 2 3 4 5 6 7 8 varterrainProvider =newCesium.CesiumTerrainProvider({ url :'https://assets.agi.com/stk-terrain/v1/...转载 2021-10-31 22:07:13 · 1455 阅读 · 0 评论 -
cesium坐标转换2
几个重要的坐标对象:1.世界坐标Cartesian3:笛卡尔空间直角坐标系1new Cesium.Cartesian3(x, y, z)1可以看作,以椭球中心为原点的空间直角坐标系中的一个点的坐标。2.经纬度地理坐标系,坐标原点在椭球的质心。经度:参考椭球面上某点的大地子午面与本初子午面间的两面角。东正西负。纬度 :参考椭球面上某点的法线与赤道平面的夹角。北正南负。Cesuim中没有具体的经纬度对象,要得到经纬度首先需要计算为弧度,再进行转换。3.弧度Cartogra转载 2021-10-31 22:05:25 · 308 阅读 · 0 评论 -
cesium坐标转换
cesium中常用的坐标有两种WGS84地理坐标系和笛卡尔空间坐标系。我们平时常用的以经纬度来指明一个地点就是用的WGS84坐标,笛卡尔空间坐标系常用来做一些空间位置变换如平移旋转缩放等等。笛卡尔空间坐标的原点就是椭球的中心。 在实际应用中用的最多的操作就是(lng, lat, alt)<=>(x, y, z)之间的相互转换,cesiumjs为我们提供了这些转换var ellipsoid = viewer.scene.globe.ellipsoid;var coord_w...转载 2021-10-31 21:59:42 · 988 阅读 · 0 评论 -
nginx解决跨域详解
使用场景:本地运行一个项目,但是要访问外域的api接口,存在跨域问题,解决方式有很多,但我尝试用nginx解决,搜索了网上文章后再加上尝试终于成功, 其中一些注意事项和大家分享一下。一.window下使用nginx重点:掌握重启和关闭nginx的命令1.安装:在官网上选择适合的版本,我选的是window版本的: http://nginx.org/en/download.html,下载安装文件后解压,可以看到这样子:(不用双击nginx.exe)配置文件路径: conf /ngi.转载 2021-10-21 19:30:52 · 6235 阅读 · 0 评论 -
webpack-dev-server一丢丢
webpack-dev-server自动刷新和模块热替换,用了都说好。contentBase:为哪一个文件夹提供本地服务,这里我填写./dist port:端口号,默认为8080 inline:控制页面是否实时刷新。取值为true或false,当为true时,修改了代码后页面会自动刷新webpack-dev-server实现静态资源加载和proxy代理_鸭绒的博客-优快云博客options has an unknown property ‘contentBase‘. These proper原创 2021-10-14 15:03:03 · 292 阅读 · 0 评论 -
Cesium介绍
Cesium是基于 Apache2.0 许可的开源程序,它可以免费的用于商业和非商业用途,它隶属于 AGI(Analytical Graphics Incorporation)公司,三位创始人曾在通用公司宇航部的供职工程师,提供 STK(System/Satellite Toolkit Kit)和 Cesium两款产品,该公司是航天分析软件的领导者,而 STK 则是该公司的旗舰产品,比如 马航MH370 搜救过程就采用了 STK 软件,经过多年来在时空数据的积累,AGI 公司逐渐掌握了大量 3D 可视化技术转载 2021-09-09 18:34:38 · 1041 阅读 · 0 评论 -
ol基础扫盲【02】符号化渲染style
最近在学习openlayers的style,不得不佩服ol的设计太灵活了,很好很强大,也顺便了解了一下其它前端gis的框架,也都很强大,不得不佩服,前端技术已经发展到甩桌面程序几条街的程度。本人学东西,一直都很慢而且容易忘,加上年龄又了,所以很多东西要反复记,所以这次写点下来,给自己看。以前对arcgis桌面版的渲染了解的多些,所以对比了一下两套引擎的设计,发现ol的设计真尼玛简单,所有的渲染都来自var style =new ol.style.Style({}),{}里面可以放任何东西,不像arc原创 2021-05-04 15:37:41 · 389 阅读 · 0 评论 -
js 动态添加、修改css3 @keyframes
一. 效果图效果图二. 需求拖动一个shape,小圆点ball运动位置也变化。三. 技术分析其中运动ball是反复重复一个动作运动,不能使用transition渐变方式写,因为transition只能执行一次渐变效果,重复运动最佳的方式就是采用animation。四. 问题@keyframes写在css中是写死的,此时需要结束js操作@keyframes,那js是如何操作@keyframes呢,下面是我花了一天查询资料加上自己的摸索,解决了兼容IE的解决方案。五. js操转载 2020-11-17 11:45:09 · 5180 阅读 · 0 评论 -
vscode快捷键记录
代码格式化:Shift+Alt+F原创 2020-10-09 15:20:59 · 231 阅读 · 0 评论 -
openlayers踩坑记录【1】
一个点图层vectorlayer,样式用的Text,表达一个事实测量值,会不断刷新变化。以前(没有用到vue框架,很原始的模式)的做法,更新后将新的TextStyle保存到feature里面,然后layer.getSource().refresh(),在functionStyle里面,直接return feat.get('style')。 没有问题,正常刷新。现在的项目用到vue,也不知道跟vue有没有关系哈,只是记录一下环境。套用原来的做法,发现问题,问题1:每当layer.getSou.原创 2020-09-27 18:13:59 · 1702 阅读 · 1 评论 -
openlayers 根据style设置显示级别并在字体加背景框
根据图层的属性字段设置图层显示级别Iconstyle:function(feature,resolution) {var style = new ol.style.Style({fill: new ol.style.Fill({color: 'rgba(241,242,236,0.8)',}),stroke : new ol.style.Stroke({color : 'red',width : 2}),image:new ol.style.Icon(({offset: [0, 0]转载 2020-09-24 14:21:04 · 2470 阅读 · 0 评论 -
js中的 || 与 && 运算符详解
var a = obj || " " ; //如果 obj 为空,a就赋值为 " " ;var a = check() && do(); //如果check()返回为真,就执行do(),并将结果赋值给 a;js中逻辑运算符在开发中可以算是比较常见的运算符了,主要有三种:逻辑与&&、逻辑或||和逻辑非!。当&&和|| 连接语句时,两边的语句会转化为布尔类型(Boolean),然后再进行运算,具体的运算规则如下:1.&a...转载 2020-09-18 17:39:25 · 893 阅读 · 0 评论 -
openlayers 根据style设置显示级别并在字体加背景框
根据图层的属性字段设置图层显示级别Iconstyle:function(feature,resolution) {var style = new ol.style.Style({fill: new ol.style.Fill({color: 'rgba(241,242,236,0.8)',}),stroke : new ol.style.Stroke({color : 'red',width : 2}),image:new ol.style.Icon(({offset: [0, 0]转载 2020-09-16 15:12:01 · 1648 阅读 · 0 评论 -
js实现获取两个日期之间所有日期的方法
<script>function getDate(datestr){var temp = datestr.split("-");var date = new Date(temp[0],temp[1],temp[2]);return date;}var start = "2012-3-25";var end = "2012-4-3";var startTime = getDate(start);var endTime = getDate(end);...转载 2020-09-14 10:53:45 · 1491 阅读 · 0 评论 -
VUE中数组更新后,页面没有动态刷新问题
转自:https://www.cnblogs.com/Super-scarlett/p/11132034.html最近使用vue开发时,在一个函数中使用for循环,改变了页面中的数组,在函数中查看是修改成功的,但是页面中没有动态刷新。在Vue的官方文档有提到这样一个注意事项:数组变更检测注意事项:由于 JavaScript 的限制,Vue不能检测以下数组的变动:当你利用索引直接设置一个数组项时,例如:vm.items[indexOfItem] = newValue 当你修改数组的长度.转载 2020-09-01 16:42:46 · 2021 阅读 · 1 评论 -
vue,elementui——table表格中的:formatter属性
vue,elementui——table表格中的:formatter属性:formatter 常用来格式化内容Function(row, column, cellValue, index)使用:script 导入moment并定义:import moment from ‘moment‘export default {name: ‘Notices‘,data () {return {…}},methods: {// 格式化日期dateFormat(row, column) {转载 2020-08-07 16:54:59 · 4554 阅读 · 0 评论 -
ElementUI 中 el-table 获取当前选中行的index
第一种方法:将index放到row数据中首先,给table加一个属性::row-class-name="tableRowClassName"然后定义tableRowClassName函数:(tableRowClassName可以自己改名)tableRowClassName({row, rowIndex}) { row.row_index = rowIndex; }然后给表格添加:@row-click = "onRowClick"onRowClick (row, e...转载 2020-08-04 19:43:34 · 25246 阅读 · 0 评论 -
dom事件mouseenter、mouseleave
https://api.jquery.com/mouseout/https://www.runoob.com/htmldom/htmldom-events.html原创 2020-05-08 16:46:50 · 470 阅读 · 0 评论 -
【转】eslint报"Extra semicolon"错误的解决
在.eslintrc.js文件中修改rules。以下方法亲测有效。使用 vue-cli 构建的项目,模版是 webpack ,默认的 eslint 配置是以 standard 为基础的,要求是不使用分号。如果我们希望要使用分号,则在 rules 字段增加配置:'semi': ["error", "always"]这样,你的 js 代码每一个表达式的结尾就应该以分号结尾,否则 ...转载 2020-05-03 21:58:10 · 1830 阅读 · 0 评论