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)
修改此面几何对象指定序号的子对象。
|
addCustomGeometryCreatedListener, getBounds, getID, getInnerPoint, getStyle, getType, getVariantID, hitTest, removeCustomGeometryCreatedListener, setBounds, setID, setStyle, toXML
public GeoRegion()
public GeoRegion(GeoRegion region)
region
- 指定的 GeoRegion 对象。public GeoRegion(Point2Ds points)
points
- 用来创建面几何对象的有序点集合。IllegalArgumentException
- 如果有序点集合中的点的个数小于3。public int addPart(Point2Ds points)
points
- 组成面子对象的有序点集合。IllegalArgumentException
- 如果有序点集合中的点的个数小于3。GeoRegion.insertPart(int,Point2Ds)
,
GeoRegion.removePart(int)
public GeoLine convertToLine()
public Point2Ds getPart(int index)
index
- 子对象的序号。IndexOutOfBoundsException
- 如果序号越界。GeoRegion.setPart(int,Point2Ds)
public boolean insertPart(int index, Point2Ds points)
setPart()
方法。index
- 插入子对象的位置。points
- 组成要插入的子对象的有序点集合。IllegalArgumentException
- 如果有序点集合中的点的个数小于3。IndexOutOfBoundsException
- 如果序号越界。GeoRegion.addPart(Point2Ds)
,
GeoRegion.removePart(int)
public boolean removePart(int index)
index
- 被删除的子对象的序号。IndexOutOfBoundsException
- 如果序号越界。GeoRegion.addPart(Point2Ds)
,
GeoRegion.insertPart(int,Point2Ds)
public boolean setPart(int index, Point2Ds points)
index
- 被替换的子对象的序号。points
- 组成用以替换的面子对象的有序点的集合。IllegalArgumentException
- 如果有序点集合中点的个数小于3。IndexOutOfBoundsException
- 如果序号越界。GeoRegion.getPart(int)
public int indexOf(Point2Ds part)
part
- 指定的有序点集合。public double getArea()
GeoRegion.getPerimeter()
public int getPartCount()
public double getPerimeter()
public boolean isCounterClockwise(int index)
index
- 指定的子对象的序号。public boolean fromXML(String xml)
fromXML
在类中 Geometry
xml
- StringGeometry.offset(double, double)
public Geometry mirror(Point2D startPoint, Point2D endPoint)
mirror
在类中 Geometry
startPoint
- 指定的线段的起点。endPoint
- 指定的线段的终点。Geometry.offset(double,double)
public void offset(double dx, double dy)
public void resize(Rectangle2D bounds)
public void rotate(Point2D basePoint, double angle)
public void dispose()
Geometry
dispose
在接口中 IDisposable
dispose
在类中 Geometry
public boolean isEmpty()
Geometry
isEmpty
在类中 Geometry
Geometry.offset(double, double)
public void setEmpty()
Geometry
public GeoRegion[] protectedDecompose()
public double getPreciseArea(PrjCoordSys prjCoordSys)
prjCoordSys
- 指定的投影坐标系。public int[] getPartTopo()
public void normalize()
IllegalStateException
- 当前对象已被释放。Copyright © 2021–2024 SuperMap. All rights reserved.