com.supermap.mapping
类 LayerChart

java.lang.Object
  继承者 com.supermap.mapping.Layer
      继承者 com.supermap.mapping.LayerChart

public class LayerChart
extends Layer

海图图层类。该类继承于 Layer 类,提供对海图图层的显示、选择等控制的方法。

示例:
以下代码示范了如何获取海图图层,并获取海图图层上选择的对象信息数组,以及读取物标信息。使用本示例代码,请确保在您的项目中存在 一个名为 m_mapControl 的地图控件(MapControl),并且与当前工作空间相关联。还要求在当前工作空间的地图中已经添加了一幅海图图层(LayerChart), 且该海图图层上存在被选中的海图物标。
        /**
         * 获取海图图层并查询选中的海图物标的信息。
         */
        private void layerChartExample() {
                //获取海图图层
                LayerChart layerChart = (LayerChart)m_mapControl.getMap().getLayers().get(0);

                //获取海图图层上被选中的物标信息数组
                ChartObjectInfo[] chartObjectInfos = layerChart.getSelectionInfos();

                //遍历选中的物标信息数组,获取物标的基本信息
                if (chartObjectInfos.length > 0) {
                        ChartObjectInfo chartObjectInfo;
                        for (int i = 0; i < chartObjectInfos.length; i++) {
                                chartObjectInfo = chartObjectInfos[i];

                                //获取物标的本地化名称
                                String name = chartObjectInfo.getLocalName();
                                //获取物标的 RCID 标识
                                long featureID = chartObjectInfo.getFeatureID();
                                //获取物标的物标编码
                                int code = chartObjectInfo.getCode();
                                //获取物标的几何对象类型
                                GeometryType type = chartObjectInfo.getGeometryType();

                                //还可以通过 ChartObjectInfo 类的其他属性获取物标简称、机构简称、水深
                                //值等信息
                                String Infos = "第" + (i + 1) + "个物标\n名称:" + name + "\n物标编码:"
                                        + code + "\nRCID:" + featureID + "\n几何对象类型:" + type + "\n";

                                //获取 S-57 标准中定义的物标属性信息,包括属性的简称和字段值
                                ChartAttributeInfo[] chartAttributeInfos = chartObjectInfo.getS57Attributes();
                                ChartAttributeInfo chartAttributeInfo;
                                String attributeInfo;
                                for (int j = 0; j < chartAttributeInfos.length; j++) {
                                        chartAttributeInfo = chartAttributeInfos[j];
                                        attributeInfo = "属性简称:" + chartAttributeInfo.getAcronym() + "  值:"
                                                + chartAttributeInfo.getValue() + "\n";
                                        Infos += attributeInfo;
                                }

                                //输出物标信息
                                System.out.print(Infos);
                        }
                }
        }
 

