在SuperMap iDesktopX中可以通过【拓扑构网】、【制作专题图】等方式配置三维管网模型。但固定的软件操作偶尔会不满足于用于高自由处理使用的业务场景,因此SuperMap iObject Java的好处即可体现。使用组件产品自行开发,搭配功能实现功能组合,一键生成也成为众多人士心头好。
管网数据常见有原始数据为【三维线数据集】、【三维线数据集】与【三维点数据集】以及【网络数据集】。 如数据未构建网络数据集,需先行构网。因此, 使用SuperMap iObject Java构建管网模型基础技术思路为先行对原始数据构建网络数据集,然后制作【自定义专题图】配置风格,如管点模型符号,最后添加至【场景】浏览。
在SuperMap iObject Java范例程序中,也可以参考【场景操作与地下模式】中管点制作自定义专题图的示例代码,或者【三维专题图】示例。
二、主要代码
构建网络数据集主要用到NetworkBuilder3D类。三维网络建模类。该类提供三维网络数据集的构建,以及为三维网络数据集创建流向等功能。
三维网络数据集是进行三维网络分析的数据基础。与二维的网络模型相同,三维的网络模型分为三维设施网络模型和三维交通网络模型;同样使用弧段和结点及二者的空间拓扑关系来描述网络。二者的根本区别在于三维网络模型使用(x,y,z)表达空间位置。
本类提供了三种构建网络数据集的方法(三个 buildNetwork 重载方法),满足在不同的数据基础之上构建三维网络数据集:
1.已有的三维点、线数据不需要打断,并具有表达点线拓扑关系的字段(对应网络数据集的弧段 ID、结点 ID、起始结点 ID 和 终止结点 ID),例如采集管点和管段来建立管网,可以使用buildNetwork方法;
2.仅由三维线数据集构建,可通过设置打断模式确定是否在线线相交处打断,详见 buildNetwork方法;
3.由三维点(可选)、线数据集共同构建,可通过设置打断模式确定是否在点线相交、线线相交处打断,详见 buildNetwork方法。
需要特别强调的是,用于构建三维网络数据集的数据必须具有相同的坐标系,否则构建失