当前位置: 首页 > news >正文

arcgis js 缓冲区分析(GP服务)

arcgis文档中的有提供缓冲区的接口 geometryService,但要4.19后版本才提供
在这里插入图片描述

案例中使用的版本为4.16,因此这里的缓冲区分析借助gp工具

新建服务

1、打开arcmap

选择工具将要存放的文件夹,右键=> new => Toolbox
对新建好的工具的model(右键工具 new => model)进行编辑,如图
工具编辑界面

2、打开ArcToolbox

通过工具按钮打开ArcToolbox
工具按钮
Buffer所在位置,如图
工具所在位置

3、编辑服务工具

将Buffer工具拉入工具编辑界面,如图
添加图片注释,不超过 140 字(可选)
其中矩形为工具,椭圆为参数,参数可以是传参也可以是固定参数。

4、设置参数

右键矩形框 =>make Variable =>选择参数 可以选择所需要的传参,如图
在这里插入图片描述
缓冲区分析需要的参数有 Input Features和Distance
右键,选择Model Parameter将其设置参数,以Input Features为例,Distance同理,出现P即为需要传参,如图
Input Features

5、设置需要传参的参数的数据

选择数据将要存放的文件夹,右键,选择Shapefile,如图
新建shp
以线条为例,将Feature Type设置为Polyline
添加图片注释,不超过 140 字(可选)

若使用4490的坐标系,通过Edit,搜索4490,如图
添加图片注释,不超过 140 字(可选)

选择新建的shp数据,即InputLine进行编辑,选择Editor => Start Editing,如图
添加图片注释,不超过 140 字(可选)

Start Editing后选择InputLine,选择工具栏的Create Features,如图
在这里插入图片描述
出现绘制工具,选择line,即可进行绘制(绘制通过双击结束)
在这里插入图片描述
选择Editor => Save Editing 对绘制的shp进行保存
最后,双击椭圆形框(InputLine),选择保存好的shp文件,无色椭圆形框变为蓝色,如图
在这里插入图片描述

Distance同理,如图
在这里插入图片描述
如图,工具即创建成功
缓冲区分析工具

6、运行工具

双击新建的工具model运行,选择输出文件(重新创建不存在的name),如图
在这里插入图片描述
没有错误提示,选择OK,如图
在这里插入图片描述

发布服务

1、Geoprocessing => results =>选中工具下的model,如图
在这里插入图片描述

2、根据Output Feature即输出结果的shp选择对应的model进行发布,如图
在这里插入图片描述
右键model => share as => Geoprocessing service,如图,点击下一步
在这里插入图片描述

3、可修改服务名,如图
在这里插入图片描述

4、选择发布的路径,如图
在这里插入图片描述

5、设置发布的服务参数,优先选择同步服务,如图
在这里插入图片描述
可对Model中的参数,进行描述
在这里插入图片描述

7、设置完成后点击Analyze分析,分析如果没有错误,使用Publish发布GP服务

添加图片注释,不超过 140 字(可选)

代码部分

绘制线条

 const graphic = new self.Graphic({geometry: new self.Polyline({paths: polygon2,spatialReference: self.map.spatialReference}),symbol: {type: 'simple-line',color: [255, 255, 255],style: 'solid',width: 2}})

通过Geoprocessor请求GP服务,url即为gp服务的url,graphic即为上文中定义的graphic

drawBuffer (graphic) {const self = thisconst featureSet = new this.FeatureSet()featureSet.features = [graphic]const geop = new self.Geoprocessor(url)let params = {}params['InputHCQ'] = featureSetparams['Distance'] = {distance: self.bufferDistance,units: 'esriMeters'}geop.outSpatialReference = {wkid: this.map.spatialReference.wkid}geop.execute(params).then(data => {console.log('测试', data)if (data.results.length > 0) {const graphic1 = new self.Graphic({geometry: data.results[0].value.features[0].geometry,symbol: {type: 'simple-fill',color: [0, 0, 255, 0.1],style: 'solid',outline: {color: 'white',width: 2}}})self.map.graphics.add(graphic1)}})},

效果如下

在这里插入图片描述

http://www.lryc.cn/news/173145.html

相关文章:

  • 【word格式】mathtype公式插入 | 段落嵌入后格式对齐 | 字体大小调整 |空心字体
  • 【动态规划刷题 17】回文子串 最长回文子串
  • mysql 每日自动备份数据库
  • 【计算机网络】图解路由器(二)
  • 流媒体及直播相关知识
  • 数据治理-数据资产估值
  • 点云从入门到精通技术详解100篇-机载 LiDAR 点云滤波及分类
  • 【SLAM】 前端-视觉里程计之相对位姿估计
  • git format-patch打补丁
  • 大数据Flink(八十三):SQL语法的DML:With、SELECT WHERE、SELECT DISTINCT 子句
  • C++:list
  • 【C++】搜索二叉树底层实现
  • C8051F020 SMBus一直处于busy状态解决办法
  • Activiz 9.2 for Linux Crack
  • 数据结构 - 链表
  • Android 12 Bluetooth源码分析蓝牙配对
  • Python异步编程并发执行爬虫任务,用回调函数解析响应
  • React组件化开发
  • LuatOS-SOC接口文档(air780E)--crypto - 加解密和hash函数
  • 自动化测试的定位及一些思考
  • 展会动态 | 迪捷软件邀您参加2023世界智能网联汽车大会
  • jenkins自动化部署springboot、gitee项目
  • Python环境配置及基础用法Pycharm库安装与背景设置及避免Venv文件夹
  • PHP常见的SQL防注入方法
  • 分布式和中间件等
  • 通过http发送post请求的三种Content-Type分析
  • Vue中的自定义指令详解
  • [管理与领导-100]:管理者到底是什么?调度器?路由器?交换机?监控器?
  • 保研CS/软件工程/通信问题汇总
  • word、excel、ppt转为PDF