SuperMap iObject入门开发系列七管线横断面分析
2023-09-11 14:19:51 时间
本文是一位好友“托马斯”授权给我来发表的,介绍都是他的研究成果,在此,非常感谢。
管线横断面分析功能是管线系统常见的一个分析功能,地下管线横断面分析的原理,是根据需求,在管线区域画一条横截面线,使其与地下管线相交,根据相交情况获得地下管线改交点的横截面和埋深等信息,并画图显示出来,结果界面图:
具体功能实现思路:
- 首先进行横截面线的绘制,这里依然是使用Action3D.MeasureDistance测量工具进行画线,画线结束后,我在这里将绘制的线获取分别生成三维线数据集和二维线数据集,其中三维线数据集用于生成图层进行展示,二维线数据集用于后面和管线求交等一系列计算。下面贴出创建三维数据集和生成图层的部分代码。
- 前面的准备工作完成后,就开始进行核心部分的代码编写。我们先理一理整个思路,我们最后要获取的东西是管线的横截面图,这就涉及到我们画的横截面线和管线交点位置的埋深和管径,管径可以直接从管线数据集获取,交点埋深则要通过计算了。这里讲解一下交点埋深的计算方法,首先计算得到交点的坐标(Xi,Yi),获取管线的起始坐标(X0,Y0),终止坐标(Xt,Yt),起始埋深H0,终止埋深Ht。我们要求的交点埋深Hi。
- 最后将计算结果,结合管径,管线颜色等数据信息,展示成图。这里用的是Bitmap对象进行保存绘制的横断面等,结合Graphics类对象设置画笔颜色等进行绘图。代码比较繁琐,这里就不贴出来。
详细文章见:这里
好友“托马斯”技术交流QQ:519926200
相关文章
- Hibernate入门之主键生成策略详解
- Raphaeljs入门到精通(一)
- 【Unity 3D 游戏开发】Unity3D 入门 - 工作区域介绍 与 入门演示样例
- 《微信小程序:开发入门及案例详解》—— 2.4 框架页面文件
- 《微信小程序:开发入门及案例详解》—— 2.5 模块化
- 【一起来烧脑】一步学会TypeScript入门
- 《51单片机应用开发从入门到精通》——2.10 变频报警实例
- 《Redis入门指南》一5.3 Python与Redis
- 《嵌入式设备驱动开发精解》——2.3 嵌入式开发入门第一步
- 《C++ 开发从入门到精通》——2.2 分析C++的程序结构
- 《iOS 9应用开发入门经典(第7版)》——第2章,第2.6节作业
- 《Java 2D游戏编程入门》—— 导读
- 《iOS9开发快速入门》——第1章,第1.2节构建开发环境—Xcode 7.0
- 《iOS9开发快速入门》——第2章,第2.3节Xcode 7.0项目结构
- 《iOS 8应用开发入门经典(第6版)》——第1章,第1.3节运行iOS应用
- 《iOS 8应用开发入门经典(第6版)》——第1章,第1.4节开发技术概述
- 《iOS 8应用开发入门经典(第6版)》——第1章,第1.7节问与答
- 《网站设计 开发 维护 推广 从入门到精通》—— 1.1 网页设计的相关术语
- 《Android应用开发入门经典(第3版)》——第6.2节使用输入控件
- Linux入门以及一些常用命令
- openlayers4 入门开发系列之船讯篇
- openlayers4 入门开发系列之地图切换篇(附源码下载)
- openlayers4 入门开发系列之地图属性查询篇(附源码下载)
- arcgis api 3.x for js 入门开发系列八聚合效果(附源码下载)
- ElasticSearch入门到精通详解
- 华为云从入门到实战 | 云服务概述与华为云搭建Web应用
- R语言入门:数据框的创建和访问
- 拓扑排序入门(真的很简单)