GIS开发之二维地下管线综合管理系统(Arcgis)第三节 使用python和modelbuilder

  • ArcGIS python使用
  • modelbuilder使用

在管网系统的功能中,高效的数据处理和有效的功能分析对系统的稳定性和可用性有很大的帮助,比如常用的管线碰撞分析和管线开挖分析,在使用Arcgis API 构建管网系统时,采用合理的工具将会起到事半功倍的效果,此次分享,将介绍arcgis中两款高级工具:Python和modelbuilder。

ArcGIS python使用

Python是一种简单高效、跨平台的开源变成语言。ArcGIS9.0中引入Python,此后python便作为ArcGIS的脚本语言不断发展。现在,Python已被ESRI完全纳入ArcGIS中,通过导入ArcGIS软件的ArcPy站点包可以使用Python访问地理处理功能。由于Python简单易用、功能丰富,通过Python调用ArcGIS空间分析功能的开发方式在复杂空间数据处理、搭建高性能WebGIS等方面有很大的优势。
管线系统使用Python进行数据处理,以碰撞分析功能(即垂直净距分析)的数据预处理为例进行介绍。由于已有的管线数据属性字段不足以满足碰撞分析的需要,因此需要通过对已有管线数据字段进行处理,新增管线的起始点坐标XY,起始点地面高程。由于数据量大,管线的种类多,如果利用ArcGIS 自带的系统工具进行处理,工作量大,操作繁琐。因此使用Python编写脚本,一键式完成大量不同种类管线数据的自动添加字段、计算并赋值。

“碰撞分析”功能可分析管线之间是否发生冲突,若冲突,输出信息表,双击定位并高亮显示冲突点。
操作步骤:

  1. 点击“碰撞分析”按钮,弹出功能界面
  2. 选择“分析区域”类型以及“碰撞类型”(碰撞类型分为两种:硬碰撞和软碰撞,硬碰撞指的是管线在空间上存在交点,软碰撞指的是一条管线在另一条管线的某个距离范围内存在交点)。
  3. 点击“确定”按钮,,双击数据表记录实现定位并高亮显示,点击“取消”按钮,关闭“碰撞分析”面板。

modelbuilder使用

ModelBuilder是ArcGIS所提供的构造地理处理工作流和脚本的图形化建模工具。在模型中,通过定义不同的图形,分别代表输入数据、输出数据、空间处理工具,通过流程图的形式进行组合以创建高级的空间分析功能和流程,加速复杂地理处理模型的设计和实施。
地下管网综合系统功能模块中存在很多较为复杂的分析功能,如果将这些复杂的空间分析运算(如爆管分析、碰撞分析、开挖分析等)放在前台浏览器运行,会大大的降低效率,使得系统运行缓慢,用户体验较差。系统将此类复杂的分析运算放在业务逻辑层实现,即将功能预先用Model Builder实现,并通过ArcGIS Server发布为GP服务,大量的运算已经在业务逻辑层提前进行,用户使用时只需要传入参数,调用URL即可。
以爆管关阀分析为例:
(1)利用Model Builder建立爆管关阀分析模型。通常创建模型需要经过5个步骤:①添加输入数据;②添加空间处理工具;③添加连接;④设置参数;⑤运行模型。本文基于Model Builder建立了爆管关阀分析模型


“开挖分析”功能可通过设置开挖深度和边界范围,查询出地下管线的分布情况和信息,并计算出土方。
操作步骤:

  1. 点击“开挖分析”按钮;

  1. 选择参考点类型(参考点指的是设计面的基准点)并设置开挖深度以及开挖形状,点击“确定”按钮,分析结果如图。

关注以下公众号,及时发布各种技术交流。

