ArcGIS Pro创建、发布、调用GP服务全过程示例(等高线分析)

这篇具有很好参考价值的文章主要介绍了ArcGIS Pro创建、发布、调用GP服务全过程示例(等高线分析)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在之前的文章介绍过使用ArcMap发布GP分析服务,由于ArcGIS后续不在更新ArcMap,改用ArcGIS Pro,本文对ArcGIS Pro发布GP分析服务进行说明。

本文以等高线分析为例,使用ArcGIS Pro软件,从GP分析服务的创建、发布、调用全过程进行演示。

使用ArcMap发布GP服务请跳转:ArcGIS Desktop(ArcMap)创建、发布、调用GP服务全过程示例(等高线分析)

本文示例使用(因为本人portal的授权的版本只有10.5的,故使用10.5进行示例):

软件:ArcGIS Pro3.0.1(破解版),

  ArcGIS JS API4.16

注:阅读本文前需要对ArcGIS GP服务,模型构建器等有一定了解,本文不会详细描述GP工具的构建过程。

需求:通过在前端绘制或导入多边形范围,设置等高距,生成绘制区域的等高线。

ArcGIS Pro创建、发布、调用GP服务全过程示例(等高线分析)

1、数据准备

(1)准备一个地形文件,可以是tif或者img等格式

(2)准备一个shp面要素文件,用来指定分析范围

2、创建GP模型

创建等高线分析GP模型:

(1)使用Extract by Mask工具,裁剪出输入要素的多边形范围的栅格数据

(2)根据第一步裁剪的栅格结果,执行等高线分析,生成线要素

ArcGIS Pro创建、发布、调用GP服务全过程示例(等高线分析)

注:蓝色椭圆中的为输入参数,绿色椭圆中的是输出参数,黄色矩形为ArcGIS工具箱中的分析工具。

参数说明: 

InputFeature:等高线分析范围数据,shp格式,可自行创建个shp文件。在地形范围内绘制一个范围(使用第一步准备的shp数据),

InputRaster:地形dem数据,可以使用tif格式,支持经纬度坐标或投影坐标,根据实际情况选择需要的地形路径(第一步准备的地形数据)

CoutourInterval:等高线间距,默认单位米

OutputFeature:输出的等高线线要素

由于在ArcGIS10.3中已经创建过GP模型,ArcGIS之间的产品是兼容的,可以用ArcGIS Pro打开,故不再新建GP模型,直接使用旧版已经创建好的进行编辑:

ArcGIS Pro创建、发布、调用GP服务全过程示例(等高线分析)

更改输入参数和输出参数的文件路径(输入参数选择第一步准备好的数据,需要真实的数据,输出参数只要设置好路径和文件名称即可,保证文件夹存在,文件不需要真实存在):

ArcGIS Pro创建、发布、调用GP服务全过程示例(等高线分析)

 修改完参数路径后,对模型进行保存。

注:在ArcMap10.3版本创建的GP工具可以在ArcGIS Pro打开,但在ArcGIS Pro打开后,就无法在ArcMap中打开了,不同的ArcGIS版本也一样,低版本GP工具在高版本打开后,就无法再原来的版本中打开,所以注意备份不同版本的工具。

3、运行并发布GP服务

(1)双击运行GP服务

ArcGIS Pro创建、发布、调用GP服务全过程示例(等高线分析)

  (2)发布服务,选择共享->Web工具,共享Web工具:

ArcGIS Pro创建、发布、调用GP服务全过程示例(等高线分析)

 选择刚刚运行的GP工具:

ArcGIS Pro创建、发布、调用GP服务全过程示例(等高线分析)

设置发布服务参数:

ArcGIS Pro创建、发布、调用GP服务全过程示例(等高线分析)

 切换配置页,选择同步异步等配置:

ArcGIS Pro创建、发布、调用GP服务全过程示例(等高线分析)

 切换Content,编辑输入输出参数:

ArcGIS Pro创建、发布、调用GP服务全过程示例(等高线分析)

 输入工具名称,备注,输入参数,输出参数等:

ArcGIS Pro创建、发布、调用GP服务全过程示例(等高线分析)

 设置好后,点击分析,分析如果没有错误,使用Publish发布GP服务

4、访问并验证GP服务

ArcGIS Pro创建、发布、调用GP服务全过程示例(等高线分析)

5、调用GP服务

 先通过绘制得到绘制的多边形graphic,然后设置参数,利用Geoprocessor来执行GP服务得到结果,再将结果的等高线绘制到地图上。

 

    startExcute (graphic) {
      const featureSet = new FeatureSet()
      featureSet.features = [graphic]
      const inputRaster = {
        'url': this.demDatas[this.value].url,
        'format': this.demDatas[this.value].format || 'tif'
      }
      let params = {
        "inputFeature": featureSet,
        "contourInterval": this.contourInterval,
        "inputRaster": inputRaster
      }
      
      const geop = new this.Geoprocessor(this.contourUrl)
      geop.outSpatialReference = {
        wkid: this.map.spatialReference.wkid
      }
      if (this.isAsync) { //发布的服务是异步时的处理方式
        this.loading = true
        geop.submitJob(params).then(data => {
          var options = {
            interval: 1500,
            statusCallback: function (j) {
              // console.log("Job Status: ", j.jobStatus);
            }
          }
          geop.waitForJobCompletion(data.jobId, options).then(res => {
            geop.getResultData(res.jobId, 'OutputFeature').then(item => {
              this.drawLine(item.value.features)
              this.loading = false
            })
          }, error => {
            this.loading = false
            this.$message.error('分析出错,请联系管理员!')
            console.error('等高线分析出错:' + error)
          }).catch(error => {
            this.loading = false
            this.$message.error('分析出错,请联系管理员!')
            console.error('等高线分析出错:' + error)
          })
        })
      } else { //发布的服务是同步时的处理方式
        this.loading = true
        console.log('params2', params)
        geop.execute(params).then(data => {
          this.loading = false
          this.drawLine(data.results[0].value.features)
          console.log('datas', data)
        }, error => {
          this.loading = false
          this.$message.error('分析出错,请联系管理员!')
          console.error('等高线分析出错:' + error)
        })
      }
    }