方法摘要
 void addElementDrawingListener(ElementDrawingListener l)
          此类不支持该接口。
 void clearSelections()
          清空选择集数组。
 void clearThemeElementPositions()
          此类不支持该接口。
 LayerSetting getAdditionalSetting()
          此类不支持该接口。
 Dataset getDataset()
          此类不支持该接口。
 DatasetGroup getDatasetGroup()
          返回当前海图图层对应的数据集分组。
 QueryParameter getDisplayFilter()
          此类不支持该接口。
 FillMarkerOrderMode getFillMarkerOrder()
          此类不支持该接口。
 double getMinVisibleGeometrySize()
          此类不支持该接口。
 int getOpaqueRate()
          此类不支持该接口。
 java.lang.String getRepresentationField()
          此类不支持该接口。
 Selection getSelection()
          此类不支持该接口。
 ChartObjectInfo[] getSelectionInfos()
          返回当前选择的对象信息数组。
 Selection[] getSelections()
          返回当前海图图层的选择集的集合。
 double getSymbolScale()
          此类不支持该接口。
 GeoRegion getTextClipRegion()
          返回文本显示裁剪区,该裁剪区裁剪对应海图图层上所有点线对象。
 Theme getTheme()
          此类不支持该接口。
 Point2D getThemeElementPosition(int geometryID)
          此类不支持该接口。
 java.lang.String[] getValueExpressions()
          此类不支持该接口。
 void highlightObject(long featureID, int recordsetID, boolean isMoveToCenter)
          高亮显示选择集中指定的某个物标对象。
 Selection hitTest(Point2D pt, double tolerance)
          此类不支持该接口。
 boolean hitTest(Point2D pt, double tolerance, java.util.ArrayList<GeoText> testResult)
          此类不支持该接口。
 boolean hitTest(Point2D pt, double tolerance, java.lang.String resultExpression, java.util.ArrayList<GeoText> testResult)
          此类不支持该接口。
 boolean hitTestExtend(Point2D point, double tolerance)
          海图图层扩展的点击测试,返回是否点击成功。
 boolean hitTestGeoCompound(Point2D pt, double tolerance, java.lang.String resultExpression, java.util.ArrayList<GeoCompound> testResult)
          此类不支持该接口。
 boolean isCompleteLineSymbolDisplayed()
          此类不支持该接口。
 boolean isCrossroadOptimized()
          此类不支持该接口。
 boolean isEditable()
          此类不支持该接口。
 boolean isRepresentationEnabled()
          此类不支持该接口。
 boolean isSnapable()
          此类不支持该接口。
 boolean isSymbolScalable()
          此类不支持该接口。
 boolean isVisibleScale(double dScale)
          此类不支持该接口。
 void removeElementDrawingListener(ElementDrawingListener l)
          此类不支持该接口。
 boolean removeThemeElementPosition(int geometryID)
          此类不支持该接口。
 void setAdditionalSetting(LayerSetting layerSetting)
          此类不支持该接口。
 void setAttributeModifiedFlag()
          通过记录集编辑属性,在编辑完成时进行设置,用于刷新地图时重新读取部分数据集。
 void setCompleteLineSymbolDisplayed(boolean value)
          此类不支持该接口。
 void setCrossroadOptimized(boolean value)
          此类不支持该接口。
 void setDataset(Dataset dataset)
          此类不支持该接口。
 void setDisplayFilter(QueryParameter queryParameter)
          此类不支持该接口。
 void setEditable(boolean value)
          此类不支持该接口。
 void setFillMarkerOrder(FillMarkerOrderMode fillMarkerOrderMode)
          此类不支持该接口。
 void setMinVisibleGeometrySize(double value)
          此类不支持该接口。
 void setOpaqueRate(int value)
          此类不支持该接口。
 void setRepresentationEnabled(boolean value)
          此类不支持该接口。
 void setRepresentationField(java.lang.String value)
          此类不支持该接口。
 void setSelection(Selection selection)
          此类不支持该接口。
 void setSnapable(boolean value)
          此类不支持该接口。
 void setSymbolScalable(boolean value)
          此类不支持该接口。
 void setSymbolScale(double value)
          此类不支持该接口。
 void setTextClipRegion(GeoRegion value)
          设置文本显示裁剪区,该裁剪区裁剪对应海图图层上所有点线对象。
 void setThemeElementPosition(int geometryID, Point2D position)
          此类不支持该接口。
 void setValueExpressions(java.lang.String[] value)
          此类不支持该接口。
 Geometry[] themeSymbolsToGeometries(Recordset recordset)
          此类不支持该接口。
 DatasetVector themeToDatasetVector(Datasource datasource, java.lang.String datasetName)
          此类不支持该接口。
 
