可视域分析功能搭建

可视域分析简介

可视域分析也称作通视分析,即在当前位置视线所能看到的地方。该功能的实现依赖于地形进行计算,地形的起伏会导致视线的遮挡,在GIS中地形的起伏是根据DEM(Digital Elevation Model)数据进行表达的。

整体开发思路

利用ArcMap构建可视域分析模型,通过测试点进行模型验证,运行模型后将地图处理结果共享为地图处理服务(GP服务),利用ArcGIS API for JavaScript在前端调用GP服务并进行渲染展示,达到可视域分析效果。

开发准备

推荐开发环境:ArcGIS Desktop 10.3(及其以上)、ArcGIS Server 10.3(及其以上)、ArcGIS API for Javascript 4.10(推荐最新版)
本人开发环境:ArcGIS Desktop 10.2 、ArcGIS Server 10.2、ArcGIS Desktop 10.5、ArcGIS Server10.5 、ArcGIS API for Javascript 4.10
:一开始以为能全都用ArcGIS 10.2系列完成各项数据准备以及地图服务,在完成了一部分工作后发现ArcGIS 10.2系列相关功能无法实现,又用了新版本的ArcGIS 10.5系列进行了相关功能的实现,ArcGIS 10.2完成的工作也没有舍弃,所以造成了现在的结果,后面会具体介绍ArcGIS 10.2和ArcGIS 10.5各完成了哪些工作。
数据准备:dem数据,本人通过水经注软件下载了青岛市黄岛区的高程数据。也可以从地理空间数据云上免费下载相关的dem数据
开发流程
(一) 将下载的dem数据加载到ArcMap中,并创建一个点要素用于测试,如图所示
可视域分析功能搭建_第1张图片
(二) 打开模型构建器,依次找到模型-模型属性-环境-工作空间-值,完成对工作空间的设置,使用默认的工作空间,会造成中间的一些缓存无法访问的问题。
可视域分析功能搭建_第2张图片
可视域分析功能搭建_第3张图片
可视域分析功能搭建_第4张图片
(三) 找到ArcToolBox,利用里面的各类工具完成对模型的构建
整体的模型构建思路如下:通过位置点和可视距离生成缓冲区,通过此缓冲区对dem进行掩膜提取,减少计算的dem范围。对提取后的dem和位置点进行视域分析,将输出的栅格进行重分类,输出的栅格一般只有两个值,通过Value字段,将可视的值保留,其余全部设置为NoData,重分类后的生成的栅格数据,进行栅格转面,提取可视域多边形的边界。
3.1分析工具-邻域分析中找到缓冲区分析工具,将缓冲区工具拖拽进入模型中。对缓冲区工具框右键获取变量,进行缓冲区距离的参数的设置,也就是我们可视域分析的最远距离。
可视域分析功能搭建_第5张图片
可视域分析功能搭建_第6张图片
双击距离参数,进行距离参数值的设置,此处设置为2000米,当然在前端代码中可以进行重新设置,该值仅为默认值。参数值设置完成后右键该参数,将其设为模型参数。同样的选择获取变量-从参数-输入要素,再次获取一个变量,该变量为点要素,即可视域分析中的当前位置,双击该变量,选择创建的要素点,并设置为模型参数。
可视域分析功能搭建_第7张图片
可视域分析功能搭建_第8张图片
可视域分析功能搭建_第9张图片

3.2选择空间分析工具-提取分析-按掩膜提取工具,拖拽至模型中,利用连接工具将缓冲区生成的输出要素类与按掩膜提取工具连接,并选择输入栅格数据或要素掩膜数据。右击按掩膜提取工具,选择获取变量-从参数-输入栅格,双击输入栅格,选择ArcMap中加载的高程数据。
可视域分析功能搭建_第10张图片
可视域分析功能搭建_第11张图片
可视域分析功能搭建_第12张图片

3.3择空间分析——表面分析——视域工具,拖拽至模型中,通过连接工具将掩膜提取生成的栅格(输出栅格)与视域进行连接,选择输入栅格,将测试点与视域进行连接选择输入观测点或观察折线要素。
可视域分析功能搭建_第13张图片
3.4选择空间分析-重分类-重分类工具,拖拽至模型中,通过连接工具将视域工具生成的栅格与重分类进行连接。双击重分类工具,选择添加条目,输入三个新条目分别为:旧值为0,新值为NoData,旧值为1,新值为1,旧值为NoData,新值为NoData。这一步是为了将可视域分析结果中不可见区域去掉,只保留可视部分。
可视域分析功能搭建_第14张图片
可视域分析功能搭建_第15张图片

3.5选择转换工具——由栅格转出——栅格转面工具,拖拽至模型中,使用连接工具将重分类后的栅格与栅格转面进行连接,选择输入栅格。
3.6 将栅格转面的输出结果右键,设为模型参数
3.7将输入的距离、点和栅格转面的输出结果分别重命名为dis、point、result,这三个变量会在后面用到。当然也可以自己自定义名称。最终的模型构建结果如下图所示,选择运行该模型。
可视域分析功能搭建_第16张图片
可视域分析功能搭建_第17张图片
3.8 在文件夹连接中的某一文件夹下,右键创建,新建工具箱。
3.9 建模窗口中,保存模型到上一步新建的工具箱下。
3.10 在工具箱下双击该模型,选择测试点shapfile文件,输入视域半径,开始运行,分析完成后,可在分析的结果中查看。
可视域分析功能搭建_第18张图片
至此模型构建的相关工作已经完成。

(四) 发布将模型运行结果发布为GP服务

在地图处理工具栏下找到结果菜单,找到上一次运行的该模型,并将其共享为地理处理服务,服务相关设置如下,设置完成后分析无错误发布即可
可视域分析功能搭建_第19张图片
可视域分析功能搭建_第20张图片
可视域分析功能搭建_第21张图片
可视域分析功能搭建_第22张图片

可视域分析功能搭建_第23张图片
可视域分析功能搭建_第24张图片
可视域分析功能搭建_第25张图片

(五)

发布成功后,打开ArcGIS Server管理页面,找到该服务,找到服务的连接地址。使用ArcGIS API for JS调用该服务,即可进行视域分析。
可视域分析功能搭建_第26张图片

(六)

在编写代码之前,还需要对dem高程数据进行影像服务的发布,由于本机安装的ArcGIS版本为10.2,不支持LERC的影响切片格式,因此在服务器上利用ArcGIS 10.5完成DEM影像服务的发布。找到下载好的DEM高程数据,右键分享为影像服务,并完成相关设置,实现DEM高程数据服务的发布
可视域分析功能搭建_第27张图片
可视域分析功能搭建_第28张图片
可视域分析功能搭建_第29张图片
(七) 代码的编写




    
    通视分析 
      
 	  
  


至此,基于arcgis的可视域分析功能搭建完毕

你可能感兴趣的:(arcgis,arcgis,三维)