Web GIS 开发
文章平均质量分 59
当前GIS逐渐由桌面端向移动端和网页端发展,在掌握GIS原理的前提下学习移动平台和网页平台的开发比较实用和灵活,也能体现各个编程语言的优势,提高个人编程能力。欢迎大家订阅,不定期更新最新的技术。
之乎者也哦
测绘和遥感专业硕士毕业,从事过遥感预处理算法、图像算法、机器人3D视觉、点云、TCP/IP通信、数据库、安卓、arcgis开发工作,擅长C 、Qt、python、Java、C#、JavaScript。
展开
-
arcgis js(一)显示二维地图
1、今天开始记录web gis的学习过程,点滴积累,聚沙成塔!2、由于工作业务需要,在做了一年多的安卓开发之后要转向网页前端开发,但是基础业务还是跟地理信息系统、测绘、遥感相关,只是平台架构变了,不影响专业知识的累计。本人在学好专业技能的同时没有间断的练习编程,也在努力提高编程技术,从上大学C++开始,到研究生学到了Qt、Android、Java、C#、python,每一门语言都使用超过了一年,都做过实际项目,回头一看发现所有的编程语言大同小异,都有相似之处,在熟练掌握C++之后学习其他语言也就迎刃而解原创 2021-08-20 11:03:58 · 1071 阅读 · 2 评论 -
arcgis js(二)显示三维地图
1、上一节讲了arcgis js入门与提高(一)加载二维地图https://blog.csdn.net/HB_Programmer/article/details/119817430,本节继续讲如何加载三维地图,与3.x版本不同,ArcGIS API for JavaScript 3.x版本地图都是显示在map中,从4.x版本之后地图的显示全部放在view上,二维的叫mapview,三维的叫sceneview,因此三维场景加载方式如下:<html><head> &l原创 2021-08-20 15:32:51 · 1115 阅读 · 0 评论 -
arcgis js(三)移除和添加地图控件
1、我们来看下面一段代码:const view = new MapView({ map: map, center: [-118.805, 34.027], zoom: 13, container: "viewDiv" });该段代码实例化了一个MapView对象view,在实例化的时候可以进行参数的初始化,这里初始化了map、center、zoom和container,含义跟他们的名字一样,arcgis js默认自带了底部显示的那一行属性信息和左上角的放大缩小按原创 2021-08-20 20:41:09 · 1870 阅读 · 0 评论 -
arcgis js(四)加载天地图
一、概述在2021年6月,esri公司发布了ArcGIS API for JavaScript 4.20,该版本包含了一系列改进,官网:https://developers.arcgis.com/javascript/latest/,大部分的使用方法在这里都能找到。为了体现测绘和地理信息系统的特殊性和专业性,特别是要引入国家2000坐标系,与当前测绘成果和国家政策相吻合,以提高地理信息资料的精度,需要将地图坐标系设置为wkid:4490,同时国内还提供了地理信息公共平台天地图,具有较新的影像底图和矢量底原创 2021-08-06 10:40:35 · 3790 阅读 · 10 评论 -
arcgis js(五)切换底图
1、经过四节的学习终于能够显示天地图了https://blog.csdn.net/HB_Programmer/article/details/119446903,以后的开发也就能基于天地图的底图了,这节学习天地图矢量底图和影像底图的自由切换,以及如何设置图层透明度。2、切换底图比较常用的一个widget是"esri/widgets/BasemapToggle",toggle本身就是切换的意思,通过实例化BasemapToggle对象,设置nextBasemap即可:<!DOCTYPE htm原创 2021-08-21 09:19:41 · 1687 阅读 · 2 评论 -
arcgis js(六)设置不透明度
1、在上一章节我们已经能够自由切换天地图底图了,这一节继续接着上节的代码往里面添加新功能,我们知道,在地图学中地图是可以不断叠加的,即使像天地图这么庞大的地图显示也是由不同的图层叠加现实的,当然它用的是瓦片形式,比如影像地图上面叠加影像注记,就得到了我们看到的这种形式,包括在上面进行的点、线、面等绘图功能,都是一层一层的图层,既然是图层就会发生覆盖,我们经常会对比上面和下面的图层,一种方式是采用swipe卷帘工具,但是它不能看到叠加的情况,一般我们都是设置最上面一层的图层的不透明度来实现上下层的对比。2原创 2021-08-21 11:16:39 · 1579 阅读 · 1 评论 -
arcgis js(七)鼠标事件
1、还是基于天地图的底图,我们这节来操作鼠标事件,鼠标事件无非就是单击、双击、滚轮、拖放、移动等,arcgis js提供了对应的接口,例如鼠标单击事件:view.on("click", (event) => { //保留六位小数 let lat = Math.round(event.mapPoint.latitude * 1000000) / 1000000; let lon = Math.round(event.mapPoint.longitude * 1000000)原创 2021-08-21 11:17:04 · 2676 阅读 · 0 评论 -
arcgis js(八)地理查询
1、地理查询主要是查询该图层的每个图斑的属性,分为基本查询和按距离查询,基本查询指的是如果鼠标选择的点在图斑上或内才有效,按距离查询指的是在给定距离内如果查询到了图斑就把该图斑作为查询对象,第一种适合用在面状图层中,第二种方式适合点和线状图层。2、请仔细阅读下面的代码,带有注释,需要慢慢消化。查询对象可以是服务图层,这里发布了一个服务图层service layer,全是面状图斑,所以用这两种查询方法都比较适合。<html><head> <meta char原创 2021-08-21 20:08:50 · 791 阅读 · 0 评论 -
arcgis js(九)地理处理任务 发布GP服务
1、地理处理Geoprocessing,简称GP,是一个很重要的概念,我们都知道arcgis工具箱提供的各种工具,其实它们的本质就是一个一个的地理处理任务,只不过是arcgis提前写好了输入输出。在web端也能够调用工具箱所有的工具,先创建一个模型构建器,然后把这个模型发布为地理处理任务GP Task给arcgis js调用即可。Task类型的处理都是放在服务器上的,如何发布也是地理处理任务很重要的一部分。2、发布GP Task的方法打开工具箱,新建一个工具箱,新建模型,3、创建tas.原创 2021-08-21 11:30:56 · 767 阅读 · 0 评论 -
arcgis js(九)地理处理任务 缓冲区分析
1、基于上一节的讲解我们已经知道如何发布GP服务,https://blog.csdn.net/HB_Programmer/article/details/119837395,接下来进入正题,后面会分节介绍如何进行调用和处理众多的地理任务,给从事本专业的高校学生或者对GIS感兴趣的开发者提供一个学习思路,满足大家对地理信息处理的迫切需求。2、...原创 2021-08-22 21:15:04 · 527 阅读 · 1 评论 -
arcgis js(九)天际线分析
1、城市环境具有复杂的空间组成 - 既包含建筑物、树木、街道设施等实体结构的密集集合,也包含公园或公共城市广场等城市开放空间。使用天际线来更好的分析城市空间及其涵盖的空间区域,以便对城市中的特殊地点引起注意。2、3D Analyst工具集包含一套可以满足多种应用的天际线工具。在用户确定观察点处可以看到的天空范围以及特定视点存在的可能障碍物时,这套工具可以对所采用的多种方案进行图形化比较。3、工具说明4、Skyline_3d基本用法数据准备通常对于城市天际线分析而言,最低数据要..原创 2021-09-17 11:34:06 · 3054 阅读 · 0 评论 -
arcgis js(九)地理处理任务 三维可视域分析
1、这里引用官方的例子:https://developers.arcgis.com/javascript/latest/sample-code/geoprocessing-viewshed/<html><head> <meta charset="utf-8" /> <meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no" />原创 2021-08-22 19:39:11 · 1022 阅读 · 0 评论