com.supermap.data

类 GeoRegion



  • 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 - 用来创建面几何对象的有序点集合。
        抛出:
        java.lang.IllegalArgumentException - 如果有序点集合中的点的个数小于3。
    • 方法详细资料

      • getArea

        public double getArea()
        返回此面几何对象的面积。 如果面几何对象有多个子对象时,面几何对象的面积为其多个子对象之和。
        返回:
        此面几何对象的面积。
        另请参阅:
        getPerimeter()
        Default:
        默认值为 0.0。
      • getPartCount

        public int getPartCount()
        返回此面几何对象的子对象个数。面几何对象清空后,其子对象的个数为0。
        返回:
        此面几何对象的子对象个数。
        Default:
        默认值为 0.0。
      • getPerimeter

        public double getPerimeter()
        返回此面几何对象的周长,其值为各子对象周长之和。
        返回:
        此面几何对象的周长。
        Default:
        默认值为 0.0。
      • isEmpty

        public boolean isEmpty()
        返回此面几何对象是否为空,即其子对象个数是否为零。关于子对象个数的详细信息请参见 getPartCount() 方法。
        覆盖:
        isEmpty 在类中 Geometry
        返回:
        如果对象为空,则返回 true;否则返回 false。
      • clone

        public GeoRegion clone()
        返回当前 GeoRegion 对象的一个拷贝。
        指定者:
        clone 在类中 Geometry
        返回:
        通过克隆操作得到的 GeoRegion 对象。
      • dispose

        public void dispose()
        释放当前对象所占用的资源。调用该方法之后,此对象不再可用。
        覆盖:
        dispose 在类中 Geometry
      • addPart

        public int addPart(Point2Ds points)
        向此面几何对象追加一个子对象。
        参数:
        points - 组成面子对象的有序点集合。
        返回:
        添加成功则返回新添加子对象序号,否则返回-1。
        抛出:
        java.lang.IllegalArgumentException - 如果有序点集合中的点的个数小于3。
        另请参阅:
        insertPart(int,Point2Ds), removePart(int)
      • convertToLine

        public GeoLine convertToLine()
        将此面几何对象转换为线几何对象。成功返回线几何对象。
        返回:
        转换成功则返回新生成的线几何对象。
      • getPart

        public Point2Ds getPart(int index)
        返回此面几何对象中指定序号的子对象,以有序点集合的方式返回该子对象。
        参数:
        index - 子对象的序号。
        返回:
        组成子对象的有序点集合。
        抛出:
        java.lang.IndexOutOfBoundsException - 如果序号越界。
        另请参阅:
        setPart(int,Point2Ds)
      • insertPart

        public boolean insertPart(int index,
                                  Point2Ds points)
        往此面几何对象中的指定位置插入一个子对象。成功则返回 true,否则返回 false。插入有序点集合的副本,因此插入后对源有序点集合的修改不会影响面几何对象,如需修改面几何对象,请用 setPart() 方法。
        参数:
        index - 插入子对象的位置。
        points - 组成要插入的子对象的有序点集合。
        返回:
        插入子对象成功返回 true,否则返回 false。
        抛出:
        java.lang.IllegalArgumentException - 如果有序点集合中的点的个数小于3。
        java.lang.IndexOutOfBoundsException - 如果序号越界。
        另请参阅:
        addPart(Point2Ds), removePart(int)
      • removePart

        public boolean removePart(int index)
        删除此面几何对象中的指定序号的子对象。
        参数:
        index - 被删除的子对象的序号。
        返回:
        删除成功返回 true,否则返回 false。
        抛出:
        java.lang.IndexOutOfBoundsException - 如果序号越界。
        另请参阅:
        addPart(Point2Ds), insertPart(int,Point2Ds)
      • setPart

        public boolean setPart(int index,
                               Point2Ds points)
        修改此面几何对象指定序号的子对象。即用新的有序点集合来替换原子对象的有序点集合。
        参数:
        index - 被替换的子对象的序号。
        points - 组成用以替换的面子对象的有序点的集合。
        返回:
        替换成功返回 true,否则返回 false。
        抛出:
        java.lang.IllegalArgumentException - 如果有序点集合中点的个数小于3。
        java.lang.IndexOutOfBoundsException - 如果序号越界。
        另请参阅:
        getPart(int)