public class TrajectoryPreprocessing
extends com.supermap.data.InternalHandleDisposable
构造器和说明 |
---|
TrajectoryPreprocessing()
构造一个新的轨迹预处理类的新对象。
|
限定符和类型 | 方法和说明 |
---|---|
void |
dispose()
释放该对象所占用的资源。
|
double |
getMeasurementError()
返回轨迹点误差值。
|
PrjCoordSys |
getPrjCoordSys()
返回待处理点的坐标系。
|
double |
getSharpAngle()
返回尖角角度值。
|
DatasetVector |
getValidRegion()
返回有效面。
|
boolean |
isRemoveRedundantPoints()
返回是否去除空间位置相等的重复点。
|
DatasetVector |
rectify(DatasetVector sourceDataset,
String idField,
String timeField,
double splitTimeMilliseconds,
Datasource outputDatasource,
String outputDatasetName,
String resultTrackIndexField)
对数据集进行轨迹预处理,结果保存为点数据。
|
TrajectoryPreprocessingResult |
rectify(TrackPoint[] points)
轨迹预处理结果。
|
TrajectoryPreprocessing |
setMeasurementError(double value)
设置轨迹点误差值,比如 GPS误差值,单位为米。
|
TrajectoryPreprocessing |
setPrjCoordSys(PrjCoordSys prjCoordSys)
设置待处理点的坐标系。
|
TrajectoryPreprocessing |
setRemoveRedundantPoints(boolean value)
是否去除空间位置相等的重复点。
|
TrajectoryPreprocessing |
setSharpAngle(double sharpAngle)
设置尖角角度值。
|
TrajectoryPreprocessing |
setValidRegion(DatasetVector datasetValidRegion)
设置有效面,只有落在有效面内的点才是有效点。
|
static List<TrackPoint[]> |
splitTrack(TrackPoint[] points,
double splitTimeMilliseconds)
设置轨迹分段方式。
|
public void dispose()
public TrajectoryPreprocessing setMeasurementError(double value)
下图为处理轨迹点误差值的示意图。
value
- 轨迹点误差值。public double getMeasurementError()
public TrajectoryPreprocessing setPrjCoordSys(PrjCoordSys prjCoordSys)
prjCoordSys
- 待处理点的坐标系。public PrjCoordSys getPrjCoordSys()
public TrajectoryPreprocessing setValidRegion(DatasetVector datasetValidRegion)
datasetValidRegion
- 有效面数据集。public DatasetVector getValidRegion()
public TrajectoryPreprocessing setSharpAngle(double sharpAngle)
下图为处理轨迹尖角的示意图。
sharpAngle
- 尖角角度值。单位为角度,当连续时间段内三个不相等的点的夹角小于指定的尖角角度值时,中间的点将会被纠偏处理成首尾两个点的中点。当值小于等于0时,将不处理尖角。public double getSharpAngle()
public TrajectoryPreprocessing setRemoveRedundantPoints(boolean value)
下图为处理重复点的示意图。
value
- 是否去除空间位置相等的重复点。public boolean isRemoveRedundantPoints()
public TrajectoryPreprocessingResult rectify(TrackPoint[] points)
points
- 处理后的轨迹点数据集。public DatasetVector rectify(DatasetVector sourceDataset, String idField, String timeField, double splitTimeMilliseconds, Datasource outputDatasource, String outputDatasetName, String resultTrackIndexField)
sourceDataset
- 原始轨迹点数据集。idField
- 轨迹的 ID 字段,相同 ID 值相同的轨迹点属于一条轨迹,比如手机号、车牌号等。没有指定 ID 字段时,数据集中所有点将归类为一条轨迹。timeField
- 轨迹点的时间字段,必须为时间或时间戳类型字段。splitTimeMilliseconds
- 分割轨迹的时间间隔,如果时间相邻的两个点的时间间隔大于指定的分割轨迹的时间间隔,则会从两个点间分割轨迹。例如以自然天为分割的时间间隔。outputDatasource
- 保存结果数据集的数据源。outputDatasetName
- 结果数据集名称。resultTrackIndexField
- 保存轨迹索引的字段,轨迹分割后,一条轨迹可能分割为多条子轨迹,resultTrackIndexField 将会保存子轨迹的索引值,值从1开始。
因为结果数据集会保存源轨迹点数据集的所有字段,所以必须确保 resultTrackIndexField 字段值在源轨迹点数据集中是没有被占用。public static List<TrackPoint[]> splitTrack(TrackPoint[] points, double splitTimeMilliseconds)
下图为轨迹分段的示意图。
points
- 待处理的轨迹点。splitTimeMilliseconds
- 时间间隔长度,单位为毫秒。对于轨迹切割的 duration方式,当连续两个点的时间间隔大于该时间间隔长度时,则将轨迹从两个点间分割开。Copyright © 2021–2024 SuperMap. All rights reserved.