从类 com.supermap.mapping.Layer 继承的方法
addGridFunction, findLayer, fromXML, getBounds, getCaption, getClipRegion, getDeduplicateThreshold, getDeduplicateTolerance, getDescription, getDisplayControledLayer, getEndTimeField, getExternalInfo, getFieldValuesDisplayFilter, getMaxVisibleScale, getMinVisibleScale, getName, getOverlapGeometryPixel, getOverlapGeometryThreshold, getParentGroup, getParentSnapshot, getStartTimeField, getTimeFilterEnding, getTimeFilterStarting, getTimeStepInterval, isAntialias, isClipRegionEnabled, isDeduplicateEnabled, isDisposed, isOverlapDisplayed, isOverlapGeometryEnabled, isSelectable, IsTimeFilterEnable, isVisible, setAntialias, setCaption, setClipRegion, setClipRegionEnabled, setDeduplicateEnabled, setDeduplicateThreshold, setDeduplicateTolerance, setDescription, setDisplayControledLayer, setEndTimeField, setExternalInfo, setMaxVisibleScale, setMinVisibleScale, setOverlapDisplayed, setOverlapGeometryEnabled, setOverlapGeometryPixel, setOverlapGeometryThreshold, setSelectable, setStartTimeField, setTimeFilterEnable, setTimeFilterEnding, setTimeFilterStarting, setTimeStepInterval, setVisible, toXML
 
从类 java.lang.Object 继承的方法
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

方法详细信息

getSelections

public Selection[] getSelections()
返回当前海图图层的选择集的集合。

返回:
指定的图层选择集集合。

getSelectionInfos

public ChartObjectInfo[] getSelectionInfos()
返回当前选择的对象信息数组。

返回:
指定的对象信息数组。
示例:
请参见 LayerChart 类的示例。

clearSelections

public void clearSelections()
清空选择集数组。


hitTestExtend

public boolean hitTestExtend(Point2D point,
                             double tolerance)
海图图层扩展的点击测试,返回是否点击成功。

若指定的点与对象上最近点的距离是在指定的容限范围内,则该对象被选中。 如果多个重叠的对象都满足条件,则都被选中。

参数:
point - 要测试的点。
tolerance - 指定的容限。
返回:
是否点击成功。

highlightObject

public void highlightObject(long featureID,
                            int recordsetID,
                            boolean isMoveToCenter)
高亮显示选择集中指定的某个物标对象。

注意:

1. 高亮显示选择集中的指定物标对象后,选择集中的其他物标对象不再高亮显示;重新选择要素后,该物表对象的高亮显示失效;

2. 该方法会自动刷新跟踪层或地图,不需要再手动调用刷新。

参数:
featureID - 指定的物标对象的 ID。
recordsetID - 指定的物标对象所在记录集的 ID。
isMoveToCenter - 指定是否要将此物标在地图窗口中居中显示,为 true 时会刷新地图。
示例:
以下代码示范了如何高亮显示海图图层选择集中的某一个海图物标对象。使用如下代码时,请确保存在包含海图图层的地图上存在被选中的海图物标。
        /**
         * 高亮显示指定的海图物标。
         * @param layerChart 指定的选中物标的海图图层。
         */
        private void highlightChartObjectExample(LayerChart layerChart) {
                //获取海图图层上被选中的物标信息数组
                ChartObjectInfo[] chartObjectInfos = layerChart.getSelectionInfos();

                //将物标对象信息数组中的第 1 个物标高亮显示
                if (chartObjectInfos.length > 0) {
                        long featureID = chartObjectInfos[0].getFeatureID();
                        int recordsetID = chartObjectInfos[0].getRecordsetID();
                        GeometryType type = chartObjectInfos[0].getGeometryType();

                        //高亮该海图物标
                        layerChart.highlightObject(featureID, recordsetID, true);
                }
        }
 

setAttributeModifiedFlag

public void setAttributeModifiedFlag()
通过记录集编辑属性,在编辑完成时进行设置,用于刷新地图时重新读取部分数据集。


getTextClipRegion

public GeoRegion getTextClipRegion()
返回文本显示裁剪区,该裁剪区裁剪对应海图图层上所有点线对象。

返回:
文本显示裁剪区。

setTextClipRegion

