com.supermap.data
类 GeoRegion
- java.lang.Object
-
- com.supermap.data.InternalHandle
-
- com.supermap.data.InternalHandleDisposable
-
- com.supermap.data.Geometry
-
- com.supermap.data.GeoRegion
-
- 所有已实现的接口:
- IDisposable
public class GeoRegion extends Geometry
面几何对象类,派生于
Geometry
类。该类用于描述面状地理实体,如行政区域,湖泊,居民地等,一般用一个或多个有序坐标点集合来表示。面几何对象由一个或多个部分组成,每个部分称为面几何对象的一个子对象,每个子对象用一个有序坐标点集合来表示,其起始点和终止点重合。可以对子对象进行添加,删除,修改等操作。
-
-
构造器概要
构造器 构造器和说明 GeoRegion()
构造一个新的 GeoRegion 对象。GeoRegion(GeoRegion region)
根据给定的 GeoRegion 对象构造一个与其完全相同的新对象。GeoRegion(Point2Ds points)
根据指定的参数来构造一个 GeoRegion 的新对象。
-
方法概要
所有方法 实例方法 具体方法 限定符和类型 方法和说明 int
addPart(Point2Ds points)
向此面几何对象追加一个子对象。GeoRegion
clone()
克隆一个Geometry对象。GeoLine
convertToLine()
将此面几何对象转换为线几何对象。void
dispose()
释放该对象所占用的资源。boolean
fromXML(String xml)
从XML加载几何对象double
getArea()
返回此面几何对象的面积。Point2Ds
getPart(int index)
返回此面几何对象中指定序号的子对象,以有序点集合的方式返回该子对象。int
getPartCount()
返回此面几何对象的子对象个数。int[]
getPartTopo()
判断面对象的子对象之间的岛洞关系。double
getPerimeter()
返回此面几何对象的周长,其值为各子对象周长之和。double
getPreciseArea(PrjCoordSys prjCoordSys)
精确计算投影参考系下多边形的面积。int
indexOf(Point2Ds part)
返回指定有序点集合所表示的子对象在此面几何对象中的序号。boolean
insertPart(int index, Point2Ds points)
往此面几何对象中的指定位置插入一个子对象。boolean
isCounterClockwise(int index)
判断面对象的子对象的走向。boolean
isEmpty()
判断几何对象是否为空值,不同的几何对象的是否为空的条件各异,请参见各具体几何类型的该方法。Geometry
mirror(Point2D startPoint, Point2D endPoint)
返回当前面几何对象关于指定线段对称的几何对象,即获取面几何对象的镜像。void
normalize()
处理GeoRegion子对象的坐标点的存储顺序,支持内外环点序错误、内环未紧接外环两种情况。void
offset(double dx, double dy)
偏移GeoRegion[]
protectedDecompose()
面对象保护性分解。boolean
removePart(int index)
删除此面几何对象中的指定序号的子对象。void
resize(Rectangle2D bounds)
改变几何对象的大小 当宽度为负数时对象水平翻转,当高度为负数时,对象垂直翻转void
rotate(Point2D basePoint, double angle)
旋转几何对象void
setEmpty()
清空几何对象中的空间数据,但几何对象的标识符和几何风格保持不变。boolean
setPart(int index, Point2Ds points)
修改此面几何对象指定序号的子对象。-
从类继承的方法 com.supermap.data.Geometry
addCustomGeometryCreatedListener, getBounds, getID, getInnerPoint, getStyle, getType, getVariantID, hitTest, removeCustomGeometryCreatedListener, setBounds, setID, setStyle, toXML
-
-
-
-
构造器详细资料
-
GeoRegion
public GeoRegion()
构造一个新的 GeoRegion 对象。
-
GeoRegion
public GeoRegion(GeoRegion region)
根据给定的 GeoRegion 对象构造一个与其完全相同的新对象。- 参数:
region
- 指定的 GeoRegion 对象。
-
GeoRegion
public GeoRegion(Point2Ds points)
根据指定的参数来构造一个 GeoRegion 的新对象。- 参数:
points
- 用来创建面几何对象的有序点集合。- 抛出:
IllegalArgumentException
- 如果有序点集合中的点的个数小于3。
-
-
方法详细资料
-
addPart
public int addPart(Point2Ds points)
向此面几何对象追加一个子对象。- 参数:
points
- 组成面子对象的有序点集合。- 返回:
- 添加成功则返回新添加子对象序号,否则返回-1。
- 抛出:
IllegalArgumentException
- 如果有序点集合中的点的个数小于3。- 另请参阅:
GeoRegion.insertPart(int,Point2Ds)
,GeoRegion.removePart(int)
-
convertToLine
public GeoLine convertToLine()
将此面几何对象转换为线几何对象。成功返回线几何对象。- 返回:
- 转换成功则返回新生成的线几何对象。
-
getPart
public Point2Ds getPart(int index)
返回此面几何对象中指定序号的子对象,以有序点集合的方式返回该子对象。- 参数:
index
- 子对象的序号。- 返回:
- 组成子对象的有序点集合。
- 抛出:
IndexOutOfBoundsException
- 如果序号越界。- 另请参阅:
GeoRegion.setPart(int,Point2Ds)
-
insertPart
public boolean insertPart(int index, Point2Ds points)
往此面几何对象中的指定位置插入一个子对象。成功则返回 true,否则返回 false。插入有序点集合的副本,因此插入后对源有序点集合的修改不会影响面几何对象,如需修改面几何对象,请用setPart()
方法。- 参数:
index
- 插入子对象的位置。points
- 组成要插入的子对象的有序点集合。- 返回:
- 插入子对象成功返回 true,否则返回 false。
- 抛出:
IllegalArgumentException
- 如果有序点集合中的点的个数小于3。IndexOutOfBoundsException
- 如果序号越界。- 另请参阅:
GeoRegion.addPart(Point2Ds)
,GeoRegion.removePart(int)
-
removePart
public boolean removePart(int index)
删除此面几何对象中的指定序号的子对象。- 参数:
index
- 被删除的子对象的序号。- 返回:
- 删除成功返回 true,否则返回 false。
- 抛出:
IndexOutOfBoundsException
- 如果序号越界。- 另请参阅:
GeoRegion.addPart(Point2Ds)
,GeoRegion.insertPart(int,Point2Ds)
-
setPart
public boolean setPart(int index, Point2Ds points)
修改此面几何对象指定序号的子对象。即用新的有序点集合来替换原子对象的有序点集合。- 参数:
index
- 被替换的子对象的序号。points
- 组成用以替换的面子对象的有序点的集合。- 返回:
- 替换成功返回 true,否则返回 false。
- 抛出:
IllegalArgumentException
- 如果有序点集合中点的个数小于3。IndexOutOfBoundsException
- 如果序号越界。- 另请参阅:
GeoRegion.getPart(int)
-
indexOf
public int indexOf(Point2Ds part)
返回指定有序点集合所表示的子对象在此面几何对象中的序号。- 参数:
part
- 指定的有序点集合。- 返回:
- 指定有序点集合所表示的子对象在此面几何对象中的序号,若该子对象不存在,则返回-1。
-
getArea
public double getArea()
返回此面几何对象的面积。 如果面几何对象有多个子对象时,面几何对象的面积为其多个子对象之和。- 返回:
- 此面几何对象的面积。
- 另请参阅:
GeoRegion.getPerimeter()
- 默认值:
- 默认值为 0.0。
-
getPartCount
public int getPartCount()
返回此面几何对象的子对象个数。面几何对象清空后,其子对象的个数为0。- 返回:
- 此面几何对象的子对象个数。
- 默认值:
- 默认值为 0.0。
-
getPerimeter
public double getPerimeter()
返回此面几何对象的周长,其值为各子对象周长之和。- 返回:
- 此面几何对象的周长。
- 默认值:
- 默认值为 0.0。
-
isCounterClockwise
public boolean isCounterClockwise(int index)
判断面对象的子对象的走向。- 参数:
index
- 指定的子对象的序号。- 返回:
- 一个布尔值,表示指定子对象的走向。true 表示走向为逆时针,false 表示走向为顺时针。
-
fromXML
public boolean fromXML(String xml)
从XML加载几何对象- 覆盖:
fromXML
在类中Geometry
- 参数:
xml
- String- 返回:
- boolean
- 另请参阅:
Geometry.offset(double, double)
-
mirror
public Geometry mirror(Point2D startPoint, Point2D endPoint)
返回当前面几何对象关于指定线段对称的几何对象,即获取面几何对象的镜像。- 覆盖:
mirror
在类中Geometry
- 参数:
startPoint
- 指定的线段的起点。endPoint
- 指定的线段的终点。- 返回:
- 面几何对象的镜像。
- 另请参阅:
Geometry.offset(double,double)
-
offset
public void offset(double dx, double dy)
偏移
-
resize
public void resize(Rectangle2D bounds)
改变几何对象的大小 当宽度为负数时对象水平翻转,当高度为负数时,对象垂直翻转
-
rotate
public void rotate(Point2D basePoint, double angle)
旋转几何对象
-
dispose
public void dispose()
从类复制的说明:Geometry
释放该对象所占用的资源。当调用该方法之后,此对象不再可用。- 指定者:
dispose
在接口中IDisposable
- 指定者:
dispose
在类中Geometry
-
isEmpty
public boolean isEmpty()
从类复制的说明:Geometry
判断几何对象是否为空值,不同的几何对象的是否为空的条件各异,请参见各具体几何类型的该方法。- 覆盖:
isEmpty
在类中Geometry
- 返回:
- 一个布尔值指定几何对象是否为空。
- 另请参阅:
Geometry.offset(double, double)
-
setEmpty
public void setEmpty()
从类复制的说明:Geometry
清空几何对象中的空间数据,但几何对象的标识符和几何风格保持不变。
-
protectedDecompose
public GeoRegion[] protectedDecompose()
面对象保护性分解。区别于组合对象将子对象进行简单分解,保护性分解将复杂的具有多层岛洞嵌套关系的面对象分解成只有一层嵌套关系的面对象。 面对象中有子对象部分交叠的情形不能保证分解的合理性。- 返回:
- 保护性分解后的面对象数组。
- 从以下版本开始:
- SuperMap iObject Java 7.1.0
-
getPreciseArea
public double getPreciseArea(PrjCoordSys prjCoordSys)
精确计算投影参考系下多边形的面积。- 参数:
prjCoordSys
- 指定的投影坐标系。- 返回:
- 二维面几何对象的面积。
-
getPartTopo
public int[] getPartTopo()
判断面对象的子对象之间的岛洞关系。 岛洞关系数组是由 1 和 -1 两个数值组成,数组大小与面对象的子对象相同。其中, 1 表示子对象为岛, -1 表示子对象为洞。- 返回:
- 岛洞关系数组
-
normalize
public void normalize()
处理GeoRegion子对象的坐标点的存储顺序,支持内外环点序错误、内环未紧接外环两种情况。- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0
-
-
Copyright © 2021–2024 SuperMap. All rights reserved.