changed the track obj with road
This commit is contained in:
@@ -102,27 +102,27 @@ public class TrackObj {
|
||||
private void calLoc() {
|
||||
//距离计算,位置修正
|
||||
if (relativeStatic()) {
|
||||
double angle = roadAngle != 0 ? roadAngle : cacheData.getHeading();
|
||||
if (centerLineInfo == null && isFourWheelType()) {
|
||||
try {
|
||||
centerLineInfo = CallerHDMapManager.INSTANCE.getCenterLineInfo(lon, lat, (float) angle);
|
||||
} catch (Exception e) {
|
||||
Log.d("hy uuid : " + cacheData.getUuid(), "道路获取异常");
|
||||
}
|
||||
if (centerLineInfo != null && centerLineInfo.getPoints() != null && !centerLineInfo.getPoints().isEmpty()) {
|
||||
double[] matchedPoint = PointInterpolatorUtil.mergeToRoad(cacheData.getLongitude(), cacheData.getLatitude(), centerLineInfo.getPoints());
|
||||
if (matchedPoint[0] > 0 || matchedPoint[1] > 0) {
|
||||
lon = matchedPoint[0];
|
||||
lat = matchedPoint[1];
|
||||
s2LatLng = S2LatLng.fromDegrees(cacheData.getLatitude(), cacheData.getLongitude());
|
||||
s2CellId = S2CellId.fromLatLng(s2LatLng).parent(22);
|
||||
} else {
|
||||
centerLineInfo = null;
|
||||
}
|
||||
} else {
|
||||
centerLineInfo = null;
|
||||
}
|
||||
}
|
||||
// double angle = roadAngle != 0 ? roadAngle : cacheData.getHeading();
|
||||
// if (centerLineInfo == null && isFourWheelType()) {
|
||||
// try {
|
||||
// centerLineInfo = CallerHDMapManager.INSTANCE.getCenterLineInfo(lon, lat, (float) angle);
|
||||
// } catch (Exception e) {
|
||||
// Log.d("hy uuid : " + cacheData.getUuid(), "道路获取异常");
|
||||
// }
|
||||
// if (centerLineInfo != null && centerLineInfo.getPoints() != null && !centerLineInfo.getPoints().isEmpty()) {
|
||||
// double[] matchedPoint = PointInterpolatorUtil.mergeToRoad(cacheData.getLongitude(), cacheData.getLatitude(), centerLineInfo.getPoints());
|
||||
// if (matchedPoint[0] > 0 || matchedPoint[1] > 0) {
|
||||
// lon = matchedPoint[0];
|
||||
// lat = matchedPoint[1];
|
||||
// s2LatLng = S2LatLng.fromDegrees(cacheData.getLatitude(), cacheData.getLongitude());
|
||||
// s2CellId = S2CellId.fromLatLng(s2LatLng).parent(22);
|
||||
// } else {
|
||||
// centerLineInfo = null;
|
||||
// }
|
||||
// } else {
|
||||
// centerLineInfo = null;
|
||||
// }
|
||||
// }
|
||||
cacheData = cacheData.toBuilder().setLongitude(lon).setLatitude(lat).build();
|
||||
} else {
|
||||
centerLineInfo = null;
|
||||
@@ -175,7 +175,11 @@ public class TrackObj {
|
||||
}
|
||||
|
||||
public boolean relativeStatic() {
|
||||
return speedAverage < LIMIT_SPEED | cacheData.getSpeed() < LIMIT_SPEED;
|
||||
return (speedAverage < LIMIT_SPEED && cacheData.getSpeed() < LIMIT_SPEED) | isInRange() ;
|
||||
}
|
||||
|
||||
private boolean isInRange(){
|
||||
return s2LatLng.getDistance(S2LatLng.fromDegrees(cacheData.getLatitude(), cacheData.getLongitude())).distance(6371000) < 0.2;
|
||||
}
|
||||
|
||||
public boolean isFourWheelType() {
|
||||
|
||||
Reference in New Issue
Block a user