com.supermap.mapping
类 SnappedElement
- java.lang.Object
-
- com.supermap.mapping.SnappedElement
-
public class SnappedElement extends Object
被捕捉元素类。该类用于提供被捕捉元素的信息。被捕捉的对象可以是已经存在的几何对象,也可以是正在绘制的对象。
- 示范代码:
- 以下代码示例如何构造一个 SnappedElement 对象并输出其对应的字符串形式。
假设打开了一个工作空间
workspace
对象,工作空间中存在一幅地图。public void snappedElementTest() { // 返回地图集合 Maps maps = workspace.getMaps(); // 返回地图中的第一幅地图,假设此地图中含有面数据集 String mapName = maps.get(0); Map map = new Map(workspace); map.open(mapName); // 返回地图中的第一个含面数据集的图层 Layer layer = null; for (int i = 0; i < map.getLayers().getCount(); i++) { layer = map.getLayers().get(i); if (layer.getDataset().getType() == DatasetType.REGION) { break; } } // 得到图层对应的数据集 DatasetVector dataset = (DatasetVector) layer.getDataset(); // 查询得到数据集中 SmID=10 的记录并得到其对应的几何对象 Recordset recordset = dataset.query("SmID=10", CursorType.STATIC); Geometry geometry = recordset.getGeometry(); // 返回几何对象的 ID 号并构造一个 Point2D[] 数组对象 int geometryID = geometry.getID(); Point2D[] point2Ds = new Point2D[] {new Point2D(50, 50), new Point2D(150, 150)}; // 构造 SnappedElement 对象并输出其对应的字符串形式 SnappedElement snappedElement = new SnappedElement(layer, geometryID, SnapMode.POINT_ON_ENDPOINT, point2Ds); System.out.println(snappedElement.toString()); // 释放资源 recordset.dispose(); workspaceConnectionInfo.dispose(); workspace.dispose(); }
-
-
构造器概要
构造器 构造器和说明 SnappedElement(Layer layer, int geometryID, SnapMode snappingMode, Point2D[] snappedPoints)
根据下列参数构造一个SnappedElement
类的新实例:当前元素所属的图层、所对应几何对象的 ID、所采取的捕捉模式、所对应的点集合。
-
方法概要
所有方法 实例方法 具体方法 已过时的方法 限定符和类型 方法和说明 int
getGeometryID()
返回当前元素所对应几何对象的 ID。Layer
getLayer()
返回当前元素所属的图层。SnapMode
getSnapMode()
返回该对象是通过哪种捕捉模式来捕捉到的,即在捕捉过程中哪个捕捉方式捕捉到该对象。Point2D[]
getSnappedPoints()
返回该元素相应的点集合。SnapMode
getSnappingMode()
已过时。使用getSnapModeSnappedElement.getSnapMode()
代替String
toString()
输出一个字符串,用来表达当前的被捕捉元素类对象,格式为:{GeometryID=,Layer=layerName,SnappingMode=,SnappedPoints=}。
-
-
-
构造器详细资料
-
SnappedElement
public SnappedElement(Layer layer, int geometryID, SnapMode snappingMode, Point2D[] snappedPoints)
根据下列参数构造一个SnappedElement
类的新实例:当前元素所属的图层、所对应几何对象的 ID、所采取的捕捉模式、所对应的点集合。- 参数:
layer
- 当前元素所属的图层。geometryID
- 当前元素所对应几何对象的 ID。snappingMode
- 当前元素所采取的捕捉模式。snappedPoints
- 当前元素所对应的点集合。
-
-
方法详细资料
-
getLayer
public Layer getLayer()
返回当前元素所属的图层。- 返回:
- 当前元素所属的图层。
-
getGeometryID
public int getGeometryID()
返回当前元素所对应几何对象的 ID。当绘制对象自身被捕捉时,返回-1。例如:在绘制 polyline 时,若捕捉对象为其自身的一个线段,则此时返回的 ID 为-1。
- 返回:
- 当前元素所对应几何对象的 ID。
-
getSnappingMode
@Deprecated public SnapMode getSnappingMode()
已过时。 使用getSnapModeSnappedElement.getSnapMode()
代替返回该对象是通过哪种捕捉模式来捕捉到的,即在捕捉过程中哪个捕捉方式捕捉到该对象。- 返回:
- 该对象的捕捉模式。
-
getSnapMode
public SnapMode getSnapMode()
返回该对象是通过哪种捕捉模式来捕捉到的,即在捕捉过程中哪个捕捉方式捕捉到该对象。- 返回:
- 该对象的捕捉模式。
-
getSnappedPoints
public Point2D[] getSnappedPoints()
返回该元素相应的点集合。- 当捕捉模式(
SnapMode
)为:POINT_ON_POINT,POINT_ON_ENDPOINT,POINT_WITH_HORIZONTAL_OR_VERTICAL,LINE_WITH_HORIZONTAL_OR_VERTICAL,LINE_WITH_INTERSECTION,POINT_ON_RASTER_MIDDLE,POINT_ON_RASTER_EDGE 时,该方法返回的数组长度为1; - 当捕捉模式(
SnapMode
)为:LINE_WITH_FIXED_ANGLE,LINE_WITH_FIXED_LENGTH,LINE_WITH_PARALLEL,LINE_WITH_PERPENDICULAR 时,长度为2; - 当捕捉模式(
SnapMode
)为:POINT_ON_LINE,POINT_ON_MIDPOINT,POINT_ON_EXTENSION 时,长度为3。
- 返回:
- 该元素相应的点集合。
- 当捕捉模式(
-
-
Copyright © 2021–2024 SuperMap. All rights reserved.