com.supermap.data
类 GeoLine
- java.lang.Object
-
- com.supermap.data.Geometry
-
- com.supermap.data.GeoLine
-
-
构造器概要
构造器 构造器和说明 GeoLine()
构造一个新的 GeoLine 对象。GeoLine(GeoLine geoLine)
用指定的 GeoLine 对象构造一个与其完全相同的新对象。GeoLine(Point2Ds points)
根据指定的参数来构造一个 GeoLine 的新对象。
-
方法概要
所有方法 实例方法 具体方法 限定符和类型 方法和说明 int
addPart(Point2Ds points)
向此线几何对象追加一个子对象。GeoLine
clone()
返回当前 GeoLine 对象的一个拷贝。void
dispose()
释放该对象所占用的资源。Point2D
findPointOnLineByDistance(double distance)
在线上以指定的距离找点,查找的起始点为线的起始点。double
getLength()
返回线几何对象的长度,其值为各个子对象长度之和。Point2Ds
getPart(int index)
返回此线几何对象中指定序号的子对象,以有序点集合的方式返回该子对象。int
getPartCount()
返回线几何对象的子对象个数。boolean
insertPart(int index, Point2Ds points)
往此线几何对象中的指定位置插入一个子对象。boolean
isEmpty()
返回线几何对象是否为空,即其子对象个数是否为零。boolean
removePart(int index)
删除此线几何对象中的指定序号的子对象。void
rotate(Point2D basePoint, double angle)
旋转几何对象boolean
setPart(int index, Point2Ds points)
修改此线几何对象指定序号的子对象,即用新的有序点集合来替换原子对象的有序点集合。
-
-
-
构造器详细资料
-
GeoLine
public GeoLine()
构造一个新的 GeoLine 对象。
-
GeoLine
public GeoLine(GeoLine geoLine)
用指定的 GeoLine 对象构造一个与其完全相同的新对象。- 参数:
geoLine
- 指定的 GeoLine 对象。- 抛出:
ObjectDisposedException
- 如果作为拷贝源的线对象已调用dispose()
方法。
-
GeoLine
public GeoLine(Point2Ds points)
根据指定的参数来构造一个 GeoLine 的新对象。- 参数:
points
- 构成线的有序点集合。- 抛出:
java.lang.IllegalArgumentException
- 如果 points 中的点的总数小于2。
-
-
方法详细资料
-
isEmpty
public boolean isEmpty()
返回线几何对象是否为空,即其子对象个数是否为零。
-
clone
public GeoLine clone()
返回当前 GeoLine 对象的一个拷贝。
-
getLength
public double getLength()
返回线几何对象的长度,其值为各个子对象长度之和。- 返回:
- 线几何对象的长度。
- Default:
- 默认值为 0.0。
-
getPartCount
public int getPartCount()
返回线几何对象的子对象个数。 线几何对象清空后,其子对象的个数为0。- 返回:
- 该线几何对象的子对象个数。
- Default:
- 默认值为 0。
-
addPart
public int addPart(Point2Ds points)
向此线几何对象追加一个子对象。- 参数:
points
- 一个有序点集合。- 返回:
- 成功返回添加的子对象的序号。
- 抛出:
java.lang.IllegalArgumentException
- 如果 points 中的点的个数小于2。
-
removePart
public boolean removePart(int index)
删除此线几何对象中的指定序号的子对象。- 参数:
index
- int 指定的子对象的序号。- 返回:
- 成功则返回 true,否则返回 false。
- 抛出:
java.lang.IndexOutOfBoundsException
- 如果序号大于等于子对象的个数或序号小于0。
-
findPointOnLineByDistance
public Point2D findPointOnLineByDistance(double distance)
在线上以指定的距离找点,查找的起始点为线的起始点。- 当 distance 大于 Length 时,返回线最后一个子对象的终点。
- 当 distance=0 时,返回线几何对象的起始点;
- 当线几何对象具有多个子对象的时候,按照子对象的序号依次查找,例如一个线几何对象有三个子对象组成,如下图所示。
箭头表示了各子对象的方向,P0,P1 和 P2 分别为其起点,其长度分别为 L1,L2 和 L3,dl 表示指定的距离,p 表示某一个子对象上 dl 距离的终止点,P3 为 L3 的终点。
当distance=0时,返回 P0 点;
当distance>L1+L2+L3时,返回 P3 点;
当distance=L1+dL时,返回 P 点。
- 参数:
distance
- 要找点的距离- 返回:
- 查找成功返回要找的点,否则返回 null。
- 抛出:
java.lang.IllegalArgumentException
- 如果传入的距离为负值。
-
getPart
public Point2Ds getPart(int index)
返回此线几何对象中指定序号的子对象,以有序点集合的方式返回该子对象。- 参数:
index
- 子对象的序号。- 返回:
- 成功返回
Point2Ds
对象,失败返回空值。
-
insertPart
public boolean insertPart(int index, Point2Ds points)
往此线几何对象中的指定位置插入一个子对象。成功则返回 true,否则返回 false。- 参数:
index
- 插入的位置。points
- 插入的有序点集合。- 返回:
- 成功则返回 true,否则返回 false。
- 抛出:
java.lang.IndexOutOfBoundsException
- 如果 index 大于该线几何对象的子对象总数或 index 为负。java.lang.IllegalArgumentException
- 如果 points 中的点的总数小于2。
-
setPart
public boolean setPart(int index, Point2Ds points)
修改此线几何对象指定序号的子对象,即用新的有序点集合来替换原子对象的有序点集合。- 参数:
index
- 被修改的子对象的序号。points
- 有序点的集合。- 返回:
- 成功返回 true,否则返回 false。
- 抛出:
java.lang.IndexOutOfBoundsException
- 如果 index 不小于子对象的个数或 index 为负。java.lang.IllegalArgumentException
- 如果 points 中的点的个数小于2。
-
-