com.supermap.data

类 GeoLineM



  • public class GeoLineM
    extends Geometry
    路由对象。

    是一组具有 X,Y 坐标与线性度量值的点组成的线性地物对象。M 值是所谓的 Measure 值,即度量值。在交通网络分析中常用于标注一条线路的不同点距离某一点的距离。比如高速公路上的里程碑,交通管制部门经常使用高速公路上的里程碑来标注并管理高速公路的路况、车辆的行驶限速和高速事故点等。

    当 GeoLineM 对象的实例执行 dispose() 方法后再调用对象成员,将引发 ObjectDisposedException。

    • 构造器概要

      构造器 
      构造器和说明
      GeoLineM()
      构造一个新的 GeoLineM 对象。
      GeoLineM(GeoLineM geoLineM)
      根据给定的 GeoLineM 对象构造一个与其完全相同的新对象。
      GeoLineM(PointMs pointMs)
      根据指定的参数来构造一个 GeoLineM 的新对象。
    • 方法概要

      所有方法 静态方法 实例方法 具体方法 
      限定符和类型 方法和说明
      int addPart(PointMs pointMs)
      向路由对象追加一个子对象。
      void calculateNoM(boolean isIgnoreGap)
      通过插值计算得到无 M 值处点对象的 M 值。
      boolean calibrateLineM(GeoLineM geoLineM, CalibrateMode method, boolean isIgnoreGap)
      根据给定的路由对象线段来校正路由对象。
      boolean calibrateLineM(PointMs pointMs, CalibrateMode method, boolean isIgnoreGap)
      根据路由点串校正路由对象的 M 值。
      static GeoLineM clip(GeoLineM geometry, GeoRegion clipGeometry)
      根据给定的裁剪区域对指定的路由对象进行裁剪。
      GeoLineM clone()
      返回当前 GeoLineM 对象的一个拷贝。
      GeoLine convertToLine()
      将该路由对象转换为二维线几何对象,成功返回线几何对象。
      GeoRegion convertToRegion()
      将该路由对象转换为面几何对象,成功返回面几何对象。
      void dispose()
      释放对象所占用的资源。
      boolean extrapolateM(Point2D fromPoint, Point2D toPoint, double fromMeasure, double toMeasure, double tolerance, CalibrateMode method)
      对路由对象的 BEFORE 与 AFTER 位置处的 M 值进行插值。
      Point2D findPointOnLineByDistance(double distance)
      在路由上以指定的距离找点,查找的起始点为二维线的起始点。
      double getDistanceAtM(double measure)
      返回指定 M 值对应的点对象到路由对象起点的距离。
      double getDistanceAtM(double measure, boolean isIgnoreGap)
      返回指定 M 值对应的点对象到路由对象起点的距离。
      double getDistanceAtM(double distance, int subIndex, boolean isIgnoreGap)
      返回指定 M 值对应的点对象到指定路由子对象起点的距离。
      double getLength()
      返回路由对象的长度,单位与数据集的单位相同。
      double getMAtDistance(double distance)
      返回指定距离处的点对象的 M 值。
      double getMAtDistance(double distance, boolean isIgnoreGap)
      返回指定距离处的点对象的 M 值。
      double getMAtDistance(double distance, int subindex, boolean isIgnoreGap)
      返回指定距离处的点对象的 M 值。
      double getMAtPoint(Point2D point2D, double tolerance, boolean isIgnoreGap)
      返回路由对象指定点处的 M 值。
      double getMaxM()
      返回最大线性度量值。
      double getMinM()
      返回最小线性度量值。
      PointMs getPart(int index)
      用于返回线对象中指定序号的子对象的点串,成功返回该路由点对象,失败返回空值。
      int getPartCount()
      返回路由对象的子对象个数。
      Point2D getPointAtDistance(double distance)
      返回指定距离处对应的点对象。
      Point2D getPointAtDistance(double distance, boolean isIgnoreGap)
      返回指定距离处对应的点对象。
      Point2D getPointAtM(double measure)
      返回指定 M 值对应的点对象。
      Point2D getPointAtM(double measure, double offset, boolean isIgnoreGap)
      返回指定 M 值对应的点对象。
      GeoLine getSubCurveAtM(double fromMeasure, double toMeasure)
      返回指定 M 值范围的路由对象线段对应的线对象。
      GeoLineM getSubLineMAtM(double startMeasure, double endMeasure)
      返回指定起始 M 值和终止 M 值对应的路由对象。
      int indexOf(PointMs part)
      返回指定路由点集合所表示的子对象在此路由对象中的序号。
      boolean insertPart(int index, PointMs pointMs)
      用于往路由对象中的指定位置插入一个路由子对象,成功则返回 true,否则返回 false。
      boolean interpolateM(Point2D fromPoint, Point2D toPoint, double fromMeasure, double toMeasure, double tolerance, CalibrateMode method)
      对路由对象的 INTERVAL 位置处的 M 值进行插值。
      boolean joint(GeoLineM otherLineM)
      连接两条路由对象,使当前路由对象的尾节点与另一路由对象的首节点相连。
      static GeoLineM makeLineM(GeoLine geoLine, PointMs pointMs)
      由指定的线对象和路由点集合来生成新的路由对象。
      Geometry mirror(Point2D startPoint, Point2D endPoint)
      返回当前路由对象关于指定线段对称的几何对象,即获取路由对象的镜像。
      void offset(double dx, double dy)
      将此路由对象偏移指定的量。
      void offsetMeasure(double measure)
      按照 M 值偏移量整体修改路由对象的 M 值。
      boolean removePart(int index)
      删除路由对象中的指定序号的子对象。
      boolean reverse()
      改变该路由对象各个子对象的方向。
      boolean reverseMOrder()
      将路由对象的 M 值倒序排列,即改变刻度标记的方向。
      void rotate(Point2D basePoint, double angle)
      以指定点为基点将此路由对象旋转指定的角度,逆时针为正方向,角度以度为单位。
      void setMAsDistance(double originM)
      按照距离重新设置路由对象的 M 值。
      void setMAsDistance(double originM, double scale)
      按照距离重新设置路由对象的 M 值。
      void setMAsDistance(double originM, double scale, boolean isIgnoreGap)
      按照距离重新设置路由对象的 M 值。
      boolean setMAtPoint(Point2D point2D, double measure)
      设置路由对象指定点处的 M 值。
      boolean setMAtPoint(Point2D point2D, double measue, double tolerance, WhereToCalibrate wheretocalibrate)
      设置路由对象指定点处的 M 值。
      boolean setPart(int index, PointMs pointMs)
      在指定的位置上修改二维线子对象,成功则返回 true。
      boolean split(Point2D splitPoint, GeoLineM geoLineM1, GeoLineM geoLineM2)
      根据指定的点对象来分割路由对象。
      static GeoLineM union(GeoLineM geolineM, GeoLineM otherLineM)
      将两条路由对象合并为一条新的路由对象。
      boolean updateM(int fromIndex, int toIndex, double fromMeasure, double toMeasure, WhereToCalibrate wheretoCalibrate, CalibrateMode calibrateMode)
      更新路由对象的 M 值。
      boolean updateM(Point2D fromPoint, Point2D toPoint, double fromMeasure, double toMeasure, double tolerance, WhereToCalibrate whereToCalibrate, CalibrateMode method)
      更新路由对象的 M 值。
      • 从类继承的方法 java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 构造器详细资料

      • GeoLineM

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

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

        public GeoLineM(PointMs pointMs)
        根据指定的参数来构造一个 GeoLineM 的新对象。
        参数:
        pointMs - 构成路由的路由点集合。
    • 方法详细资料

      • dispose

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

        public double getLength()
        返回路由对象的长度,单位与数据集的单位相同。
        返回:
        路由对象的长度。
        Default:
        默认值为 0。
      • getPartCount

        public int getPartCount()
        返回路由对象的子对象个数。

        对于简单对象的该方法的返回值为1,路由对象清空后,该方法的返回值为0。

        返回:
        路由对象的子对象个数。
        Default:
        默认值为 0。
      • getMaxM

        public double getMaxM()
        返回最大线性度量值。
        返回:
        最大线性度量值。
        Default:
        默认值为 0。
      • getMinM

        public double getMinM()
        返回最小线性度量值。
        返回:
        最小线性度量值。
        Default:
        默认值为 0。
      • addPart

        public int addPart(PointMs pointMs)
        向路由对象追加一个子对象。
        参数:
        pointMs - 子对象的路由点串。
        返回:
        如果成功,返回添加子对象的序号。
      • removePart

        public boolean removePart(int index)
        删除路由对象中的指定序号的子对象。

        当序号为负值或者不小于 getPartCount() 方法的返回值时抛出 IndexOutOfBoundsException。

        参数:
        index - int 指定的子对象索引号。
        返回:
        删除成功,返回 true;否则返回 false。
      • convertToRegion

        public GeoRegion convertToRegion()
        将该路由对象转换为面几何对象,成功返回面几何对象。

        对于没有封闭的路由对象,转换为面几何对象时,会把首尾自动连起来。

        返回:
        GeoRegion 转换成功返回面几何对象。
        抛出:
        java.lang.UnsupportedOperationException - 当此 GeoLineM 对象实例的某个子对象的点数少于3时。
      • findPointOnLineByDistance

        public Point2D findPointOnLineByDistance(double distance)
        在路由上以指定的距离找点,查找的起始点为二维线的起始点。有关详情,请参考 GeoLine.findPointOnLineByDistance() 方法。 当传入的距离大于路由的总长度,返回路由的末端点。
        参数:
        distance - 指定的距离。单位与该路由对象所属数据集的单位相同。
        返回:
        Point2D 查找成功返回点,否则返回 null。
        抛出:
        java.lang.IllegalArgumentException - 当传入的为负值时。
      • getPart

        public PointMs getPart(int index)
        用于返回线对象中指定序号的子对象的点串,成功返回该路由点对象,失败返回空值。
        参数:
        index - 子对象的序号。
        返回:
        PointMs 线对象中指定序号的子对象的点串。
      • insertPart

        public boolean insertPart(int index,
                                  PointMs pointMs)
        用于往路由对象中的指定位置插入一个路由子对象,成功则返回 true,否则返回 false。
        参数:
        index - 插入的位置,缺省则从0开始。
        pointMs - 插入对象的路由点串。
        返回:
        boolean 成功则返回 true,否则返回 false。
        抛出:
        java.lang.IndexOutOfBoundsException - 当序号为负值或者不小于 getPartCount() 方法的返回值时。
      • indexOf

        public int indexOf(PointMs part)
        返回指定路由点集合所表示的子对象在此路由对象中的序号。
        参数:
        part - 指定的路由点集合对象。
        返回:
        指定路由点集合所表示的子对象在此路由对象中的序号。如果该子对象不存在,就返回-1。
      • convertToLine

        public GeoLine convertToLine()
        将该路由对象转换为二维线几何对象,成功返回线几何对象。
        返回:
        转换成功返回线几何对象。
      • reverse

        public boolean reverse()
        改变该路由对象各个子对象的方向。即将组成各子对象的点串的顺序进行颠倒。
        返回:
        成功则返回 true,否则返回 false。
      • setPart

        public boolean setPart(int index,
                               PointMs pointMs)
        在指定的位置上修改二维线子对象,成功则返回 true。
        参数:
        index - 被修改的子对象的序号。
        pointMs - 子对象的点串。
        返回:
        成功返回 true,否则返回 false。
      • mirror

        public Geometry mirror(Point2D startPoint,
                               Point2D endPoint)
        返回当前路由对象关于指定线段对称的几何对象,即获取路由对象的镜像。
        参数:
        startPoint - 指定的线段的起点。
        endPoint - 指定的线段的终点。
        返回:
        路由对象的镜像。
      • clone

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

        public boolean reverseMOrder()
        将路由对象的 M 值倒序排列,即改变刻度标记的方向。
        返回:
        boolean 一个布尔值,表示改变刻度标记方向是否成功,成功则返回 true,否则返回 false。
      • offset

        public void offset(double dx,
                           double dy)
        将此路由对象偏移指定的量。
        覆盖:
        offset 在类中 Geometry
        参数:
        dx - 指定的偏移 X 坐标的量。单位与该路由对象所属数据集的单位相同。
        dy - 指定的偏移 Y 坐标的量。单位与该路由对象所属数据集的单位相同。
      • offsetMeasure

        public void offsetMeasure(double measure)
        按照 M 值偏移量整体修改路由对象的 M 值。
        参数:
        measure - 指定的 M 值偏移量。
      • rotate

        public void rotate(Point2D basePoint,
                           double angle)
        以指定点为基点将此路由对象旋转指定的角度,逆时针为正方向,角度以度为单位。
        覆盖:
        rotate 在类中 Geometry
        参数:
        basePoint - 指定的旋转的基点。
        angle - 指定的旋转的角度,单位为度。
      • setMAsDistance

        public void setMAsDistance(double originM)
        按照距离重新设置路由对象的 M 值。
        参数:
        originM - 起始点的 M 值。
      • setMAsDistance

        public void setMAsDistance(double originM,
                                   double scale)
        按照距离重新设置路由对象的 M 值。
        参数:
        originM - 起始点的 M 值。
        scale - M 值的缩放比例。若缩放比例为 2,则路由对象的 M 值为实际距离的 2 倍。
      • setMAsDistance

        public void setMAsDistance(double originM,
                                   double scale,
                                   boolean isIgnoreGap)
        按照距离重新设置路由对象的 M 值。
        参数:
        originM - 起始点的 M 值。
        scale - M 值的缩放比例。若缩放比例为 2,则路由对象的 M 值为实际距离的 2 倍。
        isIgnoreGap - 是否忽略路由对象子对象间的间隔。
      • getPointAtM

        public Point2D getPointAtM(double measure)
        返回指定 M 值对应的点对象。
        参数:
        measure - 指定的 M 值。
        返回:
        指定 M 值对应的点对象。
      • getPointAtM

        public Point2D getPointAtM(double measure,
                                   double offset,
                                   boolean isIgnoreGap)
        返回指定 M 值对应的点对象。
        参数:
        measure - 指定的 M 值。
        offset - M 值的偏移量。若 measure = 10,offset = 2,则指定 M 值范围为[8,12]。
        isIgnoreGap - 是否忽略子对象之间的距离。
        返回:
        指定 M 值对应的点对象。
      • getPointAtDistance

        public Point2D getPointAtDistance(double distance)
        返回指定距离处对应的点对象。
        参数:
        distance - 指定的距离。该距离指的是该点到路由线路起点的距离。单位与该路由对象所属数据集的单位相同。
        返回:
        指定距离处对应的点对象。
      • getPointAtDistance

        public Point2D getPointAtDistance(double distance,
                                          boolean isIgnoreGap)
        返回指定距离处对应的点对象。
        参数:
        distance - 指定的距离。该距离指的是该点到路由线路起点的距离。单位与该路由对象所属数据集的单位相同。
        isIgnoreGap - 是否忽略子对象之间的距离。
        返回:
        指定距离处对应的点对象。
      • getSubLineMAtM

        public GeoLineM getSubLineMAtM(double startMeasure,
                                       double endMeasure)
        返回指定起始 M 值和终止 M 值对应的路由对象。
        参数:
        startMeasure - 指定的起始 M 值。
        endMeasure - 指定的终止 M 值。
        返回:
        指定的起始 M 值和终止 M 值对应的路由对象。
      • getMAtDistance

        public double getMAtDistance(double distance)
        返回指定距离处的点对象的 M 值。
        参数:
        distance - 指定的距离。该距离指的是该点到路由线路起点的距离。单位与该路由对象所属数据集的单位相同。
        返回:
        指定距离处的点对象的 M 值。
      • getMAtDistance

        public double getMAtDistance(double distance,
                                     boolean isIgnoreGap)
        返回指定距离处的点对象的 M 值。
        参数:
        distance - 指定的距离。该距离指的是该点到路由线路起点的距离。单位与该路由对象所属数据集的单位相同。
        isIgnoreGap - 是否忽略子对象之间的距离。
        返回:
        指定距离处的点对象的 M 值。
      • getMAtDistance

        public double getMAtDistance(double distance,
                                     int subindex,
                                     boolean isIgnoreGap)
        返回指定距离处的点对象的 M 值。
        参数:
        distance - 指定的距离。该距离指的是到路由线路起点的距离。单位与该路由对象所属数据集的单位相同。
        subindex - 待返回的路由子对象的序号。
        isIgnoreGap - 是否忽略子对象之间的距离。
        返回:
        指定距离处的点对象的 M 值。
      • getDistanceAtM

        public double getDistanceAtM(double measure)
        返回指定 M 值对应的点对象到路由对象起点的距离。
        参数:
        measure - 指定的 M 值。
        返回:
        指定 M 值对应的点对象到路由对象起点的距离。单位与该路由对象所属数据集的单位相同。
      • getDistanceAtM

        public double getDistanceAtM(double measure,
                                     boolean isIgnoreGap)
        返回指定 M 值对应的点对象到路由对象起点的距离。
        参数:
        measure - 指定的 M 值。
        isIgnoreGap - 是否忽略子对象之间的距离。
        返回:
        指定 M 值对应的点对象到路由对象起点的距离。单位与该路由对象所属数据集的单位相同。
      • getDistanceAtM

        public double getDistanceAtM(double distance,
                                     int subIndex,
                                     boolean isIgnoreGap)
        返回指定 M 值对应的点对象到指定路由子对象起点的距离。
        参数:
        distance - 指定的 M 值。
        subIndex - 指定的路由子对象的索引值。
        isIgnoreGap - 指定是否忽略子对象之间的距离。
        返回:
        指定 M 值对应的点对象到指定路由子对象起点的距离。单位与该路由对象所属数据集的单位相同。
      • setMAtPoint

        public boolean setMAtPoint(Point2D point2D,
                                   double measure)
        设置路由对象指定点处的 M 值。
        参数:
        point2D - 指定的点对象。
        measure - 给定的 M 值。
        返回:
        一个布尔值,表示设置是否成功,true 表示成功,false 表示失败。
      • setMAtPoint

        public boolean setMAtPoint(Point2D point2D,
                                   double measue,
                                   double tolerance,
                                   WhereToCalibrate wheretocalibrate)
        设置路由对象指定点处的 M 值。
        参数:
        point2D - 指定的点对象。
        measue - 给定的 M 值。
        tolerance - 容限值。用于判断指定的点是否在路由对象上,若点到路由对象垂足的距离大于该值,则视为指定的点无效,不执行设置。单位与该路由对象所属数据集的单位相同。
        wheretocalibrate - 对路由(线路)对象 M 值进行校正的位置类型,对于位置的定义请参见 WhereToCalibrate 枚举。
        返回:
        一个布尔值,表示设置是否成功,true 表示成功,false 表示失败。
      • getMAtPoint

        public double getMAtPoint(Point2D point2D,
                                  double tolerance,
                                  boolean isIgnoreGap)
        返回路由对象指定点处的 M 值。
        参数:
        point2D - 指定的点对象。
        tolerance - 容限值。用于判断指定的点是否在路由对象上,若点到路由对象垂足的距离大于该值,则视为指定的点无效,不执行返回。单位与该路由对象所属数据集的单位相同。
        isIgnoreGap - 是否忽略子对象之间的间距。
        返回:
        路由对象指定点处的 M 值。
      • getSubCurveAtM

        public GeoLine getSubCurveAtM(double fromMeasure,
                                      double toMeasure)
        返回指定 M 值范围的路由对象线段对应的线对象。
        参数:
        fromMeasure - 起始 M 值。
        toMeasure - 终止 M 值。
        返回:
        指定 M 值区间对应的线对象。
      • union

        public static GeoLineM union(GeoLineM geolineM,
                                     GeoLineM otherLineM)
        将两条路由对象合并为一条新的路由对象。
        参数:
        geolineM - 用于合并的路由对象。
        otherLineM - 用于合并的另一路由对象。
        返回:
        一个布尔值,表示合并是否成功,true 表示成功,false 表示失败。
      • joint

        public boolean joint(GeoLineM otherLineM)
        连接两条路由对象,使当前路由对象的尾节点与另一路由对象的首节点相连。

        与合并(union() 方法)的处理不同,连接(joint() 方法)的处理方式如下图所示:

        参数:
        otherLineM - 待追加的路由对象。
        返回:
        一个布尔值,表示连接是否成功,true 表示成功,false 表示失败。
      • split

        public boolean split(Point2D splitPoint,
                             GeoLineM geoLineM1,
                             GeoLineM geoLineM2)
        根据指定的点对象来分割路由对象。
        参数:
        splitPoint - 分割点,此点需要在路线对象上。
        geoLineM1 - 分割后第一个的路由对象。
        geoLineM2 - 分割后第二个的路由对象。
        返回:
        一个布尔值,表示分割是否成功,true 表示成功,false 表示失败。
      • calibrateLineM

        public boolean calibrateLineM(PointMs pointMs,
                                      CalibrateMode method,
                                      boolean isIgnoreGap)
        根据路由点串校正路由对象的 M 值。
        参数:
        pointMs - 指定的路由点串。
        method - 对路由对象 M 值进行校正的方式。
        isIgnoreGap - 是否忽略子对象之间的距离。
        返回:
        一个布尔值,表示校正是否成功,true 表示成功,false 表示失败。
      • calibrateLineM

        public boolean calibrateLineM(GeoLineM geoLineM,
                                      CalibrateMode method,
                                      boolean isIgnoreGap)
        根据给定的路由对象线段来校正路由对象。
        参数:
        geoLineM - 给定的路由对象线段。
        method - 对路由对象 M 值进行校正的方式。
        isIgnoreGap - 是否忽略子对象之间的距离。
        返回:
        一个布尔值,表示校正是否成功,true 表示成功,false 表示失败。
      • clip

        public static GeoLineM clip(GeoLineM geometry,
                                    GeoRegion clipGeometry)
        根据给定的裁剪区域对指定的路由对象进行裁剪。
        参数:
        geometry - 待裁剪的路由对象。
        clipGeometry - 给定的裁剪区域,为面区域。
        返回:
        裁剪后的路由对象。
      • updateM

        public boolean updateM(Point2D fromPoint,
                               Point2D toPoint,
                               double fromMeasure,
                               double toMeasure,
                               double tolerance,
                               WhereToCalibrate whereToCalibrate,
                               CalibrateMode method)
        更新路由对象的 M 值。
        参数:
        fromPoint - 待更新线路的起始点。
        toPoint - 待更新线路的终止点。
        fromMeasure - 待更新线路的起始点 M 值。
        toMeasure - 待更新线路的终止点 M 值。
        tolerance - 容限值。用于判断指定的起始点和终止点是否均在路由对象上,若两点到路由对象垂足的距离有其一大于该值,则视为指定的点无效,不执行更新。单位与该路由对象所属数据集的单位相同。
        whereToCalibrate - 对路由(线路)对象 M 值进行校正的位置类型。
        method - 对路由对象 M 值进行校正的方式。
        返回:
        一个布尔值,表示更新是否成功,true 表示成功,false 表示失败。
      • updateM

        public boolean updateM(int fromIndex,
                               int toIndex,
                               double fromMeasure,
                               double toMeasure,
                               WhereToCalibrate wheretoCalibrate,
                               CalibrateMode calibrateMode)
        更新路由对象的 M 值。
        参数:
        fromIndex - 指定的待更新路由的起始点的索引值。
        toIndex - 指定的待更新路由的终止点的索引值。
        fromMeasure - 指定的待更新路由的起始点 M 值。
        toMeasure - 指定的待更新路由的终止点 M 值。
        wheretoCalibrate - 指定的对路由对象 M 值进行校正的位置类型。
        calibrateMode - 指定的对路由对象 M 值进行校正的方式。
        返回:
        一个布尔值,表示更新是否成功,如果成功返回 true,否则返回 false。
      • interpolateM

        public boolean interpolateM(Point2D fromPoint,
                                    Point2D toPoint,
                                    double fromMeasure,
                                    double toMeasure,
                                    double tolerance,
                                    CalibrateMode method)
        对路由对象的 INTERVAL 位置处的 M 值进行插值。关于位置的定义请参见 WhereToCalibrate 枚举。
        参数:
        fromPoint - 待插值线路的起始点。
        toPoint - 待插值线路的终止点。
        fromMeasure - 待插值线路的起始点 M 值。
        toMeasure - 待插值线路的终止点 M 值。
        tolerance - 容限值。用于判断指定的起始点和终止点是否均在路由对象上,若两点到路由对象垂足的距离有其一大于该值,则视为指定的点无效,不执行插值。单位与该路由对象所属数据集的单位相同。
        method - 对路由对象 M 值进行校正的方式。
        返回:
        一个布尔值,表示插值是否成功,true 表示成功,false 表示失败。
      • extrapolateM

        public boolean extrapolateM(Point2D fromPoint,
                                    Point2D toPoint,
                                    double fromMeasure,
                                    double toMeasure,
                                    double tolerance,
                                    CalibrateMode method)
        对路由对象的 BEFORE 与 AFTER 位置处的 M 值进行插值。关于位置的定义请参见 WhereToCalibrate 枚举。
        参数:
        fromPoint - 待插值线路的起始点。
        toPoint - 待插值线路的终止点。
        fromMeasure - 待插值线路的起始点 M 值。
        toMeasure - 待插值线路的终止点 M 值。
        tolerance - 容限值。用于判断指定的起始点和终止点是否均在路由对象上,若两点到路由对象垂足的距离有其一大于该值,则视为指定的点无效,不执行插值。单位与该路由对象所属数据集的单位相同。
        method - 对路由对象 M 值进行校正的方式。
        返回:
        一个布尔值,表示插值是否成功,true 表示成功,false 表示失败。
      • calculateNoM

        public void calculateNoM(boolean isIgnoreGap)
        通过插值计算得到无 M 值处点对象的 M 值。
        参数:
        isIgnoreGap - 是否忽略子对象之间的距离。
      • makeLineM

        public static GeoLineM makeLineM(GeoLine geoLine,
                                         PointMs pointMs)
        由指定的线对象和路由点集合来生成新的路由对象。
        参数:
        geoLine - 指定的线对象。
        pointMs - 指定的路由点集合,至少有两个点。
        返回:
        一个布尔值,表示生成是否成功,true 表示成功,false 表示失败。