com.supermap.data

类 GeoRegion

  • 所有已实现的接口:
    IDisposable


    public class GeoRegion
    extends Geometry

    面几何对象类,派生于 Geometry 类。

    该类用于描述面状地理实体,如行政区域,湖泊,居民地等,一般用一个或多个有序坐标点集合来表示。面几何对象由一个或多个部分组成,每个部分称为面几何对象的一个子对象,每个子对象用一个有序坐标点集合来表示,其起始点和终止点重合。可以对子对象进行添加,删除,修改等操作。

    • 构造器详细资料

      • GeoRegion

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

        public GeoRegion(GeoRegion region)
        根据给定的 GeoRegion 对象构造一个与其完全相同的新对象。
        参数:
        region - 指定的 GeoRegion 对象。
      • GeoRegion

        public GeoRegion(Point2Ds points)
        根据指定的参数来构造一个 GeoRegion 的新对象。
        参数:
        points - 用来创建面几何对象的有序点集合。
        抛出:
        IllegalArgumentException - 如果有序点集合中的点的个数小于3。
    • 方法详细资料

      • 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)
      • 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 表示走向为顺时针。
      • mirror

        public Geometry mirror(Point2D startPoint,
                               Point2D endPoint)
        返回当前面几何对象关于指定线段对称的几何对象,即获取面几何对象的镜像。
        覆盖:
        mirror 在类中 Geometry
        参数:
        startPoint - 指定的线段的起点。
        endPoint - 指定的线段的终点。
        返回:
        面几何对象的镜像。
        另请参阅:
        Geometry.offset(double,double)
      • offset

        public void offset(double dx,
                           double dy)
        偏移
        覆盖:
        offset 在类中 Geometry
        参数:
        dx - double
        dy - double
      • resize

        public void resize(Rectangle2D bounds)
        改变几何对象的大小 当宽度为负数时对象水平翻转,当高度为负数时,对象垂直翻转
        覆盖:
        resize 在类中 Geometry
        参数:
        bounds - Rectangle2D
      • rotate

        public void rotate(Point2D basePoint,
                           double angle)
        旋转几何对象
        覆盖:
        rotate 在类中 Geometry
        参数:
        basePoint - Point2D
        angle - double
      • clone

        public GeoRegion clone()
        从类复制的说明: Geometry
        克隆一个Geometry对象。
        指定者:
        clone 在类中 Geometry
        返回:
        克隆的Geometry对象。
      • 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
        清空几何对象中的空间数据,但几何对象的标识符和几何风格保持不变。
        覆盖:
        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.