注:代码只是截取的一部分代码,参考使用,具体调用根据自己的开发的实际情况来写。

<全文完>文章来源地址https://www.toymoban.com/news/detail-434215.html

到了这里,关于ArcGIS Pro创建、发布、调用GP服务全过程示例(等高线分析)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • cesium源码编译调试及调用全过程

    完整记录一次cesium源码从下载、打包、调用、调试的全过程。 本文使用软件或API版本: VSCode Node:12.18.3 cesium版本:1.94 总体步骤: 下载源码 执行npm install和npm start启动web服务 打包源码(npm run combine打包前可以先将申请到的cesium的token更改到ion.js文件中的默认值中) 运行测试

    2023年04月21日
    浏览(40)
  • 详述C++ 调用opencv编译成dll并调用的全过程

     其中,extern \\\"C\\\":告诉编译器将被它修饰的代码按C语言的方式进行编译。             __declspec(dllexport):告诉编译器和链接器被它修饰的函数或变量需要从DLL导出,以供其他应用程序使用;与其相对的还有一句代码是__declspec(dllimport),此修饰符的作用是告诉编译器和链接

    2024年02月04日
    浏览(55)
  • 电脑调用 iPhone 摄像头全过程(iVCam)

    最近不是停课不停学吗,令人“深恶痛绝”的钉钉又进入了我们学生的生活。但是初中的网课相比小学的又增加了一个要求:全程摄像头拍摄。但是,我这笔记本没有摄像头啊!突然想起来好像手机的摄像头可以给电脑调用。话不多说,直接开始折腾~ 1. 准备材料 1. 一部 Wi

    2024年02月09日
    浏览(53)
  • Java对象创建回收全过程

    目录 1 前言 2 Java对象创建 2.1  类加载检查 2.1.1 谁来加载 2.1.2 如何加载 2.2 分配内存 2.3 初始化零值 2.4 设置对象头 2.5 执行clinit 3 对象回收 4 补充Tomcat打破双亲委派机制 在讲java创建之前,我们先来了解下 Java虚拟机内存 组成,当Java虚拟机启动后,会将系统分配给JVM的空间逻

    2024年02月14日
    浏览(51)
  • 探索Maven创建项目全过程(超详细~~~)

    Maven 这个词翻译为“专家”,“内行”。作为一个 Apache 组织中一个成功的开源项目,Maven 主要服务于基于 java 平台的项目构建,依赖管理和项目信息管理,还可以用来帮助实现项目的构建、测试、打包和部署。 这次演示建立的Mavenue项目是关于Servlet的,下面介绍一下Servlet

    2024年02月06日
    浏览(44)
  • 前端工程化 搭建私有组件库 组件从开发到发布私有npm仓库的全过程

    前言 基于Vue3.0 + TS的组件从开发组件库到发布私有npm仓库的全过程 环境 这里列出本文所使用的环境版本 vue 3.0 vue/cli 4.5.9 nodeJs 14.15.1 npm 6.14.8 vue --version @vue/cli 4.5.9 npm -v 6.14.8 node -v v14.15.1 步骤 创建项目 使用 vue-cli 创建一个 vue3 项目,假设项目名为 avatar-ui-vue vue create avatar-u

    2024年02月02日
    浏览(161)
  • 记一次uni-app中调用java代码中的方法全过程

    一、 开发环境 • JAVA环境 jdk1.8 • AndroidStudio 下载地址:Android Studio官网 : https://developer.android.google.cn/studio/index.html • App离线SDK下载 请下载2.9.8+版本的android平台SDK. https://nativesupport.dcloud.net.cn/AppDocs/download/android.html# • HBuilderX下载 官方下载地址: https://www.dcloud.io/hbuilderx.ht

    2024年02月12日
    浏览(63)
  • vue3 + vite自定义封装vue + element-ui 表格组件,发布到npm包的全过程。

    当我们项目中用到的表格太多的话,就会导致我们的代码量一直增加,所以我们要封装一个公共得组件,通过传参引入来使用,下面这篇文章主要给大家介绍了关于vue3+vite自定义封装vue组件发布到npm包的相关资料,需要的朋友可以参考下。 提示我们要安装 create-vite@4.1.0 得依赖

    2024年02月02日
    浏览(67)
  • DockerCompose - 微服务项目部署全过程(最佳实践)

    目录 一、微服务项目部署 1.1、项目介绍 1.2、准备 MySQL 初始化文件 1.3、pom.xml 插件 1.4、测试工作 1.5、编写 Dockerflie 文件 1.6、编写 DockerCompose.yml 文件 1.7、修改 application.yml 文件 1.8、打包上传服务器 1.9、微服务,启动! 1.10、测试结果 a)技术选型:SpringCloud 2021.0.1 、SpringC

    2024年04月16日
    浏览(52)
  • 研一小白记录第一次在实验室服务器上跑深度学习的代码全过程(实验室服务器上跑代码详细全过程哦)

    你在服务器上跑过代码吗?哇~你跑过!是啥样的...每回见别人跑都会问并且羡慕会在大服务器上跑代码的哈哈哈在研究生刚开学前还甚至不知道什么是服务器,更是无法想象在除了自己能看得见摸得着的电脑屏幕之外跑代码的样子。直到有天开会自己坐在了一个大大的“黑箱

    2024年02月02日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包