自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

此爱如少年

GIS技术研究笔记

  • 博客(66)
  • 资源 (10)
  • 收藏
  • 关注

原创 GIS小技术分享(一):python中json数据转geojson或者shp

将数据转给geojson。转shp可以调整to_file方法的驱动参数。转为geojson,在QGIS中验证。2.输入数据(path字段,线条)

2023-10-13 23:43:37 2452

原创 d3入门练习系列(三)绘制svg基本形状

如果你对svg绘图比较熟悉,那么通过d3绘制svg格式的基本形状,如线段、折线、多边形、矩形等等,将非常简单。如果你不熟悉svg绘图,也没关系。举个例子:如下代码表示一个圆心在(25, 75)半径为20的圆:。一分钟的功夫,你就大概了解。废话不多,直接上代码。基本上就是创建一个形状标签,然后通过attr方法将相应的属性及属性值加上去就OK。

2023-04-09 21:29:55 1141

原创 d3入门练习系列(二) 背景色渐变

实现页面从白色背景过度到蓝色如果只想改变某个div的背景色,只需要修改d3.select就可以了。想类选择器和ID选择器那样使用。

2023-03-27 22:41:29 632

原创 d3入门练习系列(一)绘制四边形

d3是一个非常好的可视化框架,有时可以弥补echarts、openlayers等框架难以解决的问题。下面一起简单学习下。

2023-03-26 19:01:07 437

原创 openlayers中更简单的加载wfs服务的方式

注意:这时 bbox是放在CQL_FILTER参数里面的。即可以通过createXYZ生成瓦片区域,然后传到url函数里面,通过bbox参数加到url地址上。在之前我介绍过openlayers中通过wfs服务加载矢量数据的方法,通常我都是按照这种方法来使用。在翻看openlayer官方示例后,发现其实还有其它的方法。如果要加属性查询条件,可以给url上带上CQL_FILTER参数。openlayers中更简单的加载wfs服务的方式。直接给出url来加载。

2023-02-09 09:19:33 1983

原创 VMware虚拟机搭建安装MacOS13及开发环境搭建

终于把macOS13虚拟机安装好了,比起上次安装macOS10,这次走了很多弯路。先说我遇到的问题。刚开始我要开发App,然后之前按照的macOS10,在appStore中无法下载xcode。于是我利用系统更新升级了macOS到13,系统升级一路顺利。但是升级完后再启动时,出现五国语言画面,然后就是自动重新,再出现五国语言,如此重复。试过网上的各种方法,下载运行解锁工具,修改vmx文件等,都没解决问题。无奈之下,卸载原来的VMware player虚拟机。

2023-01-15 15:06:13 16407 5

原创 linux 安装配置git

2. 配置用户名和邮箱这里global是配置全局用户名和邮箱,去掉–global参数,可以为当前目录的仓库单独配置用户名和邮箱。完了可以使用下面的命令查看配置3. 配置SSH3.1 生成SSH密钥这将使用提供的电子邮件作为标签创建一个新的 SSH 密钥。ed25519是一种密码算法。运行后依次需要输入密钥文件名、密钥密码和确认密码。可以直接enter,使用默认的。我这边是给出了文件名.3.2 将SSH密钥添加到ssh-agent如果不进行这一步,直接跳到下面第三步,将不能使用ssh访问gi

2022-06-29 16:14:08 939

原创 window下登录阿里linux云服务器及ssh登录配置

我们在购买并配置好阿里云linux服务器后,怎么登录云服务器。阿里云控制台提供了在线登录服务器的几种方式,但是个人感觉在网页中登录服务器不是很好的选择。以下看下我们从window系统中登录服务器的一些方法和配置。如果你的window系统不支持ssh,可以安装一个ssh客户端。win11自带OpenSSH客户端。然后输入密码进行登录。这种方式登录云服务器非常方便,但是密码方式可能被暴力破解。使用密钥登录之前,我们首先要生成密钥对。然后将密钥对中的公钥,放在云服务器上,私钥放本地,然后从本地登录。创建密钥对

