com.supermap.data

类 Geometry

  • java.lang.Object
    • com.supermap.data.Geometry
    • 方法概要

      所有方法 实例方法 抽象方法 具体方法 
      限定符和类型 方法和说明
      abstract Geometry clone()
      返回当前对象的一个拷贝。
      void dispose()
      释放该对象所占用的资源。
      boolean fromGeoJSON(java.lang.String geoJSON)
      从GeoJSON格式的字符串中获取Geometry;具体实现由子类完成。
      boolean fromXML(java.lang.String xml)
      从XML加载几何对象。
      Rectangle2D getBounds()
      返回几何对象的最小外接矩形。
      int getID()
      返回几何对象的标识符,此标识符用于唯一标识该几何对象。
      Point2D getInnerPoint()
      返回几何对象的内点。
      GeoStyle getStyle()
      返回几何对象的几何风格。
      GeometryType getType()
      返回几何对象的类型。
      boolean hitTest(Point2D point, double tolerance)
      测试在指定容限允许的范围内,指定的点是否在几何对象的范围内。
      boolean isEmpty()
      判断几何对象是否为空值,不同的几何对象的是否为空的条件各异,请参见各具体几何类型的该方法。
      void offset(double dx, double dy)
      将此几何对象偏移指定的量。
      void resize(Rectangle2D bounds)
      缩放此几何对象,使其最小外接矩形等于指定的矩形对象。
      void rotate(Point2D basePoint, double angle)
      以指定点为基点将此几何对象旋转指定角度,逆时针方向为正方向,角度以度为单位。
      void setEmpty()
      清空几何对象中的空间数据,但几何对象的标识符和几何风格保持不变。
      void setStyle(GeoStyle value)
      设置几何对象的风格。
      java.lang.String toGeoJSON()
      将Geometry转换成GeoJSON格式的字符串,具体实现由子类完成。
      java.lang.String toXML()
      返回几何对象的XML表示。
      • 从类继承的方法 java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 方法详细资料

      • getBounds

        public Rectangle2D getBounds()
        返回几何对象的最小外接矩形。点对象的最小外接矩形退化为一个点,即矩形的左边界坐标值等于其右边界坐标值,上边界坐标值等于其下边界的坐标值,分别为该点的 x 坐标和 y 坐标。
        返回:
        一个 Rectangle2D 对象表示几何对象的最小外接矩形。
        另请参阅:
        Rectangle2D
        Default:
        默认值为 Rectangle2D(0,0,0,0)。
      • getInnerPoint

        public Point2D getInnerPoint()
        返回几何对象的内点。对于不同的几何对象,其位置不同。
        1. 点对象的内点是该点本身;
        2. 线对象的内点是线对象的第一个子对象的内点(当线对象只有一个子对象时,取该子对象的内点),当该子对象有奇数个节点时,取中间一个节点为内点,当该子对象有偶数个节点时(多于两个节点的情况),取中间两个节点之后者,当该子对象有两个节点时,取两节点之中心为内点;
        3. 面对象的内点是在几何对象的内部,并靠近中央的点;
        4. 文本对象的内点是该文本对象的第一个子对象的锚点。

        内点可以在很多情况下被使用。

        返回:
        几何对象的内点。
        Default:
        默认值为 Point2D(0,0)。
      • getID

        public int getID()
        返回几何对象的标识符,此标识符用于唯一标识该几何对象。
        返回:
        该几何对象的标识符。
        Default:
        几何对象的标识默认值为0。
      • isEmpty

        public boolean isEmpty()
        判断几何对象是否为空值,不同的几何对象的是否为空的条件各异,请参见各具体几何类型的该方法。
        返回:
        一个布尔值指定几何对象是否为空。
        Default:
        如果几何对象为空值则为 true,否则为 false。默认值为 true。
      • getStyle

        public GeoStyle getStyle()
        返回几何对象的几何风格。几何风格是用于定义几何对象在显示时的符号、线型、填充模式等信息。
        返回:
        几何对象的风格。
        Default:
        默认值为 null。
      • setStyle

        public void setStyle(GeoStyle value)
        设置几何对象的风格。几何风格是用于定义几何对象在显示时的符号、线型、填充模式等信息。
        参数:
        value - 用来设置几何对象风格的 GeoStyle 对象。
      • clone

        public abstract Geometry clone()
        返回当前对象的一个拷贝。
        覆盖:
        clone 在类中 java.lang.Object
        返回:
        通过克隆操作得到的一个新的几何对象。
      • hitTest

        public boolean hitTest(Point2D point,
                               double tolerance)
        测试在指定容限允许的范围内,指定的点是否在几何对象的范围内。

        即判断以测试点为圆心,以指定的容限为半径的圆是否与该几何对象有交集,若有交集,则返回 true;否则返回 false。

        参数:
        point - 测试点。
        tolerance - 容限值,单位与数据集的单位相同。
        返回:
        测试结果,点中了该几何对象返回 true;否则返回 false。
        另请参阅:
        Point2D
      • offset

        public void offset(double dx,
                           double dy)
        将此几何对象偏移指定的量。

        如图所示为一个面对象平移后的效果。

        参数:
        dx - 偏移 X 坐标的量。
        dy - 偏移 Y 坐标的量。
        Example:
        以下代码示范如何为几何对象进行重构、设置样式、平移、对称、旋转以及缩放操作。
         public void offsetTest() {
                // 假设打开一个工作空间 workspace 对象,工作空间中存在一个数据源 datasource 对象
                // 从数据源中取出一个数据集 dataset
                // 取出数据集中 SmID=53 的记录,返回其对应的几何对象
                DatasetVector dataset = (DatasetVector) datasource.getDatasets().get(
                        "World");
                Recordset recordset = dataset.query("SmID=53", CursorType.STATIC);
                Geometry geometry = recordset.getGeometry();
        
                // 判断几何对象是否为空,不为空时依次对几何对象进行重构、设置样式、平移、对称、旋转以及缩放操作
                if (!geometry.isEmpty()) {
                    geometry.fromXML(geometry.toXML());
                    geometry.setStyle(new GeoStyle());
                    geometry.offset(100, 100);
                    Rectangle2D rectangle2D = geometry.getBounds();
                    geometry.mirror(geometry.getInnerPoint(), new Point2D(rectangle2D
                            .getBottom(), rectangle2D.getRight()));
                    geometry.rotate(geometry.getInnerPoint(), 30);
                    geometry.resize(new Rectangle2D(0, 0, 1024, 1024));
                }
        
                // 释放资源
                recordset.dispose();
                dataset.close();
                geometry.dispose();
            }
         
      • resize

        public void resize(Rectangle2D bounds)
        缩放此几何对象,使其最小外接矩形等于指定的矩形对象。

        对于几何点,该方法只改变其位置,将其移动到指定的矩形的中心点;对于文本对象,该方法将缩放文本大小。

        改变几何对象的大小 当宽度为负数时对象水平翻转,当高度为负数时,对象垂直翻转。

        如图所示为对面对象的缩放的效果。

        当传入的矩形对象的面积为0时,抛出异常 ArgumentInvalid。

        参数:
        bounds - 调整大小后几何对象的范围。
        抛出:
        ArgumentInvalid - 如果 bounds 的面积为0。
      • rotate

        public void rotate(Point2D basePoint,
                           double angle)

        以指定点为基点将此几何对象旋转指定角度,逆时针方向为正方向,角度以度为单位。

        如图所示的是对面对象以指定基点旋转90度后的效果。

        参数:
        basePoint - 旋转的基点。
        angle - 旋转的角度,单位为度。
      • setEmpty

        public void setEmpty()
        清空几何对象中的空间数据,但几何对象的标识符和几何风格保持不变。
      • dispose

        public void dispose()
        释放该对象所占用的资源。当调用该方法之后,此对象不再可用。
      • toGeoJSON

        public java.lang.String toGeoJSON()
        将Geometry转换成GeoJSON格式的字符串,具体实现由子类完成。

        支持的几何类型:点(GeoPoint)、线(GeoLine)、面(GeoRegion),包括具有多个子对象的线和面。

        返回:
        返回GeoJSON字符串,不支持的类型将返回null
      • fromGeoJSON

        public boolean fromGeoJSON(java.lang.String geoJSON)
        从GeoJSON格式的字符串中获取Geometry;具体实现由子类完成。
        参数:
        geoJSON - GeoJSON字符串
        返回:
        返回是否转换成功
      • fromXML

        public boolean fromXML(java.lang.String xml)
        从XML加载几何对象。
        参数:
        xml - 几何对象的xml字符串
        返回:
        boolean 读取成功返回true,否则返回false
      • toXML

        public java.lang.String toXML()
        返回几何对象的XML表示。
        返回:
        返回几何对象的xml字符串