使用产品:supermap iObjects.NET 10.2.1
问题描述:现在我有二维线数据,线属性表中有起点高程和终点高程,我想要转为三维的线数据,请问应该如何操作。我写的半成品代码如下,遍历到每一条记录时,我想要读取二维线数据的节点信息,但是我用GeoLine.Item属性老是报错,我写的语句是Point2DS point2Ds=geoLine.Item(0),但是会报错显示没有item这个属性。请问怎么办。可以麻烦写一段示例代码实现这个二维线转三维线功能吗
private Dataset To3D_Line(Dataset dataset2D)
{
DatasetVector datasetVector2D = dataset2D as DatasetVector;
//在数据源中创建三维线数据集
Datasource datasource = Datasource;
string name = datasource.Datasets.GetAvailableDatasetName("Line3D");
DatasetVectorInfo datasetVectorInfo = new DatasetVectorInfo(name, DatasetType.Line3D);
DatasetVector datasetVector3D = datasource.Datasets.Create(datasetVectorInfo);
Recordset recordset2D = datasetVector2D.GetRecordset(false, CursorType.Static);
Recordset recordset3D = datasetVector3D.GetRecordset(false, CursorType.Dynamic);
//遍历二维线的记录集
recordset2D.MoveFirst();
while (!recordset2D.IsEOF)
{
GeoLine geoLine = recordset2D.GetGeometry() as GeoLine;
///这里我就不会往下写了
}
return datasetVector3D;
}