2022-06-02 10:19:46 2853

原创 前端开发中处理csv数据,也许你可以试试这个方法

前言在前端开发过程中,经常会用到一些静态的csv数据,最普通的处理方式就是把数据包含在自己的项目中,跟随项目统一部署到服务器,使用时直接去请求服务器的csv数据。但是这样处理有几个劣势:前端拿到的都是明文数据,可以在控制台中直接看到,数据保密性差。冗余数据比较多,数据体积相对比较大。关于数据冗余,举个例子:如这里有一个学校1000个学生的基本信息。每个学生的基本信息中,有性别、有年龄、有班级、有所在地等等。姓名,性别,年龄,班级,所在地王二小, 男, 13, 一年级3班, 福田区张三丰,

2022-05-16 21:30:32 1410

原创 element-ui 表格边框的动态切换并防抖

文章目录需求实现过程解决抖动抖动原因解决抖动的实现过程再优化需求需求是这样的:先前的需求,要求表格按UI设计图来,表格无边框。新来的需求,要求能支持表格列宽的能够支持拖动。按照官网,table组件的border属性,设置为true时可以显示边框。有了边框才能拖。但是显示了边框,与之前的需求相悖。同时,既然显示边框有属性border支持,那么动态的更新border的值,应该就可以实现显示表格边框的动态切换。基于此思路,采用比较折中的办法:默认状态下不显示边框当鼠标移动到表格头部时,显示

2022-03-17 08:34:39 2406

原创 利用Openlayers4实现地图遮罩效果(三)

文章目录前言完整代码效果代码解读完整项目代码(含测试数据)前言之前写的关于利用openlayer创建遮罩的文章(原文),那篇文章主要是讲如何创建一个四周遮罩(即四周外围遮罩但露出目标中心区域)。后面有很多同学在留言,说按我的方法,遮罩出不来或者运行报错,甚至私信在线求解。的确,那篇文件的代码确实写的有一些漏洞,因为是作为示例给大伙演示,追求简单,希望大家明白实现原理,而没有对输入数据、地图坐标系等这些依赖用户环境的问题,进行统一处理。但是大伙在使用时,生搬代码,就很容易出错。因此,今天抽空升级下之前

2022-01-29 09:44:08 3564 7

原创 如何快速将openlayers6官网示例本地化

openlayers官方提供了很多示例,非常值得阅读学习。但是在学习过程中,如果光只是看它的代码,简单一些的示例还好,遇到复杂的示例,我们势必要通过代码调试工具,才能更加具体的了解到其背后的逻辑。目前,openlayers3、openlayer4、openlayer6官网示例页面都提供编辑功能,点击页面上的Edit可以打开在线编辑器,去编辑修改代码。openlayers5示例页面没看到Edit。在线编辑器虽然很方面,甚至不用注册也可以用。但偶尔会受网络的限制,甚至无法打开。从openlayrs5开始,

2021-11-10 17:59:38 894

原创 开源的前端GIS空间分析库介绍 (三)turf与ol结合

前言turf是mapbox出品的前端空间分析库,管网:http://turfjs.org/turf库中包含的空间分析计算功能比较多,也非常简单易用。相比于jsts,turf的官方文档维护的非常好,非常利用学习。turf读写数据采用的是标准的geojson格式,所以在余其它webgis的库做交互时也非常方便。接下来看下openlayers(简称ol)与turf结合使用的方法。安装和引用turf的安装引用可以参考《开源的前端GIS空间分析库介绍 (一)jsts与turf》openlayers的安

2021-10-04 21:43:20 3423 2

原创 nginx中部署vue项目