public void setTextClipRegion(GeoRegion value)
设置文本显示裁剪区,该裁剪区裁剪对应海图图层上所有点线对象。

参数:
value - 文本显示裁剪区。

getDatasetGroup

public DatasetGroup getDatasetGroup()
返回当前海图图层对应的数据集分组。

返回:
当前海图图层对应的数据集分组。

getDataset

public Dataset getDataset()
此类不支持该接口。

覆盖:
Layer 中的 getDataset
返回:
此图层对应的数据集对象。

setDataset

public void setDataset(Dataset dataset)
此类不支持该接口。

覆盖:
Layer 中的 setDataset
参数:
dataset - 此图层对应的数据集对象。

getDisplayFilter

public QueryParameter getDisplayFilter()
此类不支持该接口。

覆盖:
Layer 中的 getDisplayFilter
返回:
图层显示过滤条件。

setDisplayFilter

public void setDisplayFilter(QueryParameter queryParameter)
此类不支持该接口。

覆盖:
Layer 中的 setDisplayFilter
参数:
queryParameter - 指定图层显示过滤条件。

getAdditionalSetting

public LayerSetting getAdditionalSetting()
此类不支持该接口。

覆盖:
Layer 中的 getAdditionalSetting
返回:
普通图层的风格设置。

setAdditionalSetting

public void setAdditionalSetting(LayerSetting layerSetting)
此类不支持该接口。

覆盖:
Layer 中的 setAdditionalSetting
参数:
layerSetting - 普通图层的风格设置。

getTheme

public Theme getTheme()
此类不支持该接口。

覆盖:
Layer 中的 getTheme
返回:
专题图层的专题图对象。

getSelection

public Selection getSelection()
此类不支持该接口。

覆盖:
Layer 中的 getSelection
返回:
此图层中的选择集对象。

setSelection

public void setSelection(Selection selection)
此类不支持该接口。

覆盖:
Layer 中的 setSelection
参数:
selection - 指定图层中的选择集对象。

isSnapable

public boolean isSnapable()
此类不支持该接口。

覆盖:
Layer 中的 isSnapable
返回:
图层是否可捕捉。

setSnapable

public void setSnapable(boolean value)
此类不支持该接口。

覆盖:
Layer 中的 setSnapable
参数:
value - 指定图层是否可捕捉。

isSymbolScalable

public boolean isSymbolScalable()
此类不支持该接口。

覆盖:
Layer 中的 isSymbolScalable
返回:
图层的符号大小是否随图缩放。

setSymbolScalable

public void setSymbolScalable(boolean value)
此类不支持该接口。

覆盖:
Layer 中的 setSymbolScalable
参数:
value - 指定图层的符号大小是否随图缩放。

getSymbolScale

public double getSymbolScale()
此类不支持该接口。

覆盖:
Layer 中的 getSymbolScale
返回:
图层的符号的比例。

setSymbolScale

public void setSymbolScale(double value)
此类不支持该接口。

覆盖:
Layer 中的 setSymbolScale
参数:
value - 指定图层的符号的比例。

getMinVisibleGeometrySize

public double getMinVisibleGeometrySize()
此类不支持该接口。

覆盖:
Layer 中的 getMinVisibleGeometrySize
返回:
返回几何对象的最小可见大小,单位为 0.1 mm。

setMinVisibleGeometrySize

public void setMinVisibleGeometrySize(double value)
此类不支持该接口。

覆盖:
Layer 中的 setMinVisibleGeometrySize
参数:
value - 指定几何对象的最小可见大小。

isCompleteLineSymbolDisplayed

public boolean isCompleteLineSymbolDisplayed()
此类不支持该接口。

覆盖:
Layer 中的 isCompleteLineSymbolDisplayed
返回:
一个布尔值指定是否显示完整线型。

setCompleteLineSymbolDisplayed

public void setCompleteLineSymbolDisplayed(boolean value)
此类不支持该接口。

