com.supermap.data

类 RepresentationElement



  • public class RepresentationElement
    extends Object
    制图表达对象类。

    用来构建制图表达对象,实现矢量数据集中相应的几何对象的制图表达显示,从而达到制图表达的目的。

    什么是制图表达?

    制图表达是矢量数据集中几何对象所关联的信息,它可以使相应的几何对象在地图窗口中显示时,采用其他的表现方式,而原来的几何对象不再显示,注意原几何对象的数据并没有改变,只是显示方式有所变化。

    制图表达对象(RepresentationElement 类对象)定义了制图表达显示形式,制图表达对象中包含了几何对象以及几何对象的风格信息,另外,还有制图表达类型来控制一些显示,包括是否显示原几何对象、是否显示设置的风格和被制图表达的对象是否可见,详细信息请参见 RepresentationType 类。

    设置矢量数据集中的几何对象的制图表达信息是通过 Recordset 类中的相关方法实现的,利用 Recordset 类中的相关方法可以将制图表达信息写入数据集中指定的用于存储制图表达信息的字段。

    当矢量数据集作为图层显示在地图窗口中时,通过该矢量数据集所对应的 Layer 对象的 setRepresentationField() 方法指定存储制图表达信息的字段,那么在图层显示时,就会根据制图表达字段中存储的信息显示相应的几何对象,制图表达信息只是以另一种方式可视化显示数据集中的几何对象,并没有改变原几何对象的空间和属性信息。

    示范代码:
    以下代码示范如何实现矢量数据集中相应的几何对象的制图表达显示。
     public void representationElementTest(){
            // 假设打开一个工作空间 workspace 对象,工作空间中存在一个数据源 datasource 对象
            // 取出数据源中名为 “World” 的面数据集 dataset
            // 查询 SmID=101 对于的记录
            DatasetVector dataset = (DatasetVector) datasets.get("World");
            Recordset recordset = dataset.query("SmID=101",CursorType.DYNAMIC);
    
            // 构造一个面几何对象,该对象将用于取代 dataset 中 SmID=101 的几何对象进行显示
            GeoStyle geoStyle=new GeoStyle();
            geoStyle.setFillForeColor(java.awt.Color.red);
            GeoRegion geoRegion=new GeoRegion(new Point2Ds(new Point2D[]{new Point2D(100,100),new Point2D(200,200),new Point2D(300,300)}));
            geoRegion.setStyle(geoStyle);
    
            // 构造制图表达对象类并进行设置
            RepresentationElement representationElement = new RepresentationElement();
            representationElement.setGeometry(geoRegion);
            representationElement.setCustomValue("self");
            representationElement.setType(RepresentationType.GEOMETRY);
    
            // 将制图表达对象结果保存至 Color 字段(假设含有此字段,且为二进制类型)
            recordset.edit();
            recordset.setRepresentationElement("Color", representationElement);
            recordset.update();
    
            // 释放资源
            recordset.dispose();
            dataset.close();
        }
     
    • 构造器详细资料

      • RepresentationElement

        public RepresentationElement()
        构造一个新的 RepresentationElement 对象。
      • RepresentationElement

        public RepresentationElement(Geometry geometry,
                                     RepresentationType type)
        根据指定的参数构造一个 RepresentationElement 的新对象。
        参数:
        geometry - 给定的几何对象,该几何对象将取代矢量数据集中与之关联的几何对象进行显示。该参数包含了几何对象的几何信息和显示风格信息。
        type - 指定的制图表达类型。制图表达类型可以控制一些显示,包括是否显示原几何对象、是否显示设置的风格和被制图表达的对象是否可见,详细信息请参见 RepresentationType 类。
    • 方法详细资料

      • setGeometry

        public void setGeometry(Geometry geometry)
        设置制图表达几何对象,当使用制图表达显示时,该几何对象将取代矢量数据集中与之关联的几何对象进行显示。该方法包含了制图表达对象的几何信息和显示风格信息。
        参数:
        geometry - 制图表达几何对象。
      • getGeometry

        public Geometry getGeometry()
        返回制图表达几何对象,当使用制图表达显示时,该几何对象将取代矢量数据集中与之关联的几何对象进行显示。该方法包含了制图表达对象的几何信息和显示风格信息。
        返回:
        制图表达几何对象。
        默认值:
        默认值为空。
      • getType

        public RepresentationType getType()
        返回制图表达所属的类型。制图表达类型可以控制一些显示,包括是否显示原几何对象、是否显示设置的风格和被制图表达的对象是否可见,详细信息请参见 RepresentationType 类。
        返回:
        制图表达所属的类型。
        默认值:
        默认值为 RepresentationType.ORIGINAL
      • setType

        public void setType(RepresentationType type)
        设置制图表达所属的类型。制图表达类型可以控制一些显示,包括是否显示原几何对象、是否显示设置的风格和被制图表达的对象是否可见,详细信息请参见 RepresentationType 类。
        参数:
        type - 制图表达所属的类型。
      • getCustomValue

        public Object getCustomValue()
        返回制图表达对象的自定义属性。
        返回:
        制图表达对象的自定义属性。
        默认值:
        默认值为空。
      • setCustomValue

        public void setCustomValue(Object value)
        设置制图表达对象的自定义属性。
        参数:
        object - 制图表达对象的自定义属性。

Copyright © 2021–2024 SuperMap. All rights reserved.