文章目录前言启动nginx服务部署Vue项目1 部署到根目录1)vue配置2)nginx配置及部署3)路由模式及地址匹配history模式hash模式2 部署到子目录1) vue配置2)nginx配置前言nginx是一个高性能的HTTP和反向代理web服务器。作为Web服务器,nginx处理静态文件、索引文件以及自动索引效率非常高。启动nginx服务nginx浏览器中输入: localhost:80说明服务起来了。部署Vue项目下面的示例,前端Vue项目使用Vue CLI3创建1 部署

2021-08-04 22:12:44 10319

原创 开源的前端GIS空间分析库介绍 (二)jsts与ol结合

openlayers是一个偏重量型的前端GIS可视化类库,但是它基本上不具备空间分析运算的能力。举个例子,比如:1、判断线与线是否交叉2、线是否穿过多边形当然,它还是具备了一些简单的空间运算能力,比如geometry对象...

2021-06-09 22:09:16 1335

原创 开源的前端GIS空间分析库介绍 (一)jsts与turf

文章目录1 前言2 JSTS3 turf4 安装使用4.1 jsts4.1.1 直接引入4.1.2 NPM4.2 turf4.1.1 直接引入4.1.2 NPM5 空间分析5.1 判断是否包含5.2 判断是否交叉5.3 判断是否重叠5.4 缓冲6 体积和性能6.1 体积6.2 性能6.2.1 jsts在node端6.2.2 jsts和turf对比1 前言通常,提到GIS的空间分析,我们会联系到ArcGIS,QGIS等这些GIS软件。这些工具软件,在空间处理能力方面,非常强大,是我们处理空间数据的非常有力

2021-04-28 14:46:35 5631

原创 openlayers调起WFS服务进行增、删、改操作及相关问题汇总

前言openlayers中提供了通过wfs服务操作后台数据的方法,对应的方法为ol.format.WFS类的writeTransaction方法。以下通过简单的示例来了解下。示例中的wfs服务来自geoserver一、简单示例-1、通过wfs服务获取数据// 服务配置,命名空间、图层、服务地址等var geoserverData = { wsName: 'topp', uri: 'http://www.openplans.org/topp', wfsURL: 'http://loca

2021-03-09 22:35:08 5352 2

原创 numpy模块数据操作

前言前段时间因为要用python进行大量的数据可视化,在数据处理方面,选用的numpy模块进行操作。现将其中用到的一些numpy操作进行整理分享。文章目录1.numpy读取csv文件1.1直接读取1.2 中文乱码处理1.3 跳过首行1.4 以float类型打开1.5 也可以打开格式化的list1.6 指定每列的数据类型1.7读取指定列2. 数据操作2.1数据切片2.2 转换数据类型2.3 组合2.4求极值2.5 生成等步长的数组2.6 构造矩阵2.7 加减乘除运算2.8 三角函数2.9 求和2.10 求

2020-08-29 19:12:24 1384 3

原创 基于Arcpy实现对MXD文件中图层数据源的批量更新

1、常规方法ArcGIS中批量更新数据源一般可以在ArcCatalog中进行,如下图:通常情况下,我们的mxd数据源从一个文件夹或者数据库, 迁移到另一个文件夹或者数据库,数据根目录发生了变化,图层名并没有变化,可使用此方法。2、基于Arcpy偶然也有一些特殊情况,如老的数据源和新数据源均在同一数据库,但是图层名称有变化,通常有经验的老GISER会用一些前缀或者后缀来区分新老数据。这个时候,如果要更新数据源,可参考下来方法。以下代码实现:1、getTabList方法获取SDE连接中第一个数据

2020-06-05 23:18:10 3297

原创 基于Arcpy实现批量导入shp文件到SDE数据库

1、需求描述:1、实例shp文件批量导入SDE数据库2、如果数据库中存储同名表,执行追加操作;否则执行删除操作2、功能实现import arcpyimport os#sde连接sdeConnStr = 'Database Connections/sde.sde'#追加的文件所在目录appendShpsPath = r'D:\grid\shp'#追加方法的参数schemaType = 'NO_TEST 'fieldMappings = ''subtype = ''if na

