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()
构造一个新的 RepresentationElement 对象。
|
RepresentationElement(Geometry geometry,
RepresentationType type)
根据指定的参数构造一个 RepresentationElement 的新对象。
|
限定符和类型 | 方法和说明 |
---|---|
Object |
getCustomValue()
返回制图表达对象的自定义属性。
|
Geometry |
getGeometry()
返回制图表达几何对象,当使用制图表达显示时,该几何对象将取代矢量数据集中与之关联的几何对象进行显示。
|
RepresentationType |
getType()
返回制图表达所属的类型。
|
void |
setCustomValue(Object value)
设置制图表达对象的自定义属性。
|
void |
setGeometry(Geometry geometry)
设置制图表达几何对象,当使用制图表达显示时,该几何对象将取代矢量数据集中与之关联的几何对象进行显示。
|
void |
setType(RepresentationType type)
设置制图表达所属的类型。
|
public RepresentationElement()
public RepresentationElement(Geometry geometry, RepresentationType type)
geometry
- 给定的几何对象,该几何对象将取代矢量数据集中与之关联的几何对象进行显示。该参数包含了几何对象的几何信息和显示风格信息。type
- 指定的制图表达类型。制图表达类型可以控制一些显示,包括是否显示原几何对象、是否显示设置的风格和被制图表达的对象是否可见,详细信息请参见 RepresentationType
类。public void setGeometry(Geometry geometry)
geometry
- 制图表达几何对象。public Geometry getGeometry()
public RepresentationType getType()
RepresentationType
类。RepresentationType.ORIGINAL
public void setType(RepresentationType type)
RepresentationType
类。type
- 制图表达所属的类型。public Object getCustomValue()
public void setCustomValue(Object value)
object
- 制图表达对象的自定义属性。Copyright © 2021–2024 SuperMap. All rights reserved.