GIS开发之二维地下管线综合管理系统(Arcgis)第三节 使用python和modelbuilder相关推荐

  1. GIS开发之二维地下管线综合管理系统(Arcgis)第四节 查询(2)

    目录 1.前言 2.功能介绍 2.1 关于QueryTask实现空间查询和属性查询 3.示例代码 3.1 QueryTask 4.参考资料 1.前言   上节主要和大家分享了点击查询相关的参数设置和前 ...

  2. GIS开发之二维地下管线综合管理系统(Arcgis)第四节 使用arcgis api for js 加载天地图

    GIS开发之二维地下管线综合管理系统(Arcgis)第四节 使用arcgis api for js 加载天地图 核心js文件 调用方式 调用结果 核心js文件 #通过定义加载天地图js文件,引用并组织 ...

  3. GIS开发之二维地下管线综合管理系统(Arcgis)第二节 技术架构

    目录 架构 技术选型 GIS平台选择 数据库选择 开发语言选择 开发框架 发布部署 代码目录 开发参考资料 架构 系统总体架构图如下图所示: 技术选型 GIS平台选择 GIS基础平台选用ArcGIS ...

  4. GIS开发之二维地下管线综合管理系统(Arcgis)第一节 总体介绍

    二维地下管网综合管理系统(下称二维管网系统)是将地理信息系统.数据库.Web可视化技术用于城市地下管网信息管理,通过有效的数据采集.数据入库.条件查询.综合分析,使得各权属和业务部门能够方便的掌握地下 ...

  5. Android | 教你如何开发扫二维码功能

    华为机器学习服务(ML Kit) 提供机器学习套件,为开发者应用机器学习能力开发各类应用提供优质体验.得益于华为长期技术积累,ML Kit 为开发者提供简单易用.服务多样.技术领先的机器学习能力,助力 ...

  6. HBuilder webApp开发(十三)二维码扫描

    好久没有写<HBuilder webApp App开发>这个专栏了.这周的这两天暂时比骄没事,就对着官方文档barcode写了这个二维码扫描的Demo. 以前做原生开发的时候,关于二维码扫 ...

  7. 独立版微信动态二维码活码管理系统免授权版

    正文: 完整标题: 独立版微信动态二维码活码管理系统免授权版,微信活码二维码系统,带充值支付 多维度的数据统计分析,实现精准营销 提供数据统计报告!提供精美的分析报告,让你的微信营销数据化! 自定义域 ...

  8. Java二维数组实现学生管理系统

    Java二维数组实现学生管理系统 一.预备知识 1.二维数组的创建1) DataType [][] name=new DataType[10][];2) DataType [][] name=new ...

  9. 结对开发--求二维数组的最大子数组

    小组成员:信1201-1班  黄亚萍 信1201-1班  袁亚姣 一.题目要求 程序要使用的数组放在一个叫 input.txt 的文件中,  文件格式是: 数组的行数, 数组的列数, 每一行的元素,  ...

最新文章

  1. 如何修改 远程桌面的 默认端口号 3389
  2. Xmas is coming....
  3. 玩心马宗骥:游戏持续“霸榜”幕后的数据真相
  4. 一文弄懂String的所有小秘密
  5. (转)数字格式化函数:Highcharts.numberFormat()
  6. servlet ehcache beanfactroy c3p0 配置文件
  7. php数据库显示+ajax,如何使用PHP和AJAX显示MySQL数据库
  8. 成功演示六要素之四五——可信与情感
  9. 计算机专业拼音怎样写,拼音汉字计算机输入方法
  10. 认证考试 | 2021新考纲,麟学堂手把手教你报名CISSP考试
  11. 被static修饰的map、list GC问题
  12. bzoj1488 图的同构
  13. R语言一步到位求数据的均值,频数,标准差,标准误差
  14. Juniper防火墙的HA(高可用性)配置
  15. 冯东阳:知名博主博客发软文广告,你怎么看?
  16. 845透色android10,和平精英TCA845透色
  17. Delphi procedure and function
  18. 2022年湖南医院三基考试泌尿外科综合模拟题及答案
  19. Kaggle竞赛 —— 泰坦尼克号(Titanic)
  20. LeetCode-Python-875. 爱吃香蕉的珂珂

热门文章

  1. caffe检测图片是否包含人脸_人脸识别(基于Caffe)
  2. 威哥android视频百度云,威哥带你手把手开发Android电商项目视频教程
  3. java程序获取时区不对,linux时区不正确解决整理
  4. 通向架构师的道路(第九天)之weblogic的集群与配置
  5. linux静音,如何在Ubuntu终端中静音/禁用硬件提示音
  6. Jetson连接百兆交换机丢包笔记
  7. 普通话智能测试系统软件,普通话智能学习软件(普通话水平测试仿真系统) iso光盘版...
  8. 东北育才高中2021年高考成绩查询,东北育才学校2020年高考成绩喜报
  9. 「迁怒」也许不只是没忍住
  10. Linux SDIO WIFI Marvell8801/Marvell88w8801(三) --- Linux驱动以及组件的使用