2020-05-31 14:54:24 1421 1

原创 基于ArcPy实现批量备份及删除SDE数据表

1、需求描述:1)批量的操作SDE数据库表2)保险起见操作前先备份3)操作遵循一定的规则2、以下代码实现以下功能:1)查找SDE数据库中表名的以SDE.hb_01、SDE.hb_02开头的表2)将查找到的表备份为shp文件3)查找每给表中满足固定条件的行,然后删除4)如果有异常,输出异常信息import arcpyimport os,sys,timesdeConnStr = 'Database Connections/sde.sde'bakPath = r'D:\gisDataBa

2020-05-27 22:17:20 663

原创 vue项目中在openlayers地图上展示echarts图表

思路:1、创建一个地图组件mapView,使用openlayers进行地图展示2、创建一个图表组件chart,用于呈现图表3、创建一个overlay组件,在模板中使用chart组件;利用openlayers的ol.Overlay类来把overlay组件添加到地图上。示例代码1、数据以这次新冠病毒数据为例,这里是今年2月份全国新增新冠肺炎患者的数据(数据源来自百度),分为全国的新增数量和...

2020-03-07 22:47:15 2597 10

原创 vue cli工程中的本地数据接口

1、常规请求使用Vue CLI新建的项目中,我需要使用本地数据进行测试,于是写了下面的数据请求: let url = '/src/assets/city.json' fetch(url).then(response => { return response.json() }).then(data => { conso...

2019-11-03 21:45:31 652

原创 Vue CLI脚手架使用笔记

文章目录前言1、安装vue、vue-cli1.1安装vue1.2 安装vue cli2、项目开发2.1 创建项目3、跑起来4、添加自己的组件4.1 定义组件4.2 修改路由配置4.3 修改App模板前言本次操作实例各软件版本如下:1、Node: v10.15.02、npm:6.4.13、webpack:4.41.24、@vue/cli:4.0.51、安装vue、vue-cli1....

2019-10-27 22:23:48 1105 1

原创 Vue结合Openlayers示例

文章目录1、简单示例1.1创建一个mapView组件1.2 创建一个Vue实例,并注册mapView组件1.3在页面中应用2、地图配置3、npm 构建3.1 安装openlayers3.2 在mapView组建中导入相关模块1、简单示例先看下以引入< JavaScript >的方式的使用方法1.1创建一个mapView组件mapView.jsexport default {...

2019-10-19 11:13:58 9037 2

原创 一个linux小白的ubuntu server系统之旅(五)远程工具

声明:本系列文章所使用的系统版本为: Ubuntu Server 18.04.3 LTS一般情况下,作为服务器系统,linux系统都运行在机房的服务器上,我们不能像使用PC那样直接使用,而是需要通过远程连接到终端进行操作。在windows系统上,有远程桌面可以用来登陆位于机房的远程windows服务器,但是如果要登陆的远程服务器系统为linux,则需要借助一些远程工具。我这里接触的第一个远程工...

2019-09-15 17:40:35 495

原创 一个linux小白的ubuntu server系统之旅(四)应用安装

声明: 本系列文章所使用的系统版本为:ubuntu server 18.04前面总算把系统网络配置整好,下来该来安装应用软件了。1、更新系统默认源使用系统默认的源来安装软件,在国内实在太慢,所以先更新以下。1)国内源:阿里:deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiversed...

2019-09-15 12:36:17 232

原创 一个linux小白的ubuntu server系统之旅(三)网络配置

文章目录1、走的弯路2、 网络问题排查3、再尝试,这次终于对了1)创建虚拟交换机2)修改虚拟机网络适配器3)netplan配置3、小结1)网络配置2)网络桥接3)本节用到的linux命令经过前面的摸索,顺利的安装了ubuntu系统。但是怎么用呢,这有时又是摆到面前的一大难题。首先,应该要安装需要用的软件,linux系统好像都是采样包管理器来管理应用,有类似想Python的pip或者node的n...