覆盖:
Layer 中的 setCompleteLineSymbolDisplayed
参数:
value - 一个布尔值,指定是否显示完整线型。

isEditable

public boolean isEditable()
此类不支持该接口。

覆盖:
Layer 中的 isEditable
返回:
返回图层是否处于可编辑状态。

setEditable

public void setEditable(boolean value)
此类不支持该接口。

覆盖:
Layer 中的 setEditable
参数:
value - 图层是否处于可编辑状态。

getValueExpressions

public java.lang.String[] getValueExpressions()
此类不支持该接口。

覆盖:
Layer 中的 getValueExpressions
返回:
返回字段表达式定义的值。

setValueExpressions

public void setValueExpressions(java.lang.String[] value)
此类不支持该接口。

覆盖:
Layer 中的 setValueExpressions
参数:
value - 指定的字段表达式定义的值。

getOpaqueRate

public int getOpaqueRate()
此类不支持该接口。

覆盖:
Layer 中的 getOpaqueRate
返回:
图层的不透明度。

setOpaqueRate

public void setOpaqueRate(int value)
此类不支持该接口。

覆盖:
Layer 中的 setOpaqueRate
参数:
value - 图层的不透明度。

getRepresentationField

public java.lang.String getRepresentationField()
此类不支持该接口。

覆盖:
Layer 中的 getRepresentationField
返回:
返回存储制图表达信息的字段。

setRepresentationField

public void setRepresentationField(java.lang.String value)
此类不支持该接口。

覆盖:
Layer 中的 setRepresentationField
参数:
value - 存储制图表达信息的字段。

isRepresentationEnabled

public boolean isRepresentationEnabled()
此类不支持该接口。

覆盖:
Layer 中的 isRepresentationEnabled
返回:
该图层采用制图表达返回 true;否则返回 false。

setRepresentationEnabled

public void setRepresentationEnabled(boolean value)
此类不支持该接口。

覆盖:
Layer 中的 setRepresentationEnabled
参数:
value - 一个布尔值指定该图层是否采用制图表达。

hitTest

public Selection hitTest(Point2D pt,
                         double tolerance)
此类不支持该接口。

覆盖:
Layer 中的 hitTest
参数:
pt - 要测试的点。
tolerance - 指定的容限。
返回:
返回被选中的对象的集合。

isVisibleScale

public boolean isVisibleScale(double dScale)
此类不支持该接口。

覆盖:
Layer 中的 isVisibleScale
参数:
dScale - 指定的显示比例尺。
返回:
返回 true,表示指定的比例尺为可视比例尺;否则为 false。

themeToDatasetVector

public DatasetVector themeToDatasetVector(Datasource datasource,
                                          java.lang.String datasetName)
此类不支持该接口。

覆盖:
Layer 中的 themeToDatasetVector
参数:
datasource - 表示转换后 CAD 数据集所在的数据源。
datasetName - 表示转换后 CAD 数据集的名称。
返回:
转换后的 CAD 数据集。

clearThemeElementPositions

public void clearThemeElementPositions()
此类不支持该接口。

覆盖:
Layer 中的 clearThemeElementPositions

removeThemeElementPosition

public boolean removeThemeElementPosition(int geometryID)
此类不支持该接口。

覆盖:
Layer 中的 removeThemeElementPosition
参数:
geometryID - 给定的几何对象的 ID。
返回:
成功返回 true,失败返回 false。

getThemeElementPosition

public Point2D getThemeElementPosition(int geometryID)
此类不支持该接口。

覆盖:
Layer 中的 getThemeElementPosition
参数:
geometryID - 给定的几何对象的 ID。
返回:
返回专题元素自定义位置的地理坐标,如果没有自定义,则返回 Point2D.getEMPTY(),即返回一个空的点对象。

setThemeElementPosition

public void setThemeElementPosition(int geometryID,
                                    Point2D position)
此类不支持该接口。

