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,
CalibrateMeasureMethod method,
boolean isIgnoreGap)
已过时。
根据给定的路由对象线段来校正路由对象。
|
boolean |
calibrateLineM(GeoLineM geoLineM,
CalibrateMode method,
boolean isIgnoreGap)
已过时。
根据给定的路由对象线段来校正路由对象。
|
boolean |
CalibrateLineM(PointMs pointMs,
CalibrateMeasureMethod method,
boolean isIgnoreGap)
已过时。
根据路由点串校正路由对象的 M 值。
|
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,
CalibrateMeasureMethod method)
已过时。
对路由对象的 BEFORE 与 AFTER 位置处的 M 值进行插值。关于位置的定义请参见 WhereToCalibrate 枚举。
|
boolean |
extrapolateM(Point2D fromPoint,
Point2D toPoint,
double fromMeasure,
double toMeasure,
double tolerance,
CalibrateMode method)
已过时。
对路由对象的 BEFORE 与 AFTER 位置处的 M 值进行插值。关于位置的定义请参见 WhereToCalibrate 枚举。
|
Point2D |
findPointOnLineByDistance(double distance)
在路由上以指定的距离找点,查找的起始点为二维线的起始点。
|
boolean |
fromXML(String xml)
从XML加载几何对象
|
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,
CalibrateMeasureMethod method)
已过时。
对路由对象的 INTERVAL 位置处的 M 值进行插值。关于位置的定义请参见 WhereToCalibrate 枚举。
|
boolean |
interpolateM(Point2D fromPoint,
Point2D toPoint,
double fromMeasure,
double toMeasure,
double tolerance,
CalibrateMode method)
已过时。
对路由对象的 INTERVAL 位置处的 M 值进行插值。关于位置的定义请参见 WhereToCalibrate 枚举。
|
boolean |
isEmpty()
返回路线对象是否为空
|
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)
删除路由对象中的指定序号的子对象。
|
void |
resize(Rectangle2D bounds)
改变几何对象的大小
当宽度为负数时对象水平翻转,当高度为负数时,对象垂直翻转
|
boolean |
reverse()
改变该路由对象各个子对象的方向。
|
boolean |
reverseMOrder()
将路由对象的 M 值倒序排列,即改变刻度标记的方向。
|
void |
rotate(Point2D basePoint,
double angle)
以指定点为基点将此路由对象旋转指定的角度,逆时针为正方向,角度以度为单位。
|
void |
setEmpty()
清空几何对象
|
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 measure,
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,
CalibrateMeasureMethod method)
已过时。
更新路由对象的 M 值。
|
boolean |
updateM(Point2D fromPoint,
Point2D toPoint,
double fromMeasure,
double toMeasure,
double tolerance,
WhereToCalibrate wheretoCalibrate,
CalibrateMode calibrateMode)
已过时。
更新路由对象的 M 值。
|
addCustomGeometryCreatedListener, getBounds, getID, getInnerPoint, getStyle, getType, getVariantID, hitTest, removeCustomGeometryCreatedListener, setBounds, setID, setStyle, toXML
public GeoLineM()
public GeoLineM(GeoLineM geoLineM)
geoLineM
- 指定的 GeoLineM 对象。public GeoLineM(PointMs pointMs)
pointMs
- 构成路由的路由点集合。public boolean isEmpty()
isEmpty
在类中 Geometry
Geometry.offset(double, double)
public GeoLineM clone()
public void dispose()
dispose
在接口中 IDisposable
dispose
在类中 Geometry
public double getLength()
public int getPartCount()
对于简单对象的该方法的返回值为1,路由对象清空后,该方法的返回值为0。
public int addPart(PointMs pointMs)
pointMs
- 子对象的路由点串。public boolean removePart(int index)
当序号为负值或者不小于 getPartCount()
方法的返回值时抛出 IndexOutOfBoundsException。
index
- int 指定的子对象索引号。public GeoRegion convertToRegion()
对于没有封闭的路由对象,转换为面几何对象时,会把首尾自动连起来。
UnsupportedOperationException
- 当此 GeoLineM
对象实例的某个子对象的点数少于3时。public Point2D findPointOnLineByDistance(double distance)
GeoLine.findPointOnLineByDistance()
方法。
当传入的距离大于路由的总长度,返回路由的末端点。distance
- 指定的距离。单位与该路由对象所属数据集的单位相同。IllegalArgumentException
- 当传入的为负值时。public PointMs getPart(int index)
index
- 子对象的序号。public boolean insertPart(int index, PointMs pointMs)
index
- 插入的位置,缺省则从0开始。pointMs
- 插入对象的路由点串。IndexOutOfBoundsException
- 当序号为负值或者不小于 getPartCount()
方法的返回值时。public int indexOf(PointMs part)
part
- 指定的路由点集合对象。public boolean reverse()
public boolean reverseMOrder()
public boolean setPart(int index, PointMs pointMs)
index
- 被修改的子对象的序号。pointMs
- 子对象的点串。public boolean fromXML(String xml)
fromXML
在类中 Geometry
xml
- StringGeometry.offset(double, double)
public Geometry mirror(Point2D startPoint, Point2D endPoint)
mirror
在类中 Geometry
startPoint
- 指定的线段的起点。endPoint
- 指定的线段的终点。Geometry.offset(double,double)
public void offset(double dx, double dy)
public void offsetMeasure(double measure)
measure
- 指定的 M 值偏移量。public void resize(Rectangle2D bounds)
public void rotate(Point2D basePoint, double angle)
public double getMaxM()
public double getMinM()
public GeoLine convertToLine()
public void setMAsDistance(double originM)
originM
- 起始点的 M 值。public void setMAsDistance(double originM, double scale)
originM
- 起始点的 M 值。scale
- M 值的缩放比例。若缩放比例为 2,则路由对象的 M 值为实际距离的 2 倍。public void setMAsDistance(double originM, double scale, boolean isIgnoreGap)
originM
- 起始点的 M 值。scale
- M 值的缩放比例。若缩放比例为 2,则路由对象的 M 值为实际距离的 2 倍。isIgnoreGap
- 是否忽略路由对象子对象间的间隔。public Point2D getPointAtM(double measure)
measure
- 指定的 M 值。public Point2D getPointAtM(double measure, double offset, boolean isIgnoreGap)
measure
- 指定的 M 值。offset
- M 值的偏移量。若 measure = 10,offset = 2,则指定 M 值范围为[8,12]。isIgnoreGap
- 是否忽略子对象之间的距离。public Point2D getPointAtDistance(double distance)
distance
- 指定的距离。该距离指的是该点到路由线路起点的距离。单位与该路由对象所属数据集的单位相同。public Point2D getPointAtDistance(double distance, boolean isIgnoreGap)
distance
- 指定的距离。该距离指的是该点到路由线路起点的距离。单位与该路由对象所属数据集的单位相同。isIgnoreGap
- 是否忽略子对象之间的距离。public double getMAtDistance(double distance)
distance
- 指定的距离。该距离指的是该点到路由线路起点的距离。单位与该路由对象所属数据集的单位相同。public double getMAtDistance(double distance, boolean isIgnoreGap)
distance
- 指定的距离。该距离指的是该点到路由线路起点的距离。单位与该路由对象所属数据集的单位相同。isIgnoreGap
- 是否忽略子对象之间的距离。public double getMAtDistance(double distance, int subindex, boolean isIgnoreGap)
distance
- 指定的距离。该距离指的是到路由线路起点的距离。单位与该路由对象所属数据集的单位相同。subindex
- 待返回的路由子对象的序号。isIgnoreGap
- 是否忽略子对象之间的距离。public double getDistanceAtM(double measure)
measure
- 指定的 M 值。public double getDistanceAtM(double measure, boolean isIgnoreGap)
measure
- 指定的 M 值。isIgnoreGap
- 是否忽略子对象之间的距离。public double getDistanceAtM(double distance, int subindex, boolean isIgnoreGap)
distance
- 指定的 M 值。subIndex
- 指定的路由子对象的索引值。isIgnoreGap
- 指定是否忽略子对象之间的距离。public boolean setMAtPoint(Point2D point2D, double measure)
point2D
- 指定的点对象。measure
- 给定的 M 值。public boolean setMAtPoint(Point2D point2D, double measure, double tolerance, WhereToCalibrate wheretocalibrate)
point2D
- 指定的点对象。measue
- 给定的 M 值。tolerance
- 容限值。用于判断指定的点是否在路由对象上,若点到路由对象垂足的距离大于该值,则视为指定的点无效,不执行设置。单位与该路由对象所属数据集的单位相同。wheretocalibrate
- 对路由(线路)对象 M 值进行校正的位置类型,对于位置的定义请参见 WhereToCalibrate 枚举。public double getMAtPoint(Point2D point2D, double tolerance, boolean isIgnoreGap)
point2D
- 指定的点对象。tolerance
- 容限值。用于判断指定的点是否在路由对象上,若点到路由对象垂足的距离大于该值,则视为指定的点无效,不执行返回。单位与该路由对象所属数据集的单位相同。isIgnoreGap
- 是否忽略子对象之间的间距。public GeoLine getSubCurveAtM(double fromMeasure, double toMeasure)
fromMeasure
- 起始 M 值。toMeasure
- 终止 M 值。public GeoLineM getSubLineMAtM(double startMeasure, double endMeasure)
startMeasure
- 指定的起始 M 值。endMeasure
- 指定的终止 M 值。public static GeoLineM union(GeoLineM geoLineM, GeoLineM otherLineM)
geolineM
- 用于合并的路由对象。otherLineM
- 用于合并的另一路由对象。public boolean joint(GeoLineM otherLineM)
与合并(union() 方法)的处理不同,连接(joint() 方法)的处理方式如下图所示:
otherLineM
- 待追加的路由对象。public boolean split(Point2D splitPoint, GeoLineM geoLineM1, GeoLineM geoLineM2)
splitPoint
- 分割点,此点需要在路线对象上。geoLineM1
- 分割后第一个的路由对象。geoLineM2
- 分割后第二个的路由对象。public boolean calibrateLineM(PointMs pointMs, CalibrateMode method, boolean isIgnoreGap)
pointMs
- 指定的路由点串。method
- 对路由对象 M 值进行校正的方式。isIgnoreGap
- 是否忽略子对象之间的距离。public boolean calibrateLineM(GeoLineM geoLineM, CalibrateMode method, boolean isIgnoreGap)
geoLineM
- 给定的路由对象线段。method
- 对路由对象 M 值进行校正的方式。isIgnoreGap
- 是否忽略子对象之间的距离。public static GeoLineM clip(GeoLineM geometry, GeoRegion clipGeometry)
geometry
- 待裁剪的路由对象。clipGeometry
- 给定的裁剪区域,为面区域。public boolean updateM(Point2D fromPoint, Point2D toPoint, double fromMeasure, double toMeasure, double tolerance, WhereToCalibrate wheretoCalibrate, CalibrateMode calibrateMode)
fromPoint
- 待更新线路的起始点。toPoint
- 待更新线路的终止点。fromMeasure
- 待更新线路的起始点 M 值。toMeasure
- 待更新线路的终止点 M 值。tolerance
- 容限值。用于判断指定的起始点和终止点是否均在路由对象上,若两点到路由对象垂足的距离有其一大于该值,则视为指定的点无效,不执行更新。单位与该路由对象所属数据集的单位相同。wheretoCalibrate
- 对路由(线路)对象 M 值进行校正的位置类型。calibrateMode
- 对路由对象 M 值进行校正的方式。public boolean updateM(int fromIndex, int toIndex, double fromMeasure, double toMeasure, WhereToCalibrate wheretoCalibrate, CalibrateMode calibrateMode)
fromIndex
- 指定的待更新路由的起始点的索引值。toIndex
- 指定的待更新路由的终止点的索引值。fromMeasure
- 指定的待更新路由的起始点 M 值。toMeasure
- 指定的待更新路由的终止点 M 值。wheretoCalibrate
- 指定的对路由对象 M 值进行校正的位置类型。calibrateMode
- 指定的对路由对象 M 值进行校正的方式。public boolean interpolateM(Point2D fromPoint, Point2D toPoint, double fromMeasure, double toMeasure, double tolerance, CalibrateMode method)
fromPoint
- 待插值线路的起始点。toPoint
- 待插值线路的终止点。fromMeasure
- 待插值线路的起始点 M 值。toMeasure
- 待插值线路的终止点 M 值。tolerance
- 容限值。用于判断指定的起始点和终止点是否均在路由对象上,若两点到路由对象垂足的距离有其一大于该值,则视为指定的点无效,不执行插值。单位与该路由对象所属数据集的单位相同。method
- 对路由对象 M 值进行校正的方式。public boolean extrapolateM(Point2D fromPoint, Point2D toPoint, double fromMeasure, double toMeasure, double tolerance, CalibrateMode method)
fromPoint
- 待插值线路的起始点。toPoint
- 待插值线路的终止点。fromMeasure
- 待插值线路的起始点 M 值。toMeasure
- 待插值线路的终止点 M 值。tolerance
- 容限值。用于判断指定的起始点和终止点是否均在路由对象上,若两点到路由对象垂足的距离有其一大于该值,则视为指定的点无效,不执行插值。单位与该路由对象所属数据集的单位相同。method
- 对路由对象 M 值进行校正的方式。public void calculateNoM(boolean isIgnoreGap)
isIgnoreGap
- 是否忽略子对象之间的距离。public static GeoLineM makeLineM(GeoLine geoLine, PointMs pointMs)
geoLine
- 指定的线对象。pointMs
- 指定的路由点集合,至少有两个点。public boolean updateM(Point2D fromPoint, Point2D toPoint, Double fromMeasure, Double toMeasure, Double tolerance, WhereToCalibrate whereToCalibrate, CalibrateMeasureMethod method)
fromPoint
- 待更新线路的起始点。toPoint
- 待更新线路的终止点。fromMeasure
- 待更新线路的起始点 M 值。toMeasure
- 待更新线路的终止点 M 值。tolerance
- 容限值。用于判断指定的起始点和终止点是否均在路由对象上,若两点到路由对象垂足的距离有其一大于该值,则视为指定的点无效,不执行更新。单位与该路由对象所属数据集的单位相同。whereToCalibrate
- 对路由(线路)对象 M 值进行校正的位置类型。method
- 对路由对象 M 值进行校正的方式。public boolean CalibrateLineM(PointMs pointMs, CalibrateMeasureMethod method, boolean isIgnoreGap)
pointMs
- 指定的路由点串。method
- 对路由对象 M 值进行校正的方式。isIgnoreGap
- 是否忽略子对象之间的距离。public boolean calibrateLineM(GeoLineM geoLineM, CalibrateMeasureMethod method, boolean isIgnoreGap)
geoLineM
- 给定的路由对象线段。method
- 对路由对象 M 值进行校正的方式。isIgnoreGap
- 是否忽略子对象之间的距离。public boolean interpolateM(Point2D fromPoint, Point2D toPoint, double fromMeasure, double toMeasure, double tolerance, CalibrateMeasureMethod method)
fromPoint
- 待插值线路的起始点。toPoint
- 待插值线路的终止点。fromMeasure
- 待插值线路的起始点 M 值。toMeasure
- 待插值线路的终止点 M 值。tolerance
- 容限值。用于判断指定的起始点和终止点是否均在路由对象上,若两点到路由对象垂足的距离有其一大于该值,则视为指定的点无效,不执行插值。单位与该路由对象所属数据集的单位相同。method
- 对路由对象 M 值进行校正的方式。public boolean extrapolateM(Point2D fromPoint, Point2D toPoint, double fromMeasure, double toMeasure, double tolerance, CalibrateMeasureMethod method)
fromPoint
- 待插值线路的起始点。toPoint
- 待插值线路的终止点。fromMeasure
- 待插值线路的起始点 M 值。toMeasure
- 待插值线路的终止点 M 值。tolerance
- 容限值。用于判断指定的起始点和终止点是否均在路由对象上,若两点到路由对象垂足的距离有其一大于该值,则视为指定的点无效,不执行插值。单位与该路由对象所属数据集的单位相同。method
- 对路由对象 M 值进行校正的方式。Copyright © 2021–2024 SuperMap. All rights reserved.