SuperMap GIS管线数据处理QA

news2024/10/7 18:30:18

一、数据简介

  传统的以二维平面展现网络数据的方式,在一定程度上限制了信息的表达,尤其是在复杂的空间位置关系上。三维网络是对现实中的网络的真实模拟,而非抽象模拟,因此能够全方位的展现信息。
  例如,多层结构的建筑物内的通道数据(包括楼道、楼梯和电梯等),在二维显示上无法直观地区分各楼层的通道,而从三维视图上,则可以清晰直观地了解各个楼层的通道分布情况。再如,种类繁多且纵横交错的城市管网,仅通过二维数据难以清晰地表达管线的实际布设情况。二维数据中相交的两条管线,可能实际上并没有交叉,而只是架设的高度不同。而三维管网则能够直观的表达管线的布设、空间位置关系和拓扑关系。

二、数据格式介绍

  管网数据一般情况都是通过勘探技术进行采集而来,采集到的数据存储在Excel表格或者.csv文件中,里面记录有各种信息,包含点号、埋深、管点类型、管线类型等等。
  管线数据也可能是被导入其他GIS平台处理为空间数据后,导出的矢量文件,如ArcGIS生成的.shp数据。

三、数据处理

1、导入原始数据

将Excel、shp等格式的管网数据通过iDesktop导入到数据源做为三维点数据集三维线数据集,分别表示管点数据和管线数据。导入时有以下两个入口:
  【开始】-【数据导入】-【电子表格】/【ArcGIS】
  在【工作空间管理器】中,找到需要导入的目标数据源,选中该数据源右键在弹出的页面中点击【导入数据集】
  导入数据以Excel表格为例。由于表格数据中不存储对象而是属性信息,此时导入进来时需要将表格数据转换为矢量点数据。在选择Excel文件后,需要勾选【导入空间数据】。并指定经纬度和高程对应的字段。
在这里插入图片描述

  如果该Excel表存储的是管点数据,那么这个时候导入为三维点数据集就表示的是管点数据。
  如果导入的Excel数据是管线数据,那么还需要将三维点数据集按照一定的规则转换为三维线数据集,该数据就表示的管线数据。转换功能入口:【数据】-【类型】-【类型转换】-【点->线】,着重需要设置参数【连接字段】和【排序字段】。
  连接字段表示两个端点在是同一条管线上,从而连成一段管线。
  排序字段表示这条线的一个流向,是从点A流向点B还是从点B流向点A
在这里插入图片描述

如果是shp格式数据,直接导入即可。

2、构建网络数据集

将导入的三维点、三维线数据构建制作管线数据的网络数据集。在iDesktop中,构建三维网络数据集有两种方式:
  【构建三维网络数据集】功能可根据指定的三维点数据集、线数据集,或仅通过三维线数据集,生成三维网络数据集;
  【自定义构建三维网络】适用于三维线数据集含有弧段 ID、弧段起始结点 ID 和终止结点 ID 的字段信息,三维点数据集含有点对象的结点 ID 字段信息时,生成三维网络数据集。两种构建操作步骤如下:

构建三维网络

操作步骤:【交通分析】-【路网分析】-【拓扑构网】-【构建三维网络】
在这里插入图片描述
源数据选择
  在“结点数据”处选择参与构网的三维点数据集及其所在的数据源,注:三维点数据集可设置为空,仅通过三维线数据集进行构网。
在“弧段数据”处选择参与构网的三维线数据集及其所在的数据源。
结果字段:【结点保留字段】列表中列出了结点数据的所有字段信息,可通过复选框勾选参与构建网络数据集的属性字段;【弧段保留字段】列表中列出了弧段数据的所有字段信息,可通过复选框勾选参与构建网络数据集的属性字段。默认勾选所有字段。
打断设置
  点自动打断线:勾选该复选框后,在容限范围内,线对象会在其与点的相交处被打断,若线对象的端点与点相交,则线不予打断。
  线线自动打断:勾选该复选框后,在容限范围内,两条(或两条以上)相交的线对象会在相交处被打断,若线对象与另一条线的端点相交,则这个线对象会在相交处被打断。此外,勾选“线线自动打断”操作时,系统会同时默认勾选“点自动打断线”,即“线线自动打断”功能不可以单独使用。
  打断容限:设置打断容限,这里的打断容限即结点容限,表示线对象与线对象、线对象与点对象之间的最小距离。
  注意:用于构建三维网络数据集的数据必须具有相同坐标系,否则构建失败。

自定义构建三维网络

