com.supermap.data

类 GeoText

  • 所有已实现的接口:
    IDisposable


    public class GeoText
    extends Geometry

    文本类,派生于 Geometry 类。该类主要用于对地物要素进行标识和必要的注记说明。文本对象由一个或多个部分组成,每个部分称为文本对象的一个子对象,每个子对象都是一个 TextPart 的实例。同一个文本对象的所有子对象都使用相同的文本风格,即使用该文本对象的文本风格进行显示。

    • 构造器详细资料

      • GeoText

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

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

        public GeoText(TextPart part)
        根据指定的参数来构造一个 GeoText 的新对象。
        参数:
        part - TextPart子对象。
        另请参阅:
        TextPart
      • GeoText

        public GeoText(TextPart part,
                       TextStyle textStyle)
        根据指定的参数来构造一个 GeoText 的新对象。
        参数:
        part - 指定的文本子对象。
        textStyle - 指定的文本风格对象。
    • 方法详细资料

      • getText

        public String getText()
        返回文本对象的内容。 如果该对象有多个子对象时,其值为子对象字符串之和。
        返回:
        文本对象的内容。
        默认值:
        默认值为一个空字符串。
      • getPartCount

        public int getPartCount()
        返回文本对象的子对象个数。当文本对象清空后,其子对象的个数为0。
        返回:
        文本对象的子对象个数。
        默认值:
        默认值为 0。
      • getTextStyle

        public TextStyle getTextStyle()
        返回文本对象的文本风格。文本风格用于指定文本对象显示时的字体、宽度、高度和颜色等。

        注意:GeoText.getTextStyle().setRotation() 对文本子对象 TextPart 无效,TextPart 的旋转角度由其自身 getRotation()setRotation() 方法来控制。

        返回:
        文本对象的文本风格。
        另请参阅:
        TextStyle
        示范代码:
        请参见 TextStyle 类的示例。
      • setTextStyle

        public void setTextStyle(TextStyle textStyle)
        设置文本对象的文本风格。文本风格用于指定文本对象显示时的字体、宽度、高度和颜色等。

        注意:GeoText.getTextStyle().setRotation() 对文本子对象 TextPart 无效,TextPart 的旋转角度由其自身 getRotation()setRotation() 方法来控制。

        参数:
        textStyle - 文本对象的文本风格。
        另请参阅:
        TextStyle
      • isEmpty

        public boolean isEmpty()
        判定该文本对象是否为空,即其子对象的个数是否为0。判断精度为零值判断精度。关于零值判断精度的详细信息请参见 Environment 类。
        覆盖:
        isEmpty 在类中 Geometry
        返回:
        如果该文本对象为空,则返回 true;否则返回 false。
        另请参阅:
        Geometry.offset(double, double)
      • addPart

        public int addPart(TextPart part)
        在文本对象中添加文本子对象。
        参数:
        part - 一个 TextPart 类的文本子对象。
        返回:
        当添加成功则返回子对象序号,失败时返回-1。
        示范代码:
        请参见 TextStyle 的示例。
      • getPart

        public TextPart getPart(int index)
        返回此文本对象的指定序号的子对象。
        参数:
        index - 子对象序号。
        返回:
        指定序号的子对象。
        抛出:
        IndexOutOfBoundsException - 如果 index 小于零或 index 大于等于该文本对象的子对象个数。
      • insertPart

        public boolean insertPart(int index,
                                  TextPart part)
        在此文本对象的指定位置插入一个文本子对象。
        参数:
        index - 插入子对象的位置,即子对象的序号值。其中序号值大于0且小于子对象的总数。
        part - 要插入的文本子对象。
        返回:
        如果插入成功返回 true,否则返回 false。
        抛出:
        IndexOutOfBoundsException - 如果 index 小于零或 index 大于该文本对象的子对象个数。
        另请参阅:
        GeoText.addPart(TextPart), GeoText.removePart(int)
      • indexOf

        public int indexOf(TextPart part)
        返回指定的子对象在此文本对象中的序号。
        参数:
        part - 指定的文本子对象。
        返回:
        指定的子对象在此文本对象中的序号。若该子对象不存在,则返回-1。
      • removePart

        public boolean removePart(int index)
        删除此文本对象的指定序号的文本子对象。
        参数:
        index - 文本子对象序号。
        返回:
        如果删除成功返回 true,否则返回 false。
        抛出:
        IndexOutOfBoundsException - 如果 index 小于零或 index 大于等于该文本对象的子对象个数。
      • setPart

        public boolean setPart(int index,
                               TextPart part)
        修改此文本对象的指定序号的子对象,即用新的文本子对象来替换原来的文本子对象。
        参数:
        index - 文本子对象序号。
        part - 文本子对象。
        返回:
        如果设置成功返回 true,否则返回 false。
        抛出:
        IndexOutOfBoundsException - 如果 index 小于零或 index 大于等于该文本对象的子对象个数。
      • makeAlongLineText

        public static GeoText makeAlongLineText(String text,
                                                GeoLine line)
        创建沿线文本。将指定的文本沿指定的线对象,从线对象的起始点开始沿线均匀放置。文本中每个字的旋转角度与其所在的线对象上的位置有关。如果线对象有多个子对象,先将线的子对象按照序号首尾相接生成一个新的线对象。再沿新的线对象均匀放置文本。
        参数:
        text - 一个 String 对象代表将沿线放置的文本。
        line - 线对象。
        返回:
        沿线文本。
      • makeAlongLineText

        public static GeoText makeAlongLineText(String text,
                                                GeoLine line,
                                                double fixedAngle)
        创建沿线文本。将指定的文本沿指定的线对象,从线对象的起始点开始沿线均匀放置。文本中每个字的旋转角度均为指定角度。如果线对象有多个子对象,先将线的子对象按照序号首尾相接生成一个新的线对象。再沿新的线对象均匀放置文本。
        参数:
        text - 一个 String 对象代表将沿线放置的文本。
        line - 线对象。
        angle - 文本子对象的旋转角度,单位为度。
        返回:
        沿线文本。
      • convertToRegion

        public GeoRegion convertToRegion(int segmentCount)
        将文本对象转换为面几何对象。

        只支持文本风格中的字体名称、粗体、斜体,其他设置将忽略

        内部使用固定100像素文本高度计算,并偏移到当前文本对象锚点,外部需要根据实际文本高度进行计算缩放。

        参数:
        segmentCount - 文字内部笔划中每段控制曲线细分段数,段数越多曲线越平滑,但点数量也越多。值域范围[3,10000],范围外值使用72默认值。
        返回:
        面几何对象。
        抛出:
        IllegalStateException - 对象已经被释放
        从以下版本开始:
        11.2.0
      • clone

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

        public void setEmpty()
        从类复制的说明: Geometry
        清空几何对象中的空间数据,但几何对象的标识符和几何风格保持不变。
        覆盖:
        setEmpty 在类中 Geometry
      • dispose

        public void dispose()
        释放对象所占用的资源。当调用该方法之后,此对象不再可用。
        指定者:
        dispose 在接口中 IDisposable
        指定者:
        dispose 在类中 Geometry
      • fromXML

        public boolean fromXML(String xml)
        从类复制的说明: Geometry
        根据传入的 XML 字符串重新构造几何对象。该 XML 必须符合 GML3.0 规范。

        调用该方法时,首先将该几何对象的原始数据清空,然后根据传入的 XML 字符串重新构造该几何对象。

        GML (Geography Markup Language)即地理标识语言, GML 能够表示地理空间对象的空间数据和非空间属性数据。GML 是基于 XML 的空间信息编码标准,由开放式地理信息系统协会 OpenGIS Consortium (OGC) 提出,得到了许多公司的大力支持,如 Oracle、Galdos、MapInfo、CubeWerx 等。

        GML 作为一个空间数据编码规范,提供了一套基本的标签、公共的数据模型,以及用户构建应用模式(GML Application Schemas)的机制。

        覆盖:
        fromXML 在类中 Geometry
        参数:
        xml - XML 格式的字符串。
        返回:
        如果构造成功返回 true,否则返回 false。
        另请参阅:
        Geometry.offset(double, double)

Copyright © 2021–2024 SuperMap. All rights reserved.