海图图层类。该类继承于 Layer 类,提供对海图图层的显示、选择等控制的方法。
命名空间:
SuperMap.Mapping程序集: SuperMap.Mapping (in SuperMap.Mapping)
版本: dll
语法
C# |
---|
public class LayerChart : Layer |
示例
以下代码示范了如何获取海图图层,并获取海图图层上选择的对象信息数组,以及读取物标信息。使用本示例代码,请确保在您的项目中存在一个名为 m_mapControl 的地图控件(MapControl),并且与当前工作空间相关联。还要求在当前工作空间的地图中已经添加了一幅海图图层(LayerChart),且该海图图层上存在被选中的海图物标。
CopyC#
/// <summary> /// 获取海图图层并查询选中的海图物标的信息。 /// </summary> private void LayerChartExample() { //获取海图图层 LayerChart layerChart = (LayerChart)m_mapControl.Map.Layers[0]; //获取海图图层上被选中的物标信息数组 ChartObjectInfo[] chartObjectInfos = layerChart.SelectionInfos; //遍历选中的物标信息数组,获取物标的基本信息 if (chartObjectInfos.Length > 0) { ChartObjectInfo chartObjectInfo; for (Int32 i = 0; i < chartObjectInfos.Length; i++) { chartObjectInfo = chartObjectInfos[i]; //获取物标的本地化名称 String name = chartObjectInfo.LocalName; //获取物标的 RCID 标识 Int64 featureID = chartObjectInfo.FeatureID; //获取物标的物标编码 Int32 code = chartObjectInfo.Code; //获取物标的几何对象类型 GeometryType type = chartObjectInfo.GeometryType; //还可以通过 ChartObjectInfo 类的其他属性获取物标简称、机构简称、水深 //值等信息 String Infos = "第" + (i + 1) + "个物标\n名称:" + name + "\n物标编码:" + code + "\nRCID:" + featureID + "\n几何对象类型:" + type + "\n"; //获取 S-57 标准中定义的物标属性信息,包括属性的简称和字段值 ChartAttributeInfo[] chartAttributeInfos = chartObjectInfo.S57Attributes; ChartAttributeInfo chartAttributeInfo; String attributeInfo; for (Int32 j = 0; j < chartAttributeInfos.Length; j++) { chartAttributeInfo = chartAttributeInfos[j]; attributeInfo = "属性简称:" + chartAttributeInfo.Acronym + " 值:" + chartAttributeInfo.Value + "\n"; Infos += attributeInfo; } //输出物标信息 Console.WriteLine(Infos); } } }