构造器和说明 |
---|
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 值。
|
public GeoLineM()
public GeoLineM(GeoLineM geoLineM)
geoLineM
- 指定的 GeoLineM 对象。public GeoLineM(PointMs pointMs)
pointMs
- 构成路由的路由点集合。public double getLength()
public int getPartCount()
对于简单对象的该方法的返回值为1,路由对象清空后,该方法的返回值为0。
public double getMaxM()
public double getMinM()
public int addPart(PointMs pointMs)
pointMs
- 子对象的路由点串。public boolean removePart(int index)
当序号为负值或者不小于 getPartCount()
方法的返回值时抛出 IndexOutOfBoundsException。
index
- int 指定的子对象索引号。public GeoRegion convertToRegion()
对于没有封闭的路由对象,转换为面几何对象时,会把首尾自动连起来。
java.lang.UnsupportedOperationException
- 当此 GeoLineM
对象实例的某个子对象的点数少于3时。public Point2D findPointOnLineByDistance(double distance)
GeoLine.findPointOnLineByDistance()
方法。 当传入的距离大于路由的总长度,返回路由的末端点。distance
- 指定的距离。单位与该路由对象所属数据集的单位相同。java.lang.IllegalArgumentException
- 当传入的为负值时。public PointMs getPart(int index)
index
- 子对象的序号。public boolean insertPart(int index, PointMs pointMs)
index
- 插入的位置,缺省则从0开始。pointMs
- 插入对象的路由点串。java.lang.IndexOutOfBoundsException
- 当序号为负值或者不小于 getPartCount()
方法的返回值时。public int indexOf(PointMs part)
part
- 指定的路由点集合对象。public GeoLine convertToLine()
public boolean reverse()
public boolean setPart(int index, PointMs pointMs)
index
- 被修改的子对象的序号。pointMs
- 子对象的点串。public Geometry mirror(Point2D startPoint, Point2D endPoint)
startPoint
- 指定的线段的起点。endPoint
- 指定的线段的终点。public GeoLineM clone()
public boolean reverseMOrder()
public void offset(double dx, double dy)
public void offsetMeasure(double measure)
measure
- 指定的 M 值偏移量。public void rotate(Point2D basePoint, double angle)
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 GeoLineM getSubLineMAtM(double startMeasure, double endMeasure)
startMeasure
- 指定的起始 M 值。endMeasure
- 指定的终止 M 值。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 measue, 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 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 method)
fromPoint
- 待更新线路的起始点。toPoint
- 待更新线路的终止点。fromMeasure
- 待更新线路的起始点 M 值。toMeasure
- 待更新线路的终止点 M 值。tolerance
- 容限值。用于判断指定的起始点和终止点是否均在路由对象上,若两点到路由对象垂足的距离有其一大于该值,则视为指定的点无效,不执行更新。单位与该路由对象所属数据集的单位相同。whereToCalibrate
- 对路由(线路)对象 M 值进行校正的位置类型。method
- 对路由对象 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
- 是否忽略子对象之间的距离。