2019-09-08 23:58:09 1907

原创 一个linux小白的ubuntu server系统之旅(二)ubuntu server系统安装

文章目录1、安装前1)概述2)要求2、系统安装1)启动安装2)选择语言3)键盘布局4)安装内容5)网络6)存储配置7)选择设备8)确认分区9)确认更改10)设置个人资料11)安装软件12)安装完成系统版本: Ubuntu Server 18.04.3 LTS1、安装前安装直接,应该先了解的信息1)概述2)要求2、系统安装1)启动安装由于是从虚拟机进行安装,所以在第一次启动系统时...

2019-09-08 11:30:40 550

原创 一个linux小白的ubuntu server系统之旅(一)虚拟机

一 、前言做开发也已经有好几年了,经常需要部署一些第三方应用到服务器上,在服务器操作系统选择方面,一般情况下,如果有得可选,都会选择windows系统作为服务器操作系统,其实时自己的linux系统技术短板。偶尔遇到甲方只提供了linux系统时,个人技能就受到严重考验了。所以,逃是逃不过,不如趁年轻,赶紧去学习这方面的技能。由于是打算自学linux系统,没有现成的linux系统给你用,所以先...

2019-08-31 19:46:35 513

原创 openlayers2实现图层要素单击事件

openlayers2已经越来越少用了,但是由于一些老项目要维护的原因,偶尔还是要使用一下。经常不用,一些功能使用方法难免会生疏,所以最好趁着新鲜写下了。这次要实现的是在矢量图层上单击选择要素事件,示例代码如下:1、实现过程1)初始化地图先进行地图初始化,并定义了一个名为vectorlLayer的矢量图层。var map;var vectorLayer;//这此示例操作的图层func...

2019-08-26 23:33:37 4293

原创 openlayers中巧用canvas滤镜,自由切换你的地图风格

前言高德地图、百度地图等等图商现在都提供一些自定义地图风格,用户可以自己设计地图样式,这样使得地图使用灵活了很多。百度地图个性化编辑平台高德地图自定义地图从openlayers3开始,其底层渲染从SVG切换到了canvas,据说渲染效率提高了不少。在canvas上,我们可以实现很多比较炫酷的可视化操作,如之前的空气质量态势图、动态风场等等。...

2019-08-21 22:27:23 5763 19

原创 分享自己最近做的一些前端地图可视化作品

1、动态风场核心算法来自网络上的leaflet风场插件,加以调整,迁移到openlayers地图中。2、空气质量渲染3、流线

2019-08-08 22:03:37 2559 4

原创 openlayers图层开关控件

openlayers2自带图层开关控件,但是自openlayers3后,不再有这个控件。但是,当了解了openlayers控件开发后,我们可以自己实现这个控件,实现起来也非常之简单。不多说,先看下结果:1、目标1)图层开关: 在控件上选中图层,对应的图层显示;取消选中,对应的图层关闭;2)图层增删联动: 当map中的图层有增删时,控件随之改动。2、控件开发1)继承图层开关控件类:ol...

2019-07-27 20:50:53 2194

原创 openlayers实现自定义绘图控件实现类似ArcGIS绘图工具条

接前一篇《》,绘图功能虽然实现了,但是仅仅开发到这里,做Demo还行,如果要应用到项目中,显然是不太灵活,因此,将绘图功能封装到控件中,作为工具,将更有利于我们来使用。文章目录1、ol.control.Control类2、需求3、代码实现1)、继承2)属性方法3)按钮样式4、结果先来看下openlayers自带的控件。1、ol.control.Control类openlayers中所有控...

2019-07-13 14:12:02 2398

原创 openlayers绘图功能实现画点、折线、圆、多边形、矩形