操作步骤:【交通分析】-【路网分析】-【拓扑构网】-【自定义构建三维网络】
在这里插入图片描述

  1. 结点数据:选择三维点数据集及其所在的数据源,同时设置结点数据的“结点标识字段”。
  2. 弧段数据:选择三维点数据集及其所在的数据源,并设置弧段数据的起始结点标识字段、终止结点标识字段、弧段标识字段。
  3. 结果设置:选择结果数据集所在的数据源,同时可修改结果数据集的名称。

注意:
  用于构建三维网络数据集的数据必须具有相同的坐标系,否则构建失败。
  结点数据的结点标识字段不支持选择 SmID,SmID 为系统字段,若结点数据数据有更新或复制,每天记录的 SmID 的字段值会有变化,若以该字段作为结点标识字段,则结点与弧段的关联关系也会发生变化,导致结点与弧段构建的网络数据集有错。弧段标识字段不会影响结点数据与弧段数据的构网情况。
  自定义构网构建的网络数据集的弧段 ID、弧段起始结点 ID、弧段终止结点 ID 和结点 ID 字段,为设置参数时指定的字段,而不再是 SMEDGEID、SmFNode、SmTNode、SMNODEID 等系统字段。

3、新建符号/引入符号库

  当构建三维网络数据集完成后,想要得到三维管线的效果,还需要用三维管线、管点符号去对数据进行符号化,在符号化前则需要保证工作空间中有对应的符号。在iDesktop中,提供导入符号库和新建符号两种方式,导入符号库的步骤为:打开工作空间管理器节点中【资源】-【点符号库】/【线型符号库】-【文件】-【导入点符号库】/【导入线型符号库】,然后选择对应的符号库文件导入即可。
  当没有符号库文件,工作空间中没有符号时,则需要新建符号,新建步骤如下:

新建管线符号

  操作步骤: 【工作空间管理器】 - 【资源】-【线型符号库】-【编辑】-【新建三维线型】
  【截面列表】选择圆形截面,设置【线宽】、【线颜色】后,修改【符号名称】等信息; (注:绘制界面的网格单位为:cm)在这里插入图片描述

新建管点符号

  在iDesktop新建三维点符号中,根据使用场景的不同,可分为以下两种:

  • 【自适应管点】符号适用于场景中的弯头、三通、四通等管点与管线的匹配问题
  • 【三维点符号】适用于部分特殊特征点、井和附属设施,两者新建符号的具体方式如下:

新建三维符号:
  操作步骤:【编辑】-【新建符号】-【新建三维符号】
  点击“设置模型”按钮,弹出“打开”对话框,选择一个自制模型文件(*.sgm 或 3ds 文件),并确定打开; 设置“缩放比例”和“转角度”,可使用默认数值;修改“符号名称”后,单击“设置快照”按钮,设置符号的快照图片,点击“确定”即可完成三维点符号的新建。
新建自适应管点符号:
  操作步骤:在【工作空间管理器】的【资源】双击【点符号库】或右键选择【加载点符号库】,打开【点符号选择器】对话框;
  【编辑】-【新建符号】-【新建三维自适应管点符号】
在这里插入图片描述
  注:参数设置
  端部厚度:表示管点符号的箍的长度,当设置该参数值为“0”时,表示该符号不带箍;
  转角细分数:表示管点符号弯头的平滑度,数值越大,弯头效果越平滑。

4、符号化网络数据集

  构建网络数据集完成后,将网络数据集添加到场景中仍然是矢量数据的显示效果,需要得到管线、管点的模型效果,则要对网络数据集进行符号化。在iDesktop中,有两种符号化方式:专题图符号化适用于网络数据集的线数据中和节点数据中已经存入了与之相对应的如管点符号ID、管线符号ID、管线符号宽度等 管线/管点符号字段;自适应管点则适用于场景中有弯头、三通、四通等复杂管点时,系统可以根据结点与弧段的拓扑信息,结点自动生成生成与管线相接的弯头、三通、四通等管点符号。两种方式具体操作步骤如下:

专题图符号化

操作步骤:
  打开网络数据集属性表(节点、线),确认符号相关字段,确认资源库中已存在所需符号
  将三维网络数据集添加入场景,得到两个图层,分别为节点图层和线图层
  对节点图层和线图层分别制作自定义专题图(选中图层右键单击- 【制作专题图】-【自定义专题图】)
  打开自定义专题图操作面板,设置符号
  管点专题图:选中图层右键单击 - 【修改专题图】- 打开专题图面板 - 根据需要设置符号风格、符号颜色、符号大小等字段
  管线专题图:选中图层右键单击 - 【修改专题图】- 打开专题图面板 - 根据需要设置线型风格、线型颜色 、线型宽度字段
  刷新场景:在场景中右键单击,选择【刷新】

自适应管点

