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