fix: 修改自动采集规则

This commit is contained in:
xiaoyan 2022-10-27 16:06:12 +08:00
parent 9170934cff
commit b32f3f5d09

View File

@ -87,6 +87,7 @@ import com.otaliastudios.cameraview.size.AspectRatio;
import com.otaliastudios.cameraview.size.SizeSelector;
import com.otaliastudios.cameraview.size.SizeSelectors;
import com.tencent.map.geolocation.TencentLocation;
import com.tencent.map.geolocation.TencentMotion;
import com.tencent.map.geolocation.TencentPoi;
import com.tencent.tencentmap.mapsdk.maps.CameraUpdate;
import com.tencent.tencentmap.mapsdk.maps.CameraUpdateFactory;
@ -718,21 +719,21 @@ public class AutoTakePictureActivity extends BaseActivity implements View.OnClic
finishEntityMap.put(roadMatchEntity.getId(), roadMatchEntity);
}
// 匹配到终点或匹配距离超过90%
if (roadMatchEntity.getMatchPointList().size()>=2&&GeometryTools.getLineStringByMyCoordinate(roadMatchEntity.getMatchPointList()).getLength()/roadMatchEntity.getLength()>=MATCH_CONFIRM_FINISH_BUFFER
if ((roadMatchEntity.getMatchPointList().size()>=2&&GeometryTools.getLineStringByMyCoordinate(roadMatchEntity.getMatchPointList()).getLength()/roadMatchEntity.getLength()>=MATCH_CONFIRM_FINISH_BUFFER)
|| currentEndDistance<= finalMatchStartDistance) {
roadMatchEntity.setEndMathchTime(System.currentTimeMillis());
// 匹配到终点后记录该条数据的最新一次匹配距离当下一次匹配距离大于当前距离则认为该数据完全匹配结束匹配
roadMatchEntity.setLastEndDistance(currentEndDistance);
}
} else { // 无法匹配或当前道路并不是距离最近的数据
// 将无法匹配的点位个数记录到对象中
roadMatchEntity.setUnMatchCount(roadMatchEntity.getUnMatchCount()+1);
roadMatchEntity.setMatchCount(0);// 设置连续匹配的数据个数为0
roadMatchEntity.getUnMatchPointList().add(new MyCoordinate(currentPoint.getX(), currentPoint.getY()));
// 该数据未匹配但是如果此前已经匹配到结束点则仍然认为匹配成功
if (roadMatchEntity.getEndMathchTime()>0) {
finishEntityMap.put(roadMatchEntity.getId(), roadMatchEntity);
} else {
// 将无法匹配的点位个数记录到对象中
roadMatchEntity.setUnMatchCount(roadMatchEntity.getUnMatchCount()+1);
roadMatchEntity.setMatchCount(0);// 设置连续匹配的数据个数为0
roadMatchEntity.getUnMatchPointList().add(new MyCoordinate(currentPoint.getX(), currentPoint.getY()));
// 判断当前是否存在已匹配的点
if (roadMatchEntity.getMatchPointList().size()>1) { // 存在匹配的点超过1个根据长度判断
if (GeometryTools.getLineStringByMyCoordinate(roadMatchEntity.getMatchPointList()).getLength()/roadMatchEntity.getLength()>UNMATCH_GIVE_UP_DISTANCE_BUFFER) {
@ -770,9 +771,12 @@ public class AutoTakePictureActivity extends BaseActivity implements View.OnClic
}
// TODO 完成的entity数据需要自动生成对应的数据还需要自动复制对应的照片通知服务器采集完成
finishRoadTask(finishEntityMap);
// 语音提示用户
mediaPlayer.start();
systemTTS.playText("拍摄完成");
// 只有在没有正在拍摄的任务所有任务都拍摄完成时才会提示
if (roadMatchEntityList.isEmpty()) {
// 语音提示用户
mediaPlayer.start();
systemTTS.playText("拍摄完成");
}
}
if (!unMatchList.isEmpty()) {
@ -826,7 +830,7 @@ public class AutoTakePictureActivity extends BaseActivity implements View.OnClic
.cls(TaskByNetBean.class)
.params(new HttpParams())
.token(Constant.ACCESS_TOKEN);
okhttp3.Response response = okGoBuilder.getSynchronization();
Response response = okGoBuilder.getSynchronization();
Gson gson = new Gson();
TaskByNetBean taskByNetBean = gson.fromJson(response.body().string(), TaskByNetBean.class);
if (taskByNetBean.getCode() == 200) {
@ -1457,6 +1461,16 @@ public class AutoTakePictureActivity extends BaseActivity implements View.OnClic
return "NetWork";
}
@Override
public String getFusionProvider() {
return null;
}
@Override
public String getSourceProvider() {
return null;
}
@Override
public double getLatitude() {
return latLng.getLatitude();
@ -1562,6 +1576,11 @@ public class AutoTakePictureActivity extends BaseActivity implements View.OnClic
return 0;
}
@Override
public int getInOutStatus() {
return 0;
}
@Override
public String getIndoorBuildingId() {
return null;
@ -1592,11 +1611,36 @@ public class AutoTakePictureActivity extends BaseActivity implements View.OnClic
return null;
}
@Override
public TencentMotion getMotion() {
return null;
}
@Override
public int getGpsQuality() {
return 0;
}
@Override
public float getDeltaAngle() {
return 0;
}
@Override
public float getDeltaSpeed() {
return 0;
}
@Override
public int getCoordinateType() {
return 0;
}
@Override
public int getFakeReason() {
return 0;
}
@Override
public int isMockGps() {
return 0;