Desktop里的工具是有一系列的数据转换的,但在.Net组件里这些功能需要自己去做。其实也很简单,自己写一个函数就能达到同样的效果。
Private Sub Line2DToLine3D(ByVal dataSetVector2D As DatasetVector,
ByVal dataSetVector3D As DatasetVector,
ByVal startZfild As String,
ByVal endZfild As String)
Dim scene As Scene = m_SceneControl.Scene
Dim recordSetPipe2D As Recordset = dataSetVector2D.GetRecordset(False, CursorType.Static)
Dim recordSetPipe3D As Recordset = dataSetVector3D.GetRecordset(False, CursorType.Dynamic)
''遍历2D管线数据 建立新3D管线数据
recordSetPipe3D.Batch.MaxRecordCount = 500 ''批量检索
recordSetPipe3D.Batch.Begin()
For i As Integer = 1 To recordSetPipe2D.RecordCount
recordSetPipe2D.SeekID(i)
Dim line As GeoLine = recordSetPipe2D.GetGeometry()
Dim points As Point2Ds = line.Item(0)
Dim startZ