绘图是webgis前端开发中很多见的一个需求,在openlayers中,包含一个ol.interaction.Draw类,提供交互式绘图功能,用起来较为方便。1、ol.interaction.Draw类ol.interaction.Draw是openlayers交互式操作中的绘图操作类,支持绘制常见的一些几何图形,如点、折线、多边形、圆、矩形等等。先来看下实例化一个Draw类的参数。这里重...

2019-07-13 10:58:52 11055 12

原创 基于leaflet的反距离权重插值插件的地图数据可视化

1、概念反距离权重 (IDW) 插值显式假设:彼此距离较近的事物要比彼此距离较远的事物更相似。当为任何未测量的位置预测值时,反距离权重法会采用预测位置周围的测量值。与距离预测位置较远的测量值相比,距离预测位置最近的测量值对预测值的影响更大。反距离权重法假定每个测量点都有一种局部影响,而这种影响会随着距离的增大而减小。由于这种方法为距离预测位置最近的点分配的权重较大,而权重却作为距离的函数而减小,...

2019-07-06 20:01:00 3548 12

原创 leaflet实现动态地图风场效果

leaflet风场插件首先,这里需要用到一款leaflet插件,它是一个js文件,插件地址:有了它,一切都变得简单。示例代码// 初始化地图,返回一个map对象function initMap(){ var Esri_DarkGreyCanvas = L.tileLayer( "http://{s}.sm.mapstack.stamen.com/" + ...

2019-07-02 21:30:09 15016 26

原创 利用Openlayers4实现地图遮罩效果(二)

之前实现的遮罩效果,在深色背景的底图上,对要突出的区域采用半透明遮罩,以此来突出该区域。但是有时底图颜色偏白,这时候不再适合对要突出的区域采用遮罩,而是要对突出区域之外进行遮罩处理。两种效果的对比入下图:...

2019-06-27 22:23:00 6096 28

原创 强大的GeoPandas,几行代码实现点转线功能

强大的GeoPandas,几行代码实现点转线功能在GIS数据处理操作时,经常会用到点转线操作。一般ArcGIS、QGIS等等都会提供相应的工具。这里提供一种利用Python实现点转线的方法。1、原料 Pandas、GeoPandas、ShapelyPandas及GeoPandas的强大之处,谁用谁知道先来看以下点文件,格式是带经纬度坐标的csv文件。我们先用pandas将数据呈现出来。内...

2019-06-24 22:34:32 11599 23

openlayers遮罩示例

一个基于openlayer创建地图遮罩的前端代码示例。 使用方法 1. 安装依赖 npm i 2. 项目启动 npm start

2022-01-29

世界各国范围及地理位置

包含世界上各国范数据(面)以及国家位置数据(点),要素属性包括中英文名,国家代码等。数据仅供学习使用。数据格式为geojson

2020-04-05

vue+openlayers简单示例

一个Vue与Openlayers结合的应用示例,以组件的方式在Vue中使用openlayers地图,以及可以进行简单的地图配置

2019-10-19

xianRoad.7z

.shp类型的道路中心线文件,内容为西安市中心区域的道路,作为公共测试数据,可用于做GIS方面的功能测试、研究等等

2019-10-14

openlayers图层开关控件

openlayers图层开关控件,支持图层开关,增删图层控件自动联动,支持openlayers4、openlayers5版本

2019-07-27

opelayers4绘图控件

自定义openlayers绘图控件,支持绘制点、折现、多边形、圆、方形等,支持opelayers4、openlayers5。

2019-07-10

leaflet-idw.7z

一个基于leaflet的反距离权重插值Demo,内涵完整的示例代码,leaflet,已经反距离插值算法插件

2019-07-06

leaflet-wind.7z

动态风场特效Demo,包含完整代码和示例数据,下载直接运行可查看效果

2019-07-01

leaflet动态风场插件

leaflet风场插件,可在前端页面中实现动态风场特效,与leaflet库配合使用

2019-07-01

世界地图学习数据

.shp格式的矢量数据,内含世界各国范围,中国主要省市、河流、道路等,用来学习测试。

2019-02-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除