覆盖:
Layer 中的 setThemeElementPosition
参数:
geometryID - 给定的几何对象的ID。
position - 自定义专题元素位置的地理坐标。

hitTest

public boolean hitTest(Point2D pt,
                       double tolerance,
                       java.util.ArrayList<GeoText> testResult)
此类不支持该接口。

覆盖:
Layer 中的 hitTest
参数:
pt - 要测试的点。
tolerance - 指定的容限。
testResult - 用于存储该方法得到的专题图元素,在没有得到满足条件的对象时,该参数对象的长度为 0,该参数不能为 null。
返回:
返回是否得到了专题图元素,true 表示通过该方法得到了专题元素。

hitTest

public boolean hitTest(Point2D pt,
                       double tolerance,
                       java.lang.String resultExpression,
                       java.util.ArrayList<GeoText> testResult)
此类不支持该接口。

覆盖:
Layer 中的 hitTest
参数:
pt - 要测试的点。
tolerance - 指定的容限。
resultExpression - 指定的字段表达式,设置该字段表达式之后可以,可以从结果中取到特定的专题元素对应的几何对象的相关数据。
testResult - 用于存储该方法得到的专题图元素,在没有得到满足条件的对象时,该参数对象的长度为 0,该参数不能为 null。
返回:
返回是否得到了专题图元素,true 表示通过该方法得到了专题元素。

hitTestGeoCompound

public boolean hitTestGeoCompound(Point2D pt,
                                  double tolerance,
                                  java.lang.String resultExpression,
                                  java.util.ArrayList<GeoCompound> testResult)
此类不支持该接口。

覆盖:
Layer 中的 hitTestGeoCompound
参数:
pt - 要测试的点。
tolerance - 指定的容限。
resultExpression - 指定的字段表达式,设置该字段表达式之后可以,可以从结果中取到特定的专题元素对应的几何对象的相关数据。
testResult - 用于存储该方法得到的专题图元素,在没有得到满足条件的对象时,该参数对象的长度为 0,该参数不能为 null。
返回:
返回是否得到了专题图元素,true 表示通过该方法得到了专题元素。

addElementDrawingListener

public void addElementDrawingListener(ElementDrawingListener l)
此类不支持该接口。

覆盖:
Layer 中的 addElementDrawingListener
参数:
l - 一个用于接收元素绘制事件的监听器。

removeElementDrawingListener

public void removeElementDrawingListener(ElementDrawingListener l)
此类不支持该接口。

覆盖:
Layer 中的 removeElementDrawingListener
参数:
l - 一个用于接收元素绘制事件的监听器。

getFillMarkerOrder

public FillMarkerOrderMode getFillMarkerOrder()
此类不支持该接口。

覆盖:
Layer 中的 getFillMarkerOrder
返回:
返回图层的填充模式。

setFillMarkerOrder

public void setFillMarkerOrder(FillMarkerOrderMode fillMarkerOrderMode)
此类不支持该接口。

覆盖:
Layer 中的 setFillMarkerOrder
参数:
fillMarkerOrderMode - 图层的填充模式。

isCrossroadOptimized

public boolean isCrossroadOptimized()
此类不支持该接口。

覆盖:
Layer 中的 isCrossroadOptimized
返回:
一个布尔值,使用十字路口优化则返回true,否则返回false。

setCrossroadOptimized

public void setCrossroadOptimized(boolean value)
此类不支持该接口。

覆盖:
Layer 中的 setCrossroadOptimized
参数:
value - true 为使用十字路口优化,false 为不使用十字路口优化。

themeSymbolsToGeometries

public Geometry[] themeSymbolsToGeometries(Recordset recordset)
此类不支持该接口。

覆盖:
Layer 中的 themeSymbolsToGeometries
参数:
recordset - 需要转换为 Geometry 对象的专题图点符号的记录集。
返回:
返回专题图的点符号转换为 Geometry 对象后的 Geometry 数组。