操作步骤 :
  将构建管线数据的网络数据集添加到场景
  在图层管理器中,分别选中三维网络数据集的管线和管点图层,在“风格设置”选项卡中,设置图层 “高度模式”为绝对高度,如果数据来源于地下,设置“数据来自”为地下。
  设置管线符号,右击图层,选择【图层风格】,设置管线符号,刷新场景即可,结点已自动生成与管线相接的弯头、三通、四通等管点符号

5、生成三维缓存

  在进行符号化完成之后,在SuperMap iClient3D for Cesium进行使用前,需要先在SuperMap iDesktop切缓存,具体操作步骤如下:
  保存场景:在符号化完成之后,保存场景;
  生成缓存:在工作空间管理器中,右键单击保存的场景,选择【生成场景缓存】。
  注意:管点采用的是【点外挂模型生成缓存】的方式生成缓存,所以如果未勾选【点外挂模型生成缓存】,则生成的缓存无管点符号。
  点外挂生成模型缓存:场景中具有相同材质、形状以及大小但仅空间位置和姿态不同的模型,采用模型只存一份,位置信息采用三维点数据集存储的方式存储多个模型数据集的模型,减少空间占用和数据量。

在这里插入图片描述

6、SuperMap iClient3D for Cesium加载服务

方式一:以场景方式加载
viewer.scene.open('http://localhost:8090/iserver/services/3D-testbeijing-2/rest/realspace')
方式二:以图层方式加载
viewer.scene.addS3MTilesLayerByScp('http://localhost:8090/iserver/services/3D-testbeijing-2/rest/realspace/datas/Pipeline/config',{
        name:'Pipeline'
    })

笔者:wzr

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/46724.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python期末复习案例

一.条件判断 1. 判断一个数能否同时被3和7整除 and 两者都要为真 2.判断一个数能同时被3或者7整除 但不能同时被3和7整除 ★要使用not 3.输入年份,看是否为闰年 闰年条件:能被4整除但不能被100整除,或者能被四百整除 定义两个变量 保存一个…

leetcode 464. 我能赢吗 官方代码的一步步演进

这里写自定义目录标题题目示例解题优化1 记忆化搜索优化2:使用二进制代替choosable_list计算复杂性题目 在 “100 game” 这个游戏中,两名玩家轮流选择从 1 到 10 的任意整数,累计整数和,先使得累计整数和 达到或超过 100 的玩家…

Kafka - 09 Kafka副本 | Leader选举流程 | Follower故障 | Leader故障

文章目录1. 副本基本信息2. Leader选举流程3. Follower故障4. Leader故障1. 副本基本信息 1)Kafka 副本作用:提高数据可靠性。 2)Kafka 默认副本 1 个,生产环境一般配置为 2 个,保证数据可靠性;太多副本会…

深度学习网络模型——DenseNet模型详解与代码复现

深度学习网络模型——DenseNet模型详解与代码复现1、DenseNet概述2、DenseNet网络结构1、DenseNet中的DenseBlock模块2、DenseNet中的Transition模块3、DenseNet网络结构参数设置4、实验结果对比1、DenseNet概述 2、DenseNet网络结构 1、DenseNet中的DenseBlock模块 2、DenseNe…

内网穿透:针对小白的VSCode+云服务器+本地Ubuntu搭建GPU云服务器

前言 自己实验室的情况: 实验室拥有自己的GPU集群、工作站使用仅限于线下或者远程向日葵(不稳定、速度慢)拥有自己的廉价cpu轻量云服务器(阿里云服务器(2G2*cpu),大概40左右一年) 平时出差、在宿舍等需要远程操作,向…

Python学习笔记-数字类型

目录 1. 数字类型 1.1 整型 1.2 浮点数 1.3 复数 1.4 布尔类型 2. 常用内置数值计算函数库 3. 随机数函数 本文记录python中的基本数字类型信息,以及一些其他的相关知识点。 1. 数字类型 python中用于标识数字或者数值的数据类型,主要有如下分类…

​鸽群卫星(Flock)​介绍

鸽群卫星(Flock)是美国Planet公司[1]研制的3U遥感立方体卫星星座,单颗卫星重约5kg,也被称为“鸽子”(Dove)。鸽群星座主要有两类轨道:空际空间站释放420km高、52度倾角轨道(ISS&…

R语言基于决策树的银行信贷风险预警模型

引言 我国经济高速发展,个人信贷业务也随着快速发展,而个人信贷业务对提高内需,促进消费也有拉动作用。有正必有反,在个人信贷业务规模不断扩大的同时,信贷的违约等风险问题也日益突出,一定程度上制约着我…

力扣(LeetCode)115. 不同的子序列(C++)

动态规划 状态转移方程 f[i,j]{f[i−1,j]f[i−1,j]f[i−1,j−1]if s[i]t[j]f[i,j]\begin{cases} f[i-1,j]\\ f[i-1,j]f[i-1,j-1]&\text{if } s[i]t[j] \end{cases}f[i,j]{f[i−1,j]f[i−1,j]f[i−1,j−1]​if s[i]t[j]​ 无论选不选 s[i]s[i]s[i] , f[i][j]f[i…

解决报错:fatal: in unpopulated submodule *

目录 问题 解决 问题 今天想把两个 Git 工程合并成一个工程,尽管已经将其中一个工程的 .git 目录删除了,但是在合并提交时还是遇到了一个和子模块相关的报错,具体报错信息如下: fatal: in unpopulated submodule * 报错截图如下…

【iMessage苹果相册日历推位置推送】软件安装deviceToken是由APNs生成的

推荐内容IMESSGAE相关 作者推荐内容iMessage苹果推软件 *** 点击即可查看作者要求内容信息作者推荐内容1.家庭推内容 *** 点击即可查看作者要求内容信息作者推荐内容2.相册推 *** 点击即可查看作者要求内容信息作者推荐内容3.日历推 *** 点击即可查看作者要求内容信息作者推荐…

SpringBoot+html+vue模板开发

除了对某个表基本的增删改查以外&#xff0c;可能需要额外的增加操作&#xff0c;这里是通过按钮来实现的 1、新增一个测试按钮 <el-button type"primary" class"butT" click"test()">测试</el-button> 2、这个按钮绑定一个方法t…

Android 创建桌面组件Widget——构建应用微件(二)

Android 创建桌面组件Widget——构建应用微件&#xff08;二&#xff09;Android 创建桌面组件Widget——构建应用微件&#xff08;二&#xff09;概览使用 AppWidgetProvider 类接收应用微件广播 Intent固定应用微件设置预览图片完整代码Android 创建桌面组件Widget——构建应…

Spark学习(7)-SparkSQL函数定义

1 SparkSQL 定义UDF函数 目前在SparkSQL中&#xff0c;仅仅支持UDF和UDAF函数&#xff0c;python仅支持UDF。 1.1 定义方式 定义方式有两种&#xff1a; sparksession.udf.register() 注册的UDF可以用于DSL和SQL&#xff0c;返回值用于DSL风格&#xff0c;传参内的名字用于SQ…

如何在Odoo中添加水印?

为了防止信息的泄露&#xff0c;水印作为一种防泄密的方式&#xff0c;被使用的频率越来越高。 那么在Odoo中&#xff0c;如何添加水印呢&#xff1f;其实添加的方法有很多&#xff0c;如利用svg生成背景图&#xff0c;重复的dom元素覆盖等等。 本文主要讲解利用canvas输出背…

不懂单链表? 这篇文章就帮你搞明白

坚持看完&#xff0c;结尾有思维导图总结 链表对指针的操作要求不低链表的概念链表的特性链表的功能(最重要)定义和初始化头插头删细节说明尾插尾删寻找链表元素与打印链表在 某位置后插入删除在某位置的插入删除销毁链表链表的概念 什么是链表 官方概念&#xff1a;链表是一种…

链表(1)

我们以前学过的线性数据结构底层原理都是依托静态数组来实现的&#xff0c;今天我们讲学习一个最简单的动态数据结构---->链表&#xff01; 掌握链表有助于学习更加复杂的数据结构&#xff0c;例如&#xff1a;二叉树、trie 链表的优点是不需要处理固定的问题&#xff0c;…

mavon-editor的使用

vue3vitets下安装mavon-editor 3.0.0-beta版本&#xff0c;效果如下&#xff1a; 安装 //引入样式 import mavon-editor/dist/css/index.css; import mavonEditor from mavon-editor; app.use(router).use(mavonEditor).mount(#app);<template><div class"rich…

zabbix主动监控和被动监控

目录 一、环境准备 1、搭建zabbix基础环境 二、主动监控与被动监控介绍 三、设置客户端为主动监控 1、给web2主机安装zabbix_agent 2、修改主动监控配置 四、设置zabbix管理端主动监控 1、克隆模板 2、给目标主机绑定主动监控模板 3、查看主动监控的数据 一、环境准备…

【HIT-OSLAB-实验中的碎碎念】

文章目录应该养成的好习惯删除 替换 修改 内容时 记得留备份遇到问题要通过文字 图片 等多种途径去记录不同的项目应该在不同的文件夹进行处理代码文档 记得添加一些注释用于说明功能多输出有区别度的提示信息s找bug 先定位错误 再改当一份代码有不同版本的时候 记得说明每份代…