com.supermap.analyst.networkanalyst
类 TrajectoryPreprocessing
- java.lang.Object
-
- com.supermap.data.InternalHandle
-
- com.supermap.data.InternalHandleDisposable
-
- com.supermap.analyst.networkanalyst.TrajectoryPreprocessing
-
- 所有已实现的接口:
- IDisposable
public class TrajectoryPreprocessing extends com.supermap.data.InternalHandleDisposable轨迹预处理类。用于处理轨迹数据中的异常点,包括轨迹分段,处理偏移点、重复点、尖角等异常情形。
-
-
构造器概要
构造器 构造器和说明 TrajectoryPreprocessing()构造一个新的轨迹预处理类的新对象。
-
方法概要
所有方法 静态方法 实例方法 具体方法 限定符和类型 方法和说明 voiddispose()释放该对象所占用的资源。doublegetMeasurementError()返回轨迹点误差值。PrjCoordSysgetPrjCoordSys()返回待处理点的坐标系。doublegetSharpAngle()返回尖角角度值。DatasetVectorgetValidRegion()返回有效面。booleanisRemoveRedundantPoints()返回是否去除空间位置相等的重复点。DatasetVectorrectify(DatasetVector sourceDataset, String idField, String timeField, double splitTimeMilliseconds, Datasource outputDatasource, String outputDatasetName, String resultTrackIndexField)对数据集进行轨迹预处理,结果保存为点数据。TrajectoryPreprocessingResultrectify(TrackPoint[] points)轨迹预处理结果。TrajectoryPreprocessingsetMeasurementError(double value)设置轨迹点误差值,比如 GPS误差值,单位为米。TrajectoryPreprocessingsetPrjCoordSys(PrjCoordSys prjCoordSys)设置待处理点的坐标系。TrajectoryPreprocessingsetRemoveRedundantPoints(boolean value)是否去除空间位置相等的重复点。TrajectoryPreprocessingsetSharpAngle(double sharpAngle)设置尖角角度值。TrajectoryPreprocessingsetValidRegion(DatasetVector datasetValidRegion)设置有效面,只有落在有效面内的点才是有效点。static List<TrackPoint[]>splitTrack(TrackPoint[] points, double splitTimeMilliseconds)设置轨迹分段方式。
-
-
-
方法详细资料
-
dispose
public void dispose()
释放该对象所占用的资源。当调用该方法之后,此对象不再可用。
-
setMeasurementError
public TrajectoryPreprocessing setMeasurementError(double value)
设置轨迹点误差值,比如 GPS误差值,单位为米。需要根据数据的质量指定一个合适的误差值。轨迹点偏移超过该误差值,则将其处理掉。下图为处理轨迹点误差值的示意图。
- 参数:
value- 轨迹点误差值。
-
getMeasurementError
public double getMeasurementError()
返回轨迹点误差值。- 返回:
- 轨迹点误差值。
-
setPrjCoordSys
public TrajectoryPreprocessing setPrjCoordSys(PrjCoordSys prjCoordSys)
设置待处理点的坐标系。- 参数:
prjCoordSys- 待处理点的坐标系。
-
getPrjCoordSys
public PrjCoordSys getPrjCoordSys()
返回待处理点的坐标系。- 返回:
- 待处理点的坐标系。
-
setValidRegion
public TrajectoryPreprocessing setValidRegion(DatasetVector datasetValidRegion)
设置有效面,只有落在有效面内的点才是有效点。- 参数:
datasetValidRegion- 有效面数据集。
-
getValidRegion
public DatasetVector getValidRegion()
返回有效面。- 返回:
- 有效面。
-
setSharpAngle
public TrajectoryPreprocessing setSharpAngle(double sharpAngle)
设置尖角角度值。下图为处理轨迹尖角的示意图。
- 参数:
sharpAngle- 尖角角度值。单位为角度,当连续时间段内三个不相等的点的夹角小于指定的尖角角度值时,中间的点将会被纠偏处理成首尾两个点的中点。当值小于等于0时,将不处理尖角。
-
getSharpAngle
public double getSharpAngle()
返回尖角角度值。- 返回:
- 尖角角度值。
-
setRemoveRedundantPoints
public TrajectoryPreprocessing setRemoveRedundantPoints(boolean value)
是否去除空间位置相等的重复点。下图为处理重复点的示意图。
- 参数:
value- 是否去除空间位置相等的重复点。
-
isRemoveRedundantPoints
public boolean isRemoveRedundantPoints()
返回是否去除空间位置相等的重复点。- 返回:
- 是否去除空间位置相等的重复点。true表示去除空间位置相等的重复点。
-
rectify
public TrajectoryPreprocessingResult rectify(TrackPoint[] points)
轨迹预处理结果。- 参数:
points- 处理后的轨迹点数据集。
-
rectify
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 字段值在源轨迹点数据集中是没有被占用。- 返回:
- 结果点数据集,预处理后的结果点数据集。
-
splitTrack
public static List<TrackPoint[]> splitTrack(TrackPoint[] points, double splitTimeMilliseconds)
设置轨迹分段方式。如果对轨迹进行分段,则会生成一个 TrackIndex 字段(或 TrackIndex 开头的字段),用于标识每个轨迹点所属的轨迹。下图为轨迹分段的示意图。
- 参数:
points- 待处理的轨迹点。splitTimeMilliseconds- 时间间隔长度,单位为毫秒。对于轨迹切割的 duration方式,当连续两个点的时间间隔大于该时间间隔长度时,则将轨迹从两个点间分割开。
-
-
Copyright © 2021–2025 SuperMap. All rights reserved.