从一个矢量数据集的关联属性表中的 X、Y 坐标字段的创建点数据集。即以该矢量数据集的属性表中的x 、y坐标字段作为数据集的x、y坐标来创建点数据集。

命名空间:  SuperMap.Data
程序集:  SuperMap.Data (in SuperMap.Data)
版本: dll

语法

C#
public DatasetVector FieldToPointDataset(
	DatasetVector srcDataset,
	string desDatasetName,
	string fieldX,
	string fieldY
)

参数

srcDataset
Type: SuperMap.Data..::.DatasetVector
关联属性表中带有坐标字段的矢量数据集。
desDatasetName
Type: System..::.String
待创建的点数据集的名称。
fieldX
Type: System..::.String
表示点横坐标的字段。
fieldY
Type: System..::.String
表示点纵坐标的字段。

返回值

新创建的点数据集。

备注

注意:待创建的点数据集名称不能与数据源中已有的数据集重名。

示例

以下代码示范如何从矢量数据集的字段创建点数据集,如何创建内点数据集,如何将字符型字段转换成文本数据集,如何将记录集的内容生成一个相应类型的矢量数据集。

假设打开一个工作空间workspace,工作空间中有一个数据源 datasource,该数据源中的一个数据集{datasetVector}有两个名为 SQKM 和 SQMI 的 Double 类型字段,以及名为 Capital 的 String 类型字段。

CopyC#
public void TestToDataset(Workspace workspace, Datasource datasource)
{
    // 从 datasetVector 属性表的 SQKM、SQMI 字段创建点数据集
    DatasetVector datasetVector = datasource.Datasets["world"] as DatasetVector;
    String datasetNamePoint = datasource.Datasets.GetAvailableDatasetName("point");
    datasource.FieldToPointDataset(datasetVector, datasetNamePoint, "SQKM", "SQMI");

    // 创建 datasetVector 的内点数据集
    String datasetNameInnerPoint = datasource.Datasets.GetAvailableDatasetName("innerPoint");
    datasource.InnerPointToDataset(datasetVector, datasetNameInnerPoint);

    // 用于将 datasetVector 的“Capital”字段生成一个文本数据集
    String datasetNameText = datasource.Datasets.GetAvailableDatasetName("text");
    datasource.LabelToTextDataset(datasetVector, datasetNameText, "Capital", new TextStyle());

    // 获得 SmID>10 的记录并保存至 Record 数据集中
    Recordset recordset = datasetVector.Query("SmID >10", CursorType.Static);
    String datasetName = datasource.Datasets.GetAvailableDatasetName("fromRecordset");
    datasource.RecordsetToDataset(recordset, datasetName);
    recordset.Dispose();
}

请参见