diff --git a/app/build.gradle b/app/build.gradle index 1c5fbf77..35d9733f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -21,7 +21,7 @@ android { minSdk 21 targetSdk 21 versionCode 1 - versionName "1.0" + versionName "1.1" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" multiDexEnabled true diff --git a/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt b/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt index af2263db..bc2c081a 100644 --- a/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt +++ b/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt @@ -813,6 +813,21 @@ class ImportPreProcess { } } + /** + * 几何方向排序 + * */ + fun sortGeometry(renderEntity: RenderEntity) { + // 路口数据的其他点位,是保存在nodeList对应的数组下 +/* if (renderEntity.properties.containsKey("linkPid")) { + val linkList = renderEntity.properties["linkPid"]?.split(",") + //几何较少时需要判断是否要计算判断长短边 + if(linkList!=null&&linkList.size<3){ + + } + }*/ + } + + /** * 生成默认路口数据的参考数据 * */ diff --git a/app/src/main/java/com/navinfo/omqs/ui/activity/login/LoginViewModel.kt b/app/src/main/java/com/navinfo/omqs/ui/activity/login/LoginViewModel.kt index ef7cd2f3..17fd470e 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/activity/login/LoginViewModel.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/activity/login/LoginViewModel.kt @@ -8,16 +8,8 @@ import android.widget.Toast import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import androidx.room.migration.Migration -import androidx.sqlite.db.SupportSQLiteDatabase -import com.blankj.utilcode.util.FileIOUtils import com.blankj.utilcode.util.ResourceUtils -import com.google.gson.Gson -import com.google.gson.reflect.TypeToken -import com.navinfo.collect.library.data.entity.LinkRelation -import com.navinfo.collect.library.data.entity.RenderEntity import com.navinfo.collect.library.data.entity.TaskBean -import com.navinfo.collect.library.utils.GeometryTools import com.navinfo.omqs.Constant import com.navinfo.omqs.bean.LoginUserBean import com.navinfo.omqs.bean.SysUserBean @@ -94,10 +86,8 @@ class LoginViewModel @Inject constructor( var sharedPreferences: SharedPreferences? = null - var dataIndex = 0 - init { - loginUser.value = LoginUserBean(userCode = "haofuyue00213", passWord = "123456") + loginUser.value = LoginUserBean(userCode = "lixiaoming00427", passWord = "123456") } @@ -270,130 +260,97 @@ class LoginViewModel @Inject constructor( * 获取任务列表 */ private suspend fun getTaskList(context: Context) { - loginStatus.postValue(LoginStatus.LOGIN_STATUS_NET_GET_TASK_LIST) - when (val result = networkService.getTaskList(Constant.USER_ID)) { - is NetResult.Success -> { - if (result.data != null) { - val realm = Realm.getDefaultInstance() - realm.executeTransaction { - result.data.obj?.let { list -> - for (index in list.indices) { - var inSertData = true - val task = list[index] - val item = realm.where(TaskBean::class.java).equalTo( - "id", task.id - ).findFirst() - if (item != null) { - task.fileSize = item.fileSize - task.status = item.status - task.currentSize = item.currentSize - //增加mesh==null兼容性处理 - for (hadLink in item.hadLinkDvoList) { - if(hadLink.mesh==null){ - hadLink.mesh = "" + + //每天主动请求一次,其他情况列表内自己手动请求 + val questToday = sharedPreferences?.getBoolean(DateTimeUtil.getYYYYMMDDDate()+"getTaskList",false) + + if(!questToday!!){ + loginStatus.postValue(LoginStatus.LOGIN_STATUS_NET_GET_TASK_LIST) + Log.e("qj","获取任务请求开始==") + when (val result = networkService.getTaskList(Constant.USER_ID)) { + is NetResult.Success -> { + if (result.data != null) { + Log.e("qj","获取任务返回成功==") + val realm = Realm.getDefaultInstance() + realm.executeTransaction { + result.data.obj?.let { list -> + for (index in list.indices) { + var inSertData = true + val task = list[index] + val item = realm.where(TaskBean::class.java).equalTo( + "id", task.id + ).findFirst() + if (item != null) { + task.fileSize = item.fileSize + task.status = item.status + task.currentSize = item.currentSize + //增加mesh==null兼容性处理 + for (hadLink in item.hadLinkDvoList) { + if(hadLink.mesh==null){ + hadLink.mesh = "" + } + } + task.hadLinkDvoList = item.hadLinkDvoList + task.syncStatus = item.syncStatus + //已上传后不在更新操作时间 + if (task.syncStatus != FileManager.Companion.FileUploadStatus.DONE) { + //赋值时间,用于查询过滤 + task.operationTime = DateTimeUtil.getNowDate().time + }else{ + continue + } + } else { + for (hadLink in task.hadLinkDvoList) { + if(hadLink.geometry==null){ + inSertData = false + }else if(hadLink.mesh==null){ + hadLink.mesh = "" + }else{ + hadLink.taskId = task.id + } + Log.e("qj","mesh==${hadLink.mesh}") } - } - task.hadLinkDvoList = item.hadLinkDvoList - task.syncStatus = item.syncStatus - //已上传后不在更新操作时间 - if (task.syncStatus != FileManager.Companion.FileUploadStatus.DONE) { //赋值时间,用于查询过滤 task.operationTime = DateTimeUtil.getNowDate().time - }else{ - continue } - } else { - for (hadLink in task.hadLinkDvoList) { - if(hadLink.geometry==null){ - inSertData = false - }else if(hadLink.mesh==null){ - hadLink.mesh = "" - }else{ - hadLink.taskId = task.id - } - Log.e("qj","mesh==${hadLink.mesh}") + Log.e("qj","task==${task.id}") + if(inSertData){ + realm.copyToRealmOrUpdate(task) } - //赋值时间,用于查询过滤 - task.operationTime = DateTimeUtil.getNowDate().time - } - Log.e("qj","task==${task.id}") - if(inSertData){ - realm.copyToRealmOrUpdate(task) } } + } - - } - realm.close() - } - //测试代码 -/* viewModelScope.launch(Dispatchers.IO) { - - - val userTaskFolder = File(Constant.USER_DATA_PATH + "/4") - if (!userTaskFolder.exists()) userTaskFolder.mkdirs() - val password = "encryp".encodeToByteArray().copyInto(ByteArray(64)) - val config = RealmConfiguration.Builder() - .directory(userTaskFolder) - .name("OMQS.realm") - .encryptionKey(password) - .allowQueriesOnUiThread(true) - .schemaVersion(2) - .build() - - var realm = Realm.getInstance(config) - var time = System.currentTimeMillis() - Log.e("qj", "test===开始安装") - Realm.compactRealm(config) - realm.beginTransaction() - - val txtFile = File(Constant.USER_DATA_PATH + "/OMDB_LANE_MARK_BOUNDARYTYPE") - // 将list数据转换为map - var gson = Gson(); - val type = object : TypeToken() {}.type - val list = FileIOUtils.readFile2List(txtFile, "UTF-8") - val count = 12 - if (list != null) { - for (i in 0 until count) { - for ((index, line) in list.withIndex()) { - if (line == null || line.trim() == "") { - continue - } - val renderEntity = gson.fromJson(line, type) - realm.insert(renderEntity) - } - } - Log.e("qj", "test===总数===${list.size*count}") + realm.close() + //增加当天请求过标识 + sharedPreferences?.edit() + ?.putBoolean(DateTimeUtil.getYYYYMMDDDate()+"getTaskList",true) + Log.e("qj","获取任务结束==") } - Log.e("qj", "test===提交===${System.currentTimeMillis() - time}") - realm.commitTransaction() - Log.e("qj", "test===提交===${System.currentTimeMillis() - time}") - realm.close() - - Log.e("qj", "test===结束===${System.currentTimeMillis() - time}") - }*/ - - loginStatus.postValue(LoginStatus.LOGIN_STATUS_SUCCESS) - } - - is NetResult.Error<*> -> { - withContext(Dispatchers.Main) { - Toast.makeText(context, "${result.exception.message}", Toast.LENGTH_SHORT) - .show() + loginStatus.postValue(LoginStatus.LOGIN_STATUS_SUCCESS) } - loginStatus.postValue(LoginStatus.LOGIN_STATUS_SUCCESS) - } - is NetResult.Failure<*> -> { - withContext(Dispatchers.Main) { - Toast.makeText(context, "${result.code}:${result.msg}", Toast.LENGTH_SHORT) - .show() + is NetResult.Error<*> -> { + withContext(Dispatchers.Main) { + Toast.makeText(context, "${result.exception.message}", Toast.LENGTH_SHORT) + .show() + } + loginStatus.postValue(LoginStatus.LOGIN_STATUS_SUCCESS) } - loginStatus.postValue(LoginStatus.LOGIN_STATUS_SUCCESS) - } - is NetResult.Loading -> {} + is NetResult.Failure<*> -> { + withContext(Dispatchers.Main) { + Toast.makeText(context, "${result.code}:${result.msg}", Toast.LENGTH_SHORT) + .show() + } + loginStatus.postValue(LoginStatus.LOGIN_STATUS_SUCCESS) + } + + is NetResult.Loading -> {} + } + }else{ + loginStatus.postValue(LoginStatus.LOGIN_STATUS_SUCCESS) } } diff --git a/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainActivity.kt b/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainActivity.kt index 365bb182..d4ed3009 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainActivity.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainActivity.kt @@ -819,12 +819,22 @@ class MainActivity : BaseActivity() { * zoomOut */ fun zoomOutOnclick(view: View) { - val result = mutableListOf() +/* val result = mutableListOf() for (i in 0 until 10) { var renderEntity: RenderEntity = RenderEntity() + renderEntity.code = "3005" renderEntity.geometry = "POINT(116.2694${i}13016946 40.0844${i}5791644373 0)" result.add(renderEntity) } + var renderEntity: RenderEntity = RenderEntity() + renderEntity.code = "3006" + renderEntity.geometry = "POINT(116.269413016946 40.08445791644373 0)" + result.add(renderEntity) + + var renderEntity1: RenderEntity = RenderEntity() + renderEntity1.code = "3007" + renderEntity1.geometry = "POINT(116.269413016946 40.08445791644373 0)" + result.add(renderEntity1) //计算后 var index = 0 Log.e("qj","====计算开始") @@ -836,7 +846,7 @@ class MainActivity : BaseActivity() { } } lastRender = it - } + }*/ Log.e("qj","====计算结束") mapController.animationHandler.zoomOut() } diff --git a/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainViewModel.kt b/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainViewModel.kt index f90130c0..405b9fc3 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainViewModel.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainViewModel.kt @@ -719,9 +719,9 @@ class MainViewModel @Inject constructor( */ private suspend fun captureItem(point: GeoPoint) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { - var buffer = 8.0 + var buffer = 10.0 if (mapController.mMapView.mapLevel >= 18) { - buffer = 2.0 + buffer = 2.2 } val itemList = realmOperateHelper.queryElement( GeometryTools.createPoint( diff --git a/app/src/main/res/menu/personal_center_menu.xml b/app/src/main/res/menu/personal_center_menu.xml index eddd9ad9..cc526bbd 100644 --- a/app/src/main/res/menu/personal_center_menu.xml +++ b/app/src/main/res/menu/personal_center_menu.xml @@ -64,7 +64,7 @@ + android:title="版本:24QE1_V1.1.1_20231115_A" /> diff --git a/collect-library/src/main/assets/editormarker.xml b/collect-library/src/main/assets/editormarker.xml index 7e721c3d..40f29b06 100644 --- a/collect-library/src/main/assets/editormarker.xml +++ b/collect-library/src/main/assets/editormarker.xml @@ -1558,15 +1558,18 @@ - - - - + + src="@src" symbol-width="24" > + + + + + @@ -1592,11 +1595,9 @@ - + - - - + + - + @@ -1893,14 +1894,14 @@ - + - - + @@ -1909,14 +1910,14 @@ - + - + @@ -1924,27 +1925,27 @@ - + - + + - + - + @@ -1954,13 +1955,13 @@ - - + - + @@ -2022,7 +2023,7 @@ - + @@ -2033,7 +2034,7 @@ - + @@ -2051,7 +2052,7 @@ + src="@src" degree="90"> diff --git a/collect-library/src/main/assets/omdb/1301_1_v.svg b/collect-library/src/main/assets/omdb/1301_1_v.svg index 94806ed0..37f7c141 100644 --- a/collect-library/src/main/assets/omdb/1301_1_v.svg +++ b/collect-library/src/main/assets/omdb/1301_1_v.svg @@ -1 +1,11 @@ - \ No newline at end of file + + + + + + + + + + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/4010/icon_electroniceye_4010.svg b/collect-library/src/main/assets/omdb/4010/icon_electroniceye_4010.svg index cb0c181d..c70eb731 100644 --- a/collect-library/src/main/assets/omdb/4010/icon_electroniceye_4010.svg +++ b/collect-library/src/main/assets/omdb/4010/icon_electroniceye_4010.svg @@ -1 +1,118 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/4010/left.svg b/collect-library/src/main/assets/omdb/4010/left.svg index 58e2c48e..f2dd8f88 100644 --- a/collect-library/src/main/assets/omdb/4010/left.svg +++ b/collect-library/src/main/assets/omdb/4010/left.svg @@ -1 +1,14 @@ - \ No newline at end of file + + + + + + + + + + + + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/4010/right.svg b/collect-library/src/main/assets/omdb/4010/right.svg index 27301104..5872709f 100644 --- a/collect-library/src/main/assets/omdb/4010/right.svg +++ b/collect-library/src/main/assets/omdb/4010/right.svg @@ -1 +1,14 @@ - \ No newline at end of file + + + + + + + + + + + + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/appendix/1105_00101_0.svg b/collect-library/src/main/assets/omdb/appendix/1105_00101_0.svg index 18fca483..89fc9e73 100644 --- a/collect-library/src/main/assets/omdb/appendix/1105_00101_0.svg +++ b/collect-library/src/main/assets/omdb/appendix/1105_00101_0.svg @@ -1,11 +1,25 @@ - + - - + + + + + + + + + + + + + + + + @@ -17,20 +31,26 @@ - - - - - - - - - - - + + + + + + + + + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/appendix/1105_00101_0_2.svg b/collect-library/src/main/assets/omdb/appendix/1105_00101_0_2.svg new file mode 100644 index 00000000..8f7e2f92 --- /dev/null +++ b/collect-library/src/main/assets/omdb/appendix/1105_00101_0_2.svg @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/appendix/icon_2013_2_3.svg b/collect-library/src/main/assets/omdb/appendix/icon_2013_2_3.svg new file mode 100644 index 00000000..1de2183e --- /dev/null +++ b/collect-library/src/main/assets/omdb/appendix/icon_2013_2_3.svg @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/icon_1012_0.svg b/collect-library/src/main/assets/omdb/icon_1012_0.svg index 6445aca0..b567d014 100644 --- a/collect-library/src/main/assets/omdb/icon_1012_0.svg +++ b/collect-library/src/main/assets/omdb/icon_1012_0.svg @@ -1 +1,58 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/icon_2013_3_1.svg b/collect-library/src/main/assets/omdb/icon_2013_2_2.svg similarity index 100% rename from collect-library/src/main/assets/omdb/icon_2013_3_1.svg rename to collect-library/src/main/assets/omdb/icon_2013_2_2.svg diff --git a/collect-library/src/main/assets/omdb/icon_2013_2_3.svg b/collect-library/src/main/assets/omdb/icon_2013_2_3.svg new file mode 100644 index 00000000..5dd6d81d --- /dev/null +++ b/collect-library/src/main/assets/omdb/icon_2013_2_3.svg @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/icon_2083_7.svg b/collect-library/src/main/assets/omdb/icon_2083_7.svg deleted file mode 100644 index 9924fb43..00000000 --- a/collect-library/src/main/assets/omdb/icon_2083_7.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/icon_2083_7_1.svg b/collect-library/src/main/assets/omdb/icon_2083_7_1.svg deleted file mode 100644 index 6a3b8956..00000000 --- a/collect-library/src/main/assets/omdb/icon_2083_7_1.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/icon_2083_81.svg b/collect-library/src/main/assets/omdb/icon_2083_81.svg deleted file mode 100644 index d23d1847..00000000 --- a/collect-library/src/main/assets/omdb/icon_2083_81.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/icon_4002_0.svg b/collect-library/src/main/assets/omdb/icon_4002_0.svg index 4f4ac0a7..4c7be369 100644 --- a/collect-library/src/main/assets/omdb/icon_4002_0.svg +++ b/collect-library/src/main/assets/omdb/icon_4002_0.svg @@ -1,43 +1,33 @@ - + + - - + - + - + - + - - - - - - - - - - - - - - - - - - + + + + + + + + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/icon_4002_1.svg b/collect-library/src/main/assets/omdb/icon_4002_1.svg index 158b4f48..ec283110 100644 --- a/collect-library/src/main/assets/omdb/icon_4002_1.svg +++ b/collect-library/src/main/assets/omdb/icon_4002_1.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/icon_4003_0.svg b/collect-library/src/main/assets/omdb/icon_4003_0.svg index 50a7b3b7..932d090d 100644 --- a/collect-library/src/main/assets/omdb/icon_4003_0.svg +++ b/collect-library/src/main/assets/omdb/icon_4003_0.svg @@ -1 +1,39 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/icon_4003_1.svg b/collect-library/src/main/assets/omdb/icon_4003_1.svg index 9254e9c0..14efe86d 100644 --- a/collect-library/src/main/assets/omdb/icon_4003_1.svg +++ b/collect-library/src/main/assets/omdb/icon_4003_1.svg @@ -1 +1,47 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/icon_4004_0.svg b/collect-library/src/main/assets/omdb/icon_4004_0.svg index bbbc966e..ada8b8eb 100644 --- a/collect-library/src/main/assets/omdb/icon_4004_0.svg +++ b/collect-library/src/main/assets/omdb/icon_4004_0.svg @@ -1,45 +1,35 @@ - + + - - + - + - + - + - - - - - - - - - - - - - - - - - - - + + + + + + + + + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/icon_4005.svg b/collect-library/src/main/assets/omdb/icon_4005.svg index f07e08a7..9827c834 100644 --- a/collect-library/src/main/assets/omdb/icon_4005.svg +++ b/collect-library/src/main/assets/omdb/icon_4005.svg @@ -1 +1,17 @@ - \ No newline at end of file + + + + + + + + + + + + + + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/icon_4006_0.svg b/collect-library/src/main/assets/omdb/icon_4006_0.svg index 06c69498..1fc9524e 100644 --- a/collect-library/src/main/assets/omdb/icon_4006_0.svg +++ b/collect-library/src/main/assets/omdb/icon_4006_0.svg @@ -1 +1,57 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/icon_4022_0.svg b/collect-library/src/main/assets/omdb/icon_4022_0.svg index efaaed34..f60939cc 100644 --- a/collect-library/src/main/assets/omdb/icon_4022_0.svg +++ b/collect-library/src/main/assets/omdb/icon_4022_0.svg @@ -1,24 +1,27 @@ - + - - - - - - + + + + + + + + + + + - + - + - + @@ -26,17 +29,17 @@ - + - + - + @@ -48,8 +51,8 @@ - + @@ -59,8 +62,8 @@ - + @@ -69,13 +72,13 @@ - + - + @@ -87,40 +90,44 @@ - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/icon_arrow_right.svg b/collect-library/src/main/assets/omdb/icon_arrow_right.svg index 73b8c5dc..d33f73df 100644 --- a/collect-library/src/main/assets/omdb/icon_arrow_right.svg +++ b/collect-library/src/main/assets/omdb/icon_arrow_right.svg @@ -1 +1,33 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/icon_arrow_right_2.svg b/collect-library/src/main/assets/omdb/icon_arrow_right_2.svg new file mode 100644 index 00000000..3638b23d --- /dev/null +++ b/collect-library/src/main/assets/omdb/icon_arrow_right_2.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/icon_pole_3006.svg b/collect-library/src/main/assets/omdb/icon_pole_3006.svg index 9c70037f..65984f59 100644 --- a/collect-library/src/main/assets/omdb/icon_pole_3006.svg +++ b/collect-library/src/main/assets/omdb/icon_pole_3006.svg @@ -1 +1,47 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/object_crosswalk_3014.svg b/collect-library/src/main/assets/omdb/object_crosswalk_3014.svg index d8aceae7..84bc2411 100644 --- a/collect-library/src/main/assets/omdb/object_crosswalk_3014.svg +++ b/collect-library/src/main/assets/omdb/object_crosswalk_3014.svg @@ -1 +1,26 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/object_symbol_3003_0.svg b/collect-library/src/main/assets/omdb/object_symbol_3003_0.svg index 23936b2e..f6e36b0e 100644 --- a/collect-library/src/main/assets/omdb/object_symbol_3003_0.svg +++ b/collect-library/src/main/assets/omdb/object_symbol_3003_0.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/object_symbol_3003_1.svg b/collect-library/src/main/assets/omdb/object_symbol_3003_1.svg index 1ea27fef..d1fdf880 100644 --- a/collect-library/src/main/assets/omdb/object_symbol_3003_1.svg +++ b/collect-library/src/main/assets/omdb/object_symbol_3003_1.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/object_symbol_3003_2.svg b/collect-library/src/main/assets/omdb/object_symbol_3003_2.svg index 6f134c24..6b287a26 100644 --- a/collect-library/src/main/assets/omdb/object_symbol_3003_2.svg +++ b/collect-library/src/main/assets/omdb/object_symbol_3003_2.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/object_symbol_3003_3.svg b/collect-library/src/main/assets/omdb/object_symbol_3003_3.svg index 1a68fbe7..e8c7ec57 100644 --- a/collect-library/src/main/assets/omdb/object_symbol_3003_3.svg +++ b/collect-library/src/main/assets/omdb/object_symbol_3003_3.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/object_symbol_3003_4.svg b/collect-library/src/main/assets/omdb/object_symbol_3003_4.svg index c5878f4b..125f6def 100644 --- a/collect-library/src/main/assets/omdb/object_symbol_3003_4.svg +++ b/collect-library/src/main/assets/omdb/object_symbol_3003_4.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/object_symbol_3003_9.svg b/collect-library/src/main/assets/omdb/object_symbol_3003_9.svg index d4ab85b6..9d80a474 100644 --- a/collect-library/src/main/assets/omdb/object_symbol_3003_9.svg +++ b/collect-library/src/main/assets/omdb/object_symbol_3003_9.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/collect-library/src/main/java/com/navinfo/collect/library/map/source/OMDBDataDecoder.java b/collect-library/src/main/java/com/navinfo/collect/library/map/source/OMDBDataDecoder.java index d7505186..39949e1d 100644 --- a/collect-library/src/main/java/com/navinfo/collect/library/map/source/OMDBDataDecoder.java +++ b/collect-library/src/main/java/com/navinfo/collect/library/map/source/OMDBDataDecoder.java @@ -29,6 +29,7 @@ import org.oscim.tiling.source.mvt.TileDecoder; import java.io.IOException; import java.io.InputStream; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -69,19 +70,55 @@ public class OMDBDataDecoder extends TileDecoder { mTileX = tile.tileX / mTileScale; mTileY = tile.tileY / mTileScale; mTileScale *= Tile.SIZE; + List list = new ArrayList<>(); + List traffList = new ArrayList<>(); listResult.stream().iterator().forEachRemaining(new Consumer() { @Override public void accept(RenderEntity renderEntity) { if (!(mapLevel < renderEntity.getZoomMin() || mapLevel > renderEntity.getZoomMax())) { - Map properties = new HashMap<>(renderEntity.getProperties().size()); - properties.putAll(renderEntity.getProperties()); - parseGeometry(renderEntity.getTable(), renderEntity.getWkt(), properties); + if (renderEntity.getCode().equals(DataCodeEnum.OMDB_TRAFFIC_SIGN.getCode())) { + list.add(renderEntity); + }else if (renderEntity.getCode().equals(DataCodeEnum.OMDB_TRAFFICLIGHT.getCode())) { + traffList.add(renderEntity); + } else { + Map properties = new HashMap<>(renderEntity.getProperties().size()); + properties.putAll(renderEntity.getProperties()); + parseGeometry(renderEntity.getTable(), renderEntity.getWkt(), properties); + } } else { // Log.e("qj","render"+renderEntity.name+"=="+renderEntity.getZoomMin()+"==="+renderEntity.getZoomMax()+"==="+renderEntity.getEnable()); } } }); + //增加交通标牌聚合显示 + List list1 = GeometryTools.groupByDistance(DataCodeEnum.OMDB_TRAFFIC_SIGN.getCode(), list, 5.0); + if(list1!=null&&list1.size()>0){ + Log.e("qj","聚合交通标牌转换开始"+list.size()); + list1.stream().iterator().forEachRemaining(new Consumer() { + @Override + public void accept(RenderEntity renderEntity) { + Map properties = new HashMap<>(renderEntity.getProperties().size()); + properties.putAll(renderEntity.getProperties()); + parseGeometry(renderEntity.getTable(), renderEntity.getWkt(), properties); + } + }); + Log.e("qj","聚合交通标牌转换结束"+list1.size()); + } + //增加交通标牌聚合显示 + List list2 = GeometryTools.groupByDistance(DataCodeEnum.OMDB_TRAFFICLIGHT.getCode(), traffList, 5.0); + if(list2!=null&&list2.size()>0){ + Log.e("qj","聚合红绿灯转换开始"+traffList.size()); + list2.stream().iterator().forEachRemaining(new Consumer() { + @Override + public void accept(RenderEntity renderEntity) { + Map properties = new HashMap<>(renderEntity.getProperties().size()); + properties.putAll(renderEntity.getProperties()); + parseGeometry(renderEntity.getTable(), renderEntity.getWkt(), properties); + } + }); + Log.e("qj","聚合红绿灯转换结束"+list2.size()); + } return true; } diff --git a/collect-library/src/main/java/com/navinfo/collect/library/map/source/OMDBTileDataSource.java b/collect-library/src/main/java/com/navinfo/collect/library/map/source/OMDBTileDataSource.java index 0130d367..454f450b 100644 --- a/collect-library/src/main/java/com/navinfo/collect/library/map/source/OMDBTileDataSource.java +++ b/collect-library/src/main/java/com/navinfo/collect/library/map/source/OMDBTileDataSource.java @@ -118,14 +118,16 @@ public class OMDBTileDataSource implements ITileDataSource { } else { sql += " and enable>=0"; } + realmQuery.rawPredicate(sql); -// 筛选不显示的数据 + //筛选不显示的数据 if (Constant.HAD_LAYER_INVISIABLE_ARRAY != null && Constant.HAD_LAYER_INVISIABLE_ARRAY.length > 0) { realmQuery.beginGroup(); for (String type : Constant.HAD_LAYER_INVISIABLE_ARRAY) { realmQuery.notEqualTo("table", type); } + realmQuery.notEqualTo("table", "OMDB_TRAFFIC_SIGN"); realmQuery.endGroup(); } long time = System.currentTimeMillis(); @@ -143,10 +145,7 @@ public class OMDBTileDataSource implements ITileDataSource { // .filter((RenderEntity renderEntity) -> MercatorProjection.longitudeToTileX(viewport.fromScreenPoint(0,0).getLongitude(), (byte) Constant.DATA_ZOOM) == currentTileX || renderEntity.getTileX().stream().min(Integer::compare).get() == currentTileX) .collect(Collectors.toList()); - List list = GeometryTools.groupByDistance("3005", listResult, 5.0); - - mThreadLocalDecoders.get().decode(tile.zoomLevel, tile, mapDataSink, list); - + mThreadLocalDecoders.get().decode(tile.zoomLevel, tile, mapDataSink, listResult); mapDataSink.completed(QueryResult.SUCCESS); } else { diff --git a/collect-library/src/main/java/com/navinfo/collect/library/utils/GeometryTools.java b/collect-library/src/main/java/com/navinfo/collect/library/utils/GeometryTools.java index 1a660a89..39305246 100644 --- a/collect-library/src/main/java/com/navinfo/collect/library/utils/GeometryTools.java +++ b/collect-library/src/main/java/com/navinfo/collect/library/utils/GeometryTools.java @@ -1581,7 +1581,7 @@ public class GeometryTools { * @param list * @return */ - public static List groupByDistance(String code,List list, double disance) { + public static synchronized List groupByDistance(String code, List list, double disance) { if (list == null || disance <= 0) { return null; @@ -1589,51 +1589,61 @@ public class GeometryTools { List listReslut = new ArrayList<>(); - java.util.Map calcMap = new HashMap<>(); + java.util.Map calcMap = new HashMap<>(); - int count = 0; + Log.e("qj", listReslut.size() + "==判断开始==" + list.size() + "===" + calcMap.size()); //遍历开始 for (RenderEntity renderEntity : list) { - if(!TextUtils.isEmpty(code)&&!renderEntity.getCode().equals(code)){ - listReslut.add(renderEntity); - calcMap.put(renderEntity.getId(),renderEntity); - continue; - } + int count = 0; + Log.e("qj", listReslut.size() + "==判断0000"); + + //计算过的不在进行遍历 if (!calcMap.containsKey(renderEntity.getId())) { //跟要素遍历对比,如果统一个点直接标记计算并记录在内,已经计算过不在二次计算 for (RenderEntity renderEntityTemp : list) { - if (!calcMap.containsKey(renderEntity.getId())) { - if (renderEntity.getId().equals(renderEntityTemp.getId())) { - listReslut.add(renderEntityTemp); - count++; - Log.e("qj", "====计算间距" + count); - calcMap.put(renderEntityTemp.getId(), renderEntityTemp); + if (!calcMap.containsKey(renderEntityTemp.getId())) { + + //非当前code不参与运算 + if (!TextUtils.isEmpty(code) && !renderEntityTemp.getCode().equals(code)) { + listReslut.add(renderEntity); + calcMap.put(renderEntityTemp.getId(), renderEntityTemp.getCode()); + Log.e("qj", listReslut.size() + "==判断1111"); } else { GeoPoint geoPoint = createGeoPoint(renderEntity.getGeometry()); GeoPoint geoPoint1 = createGeoPoint(renderEntityTemp.getGeometry()); double dis = getDistance(geoPoint.getLatitude(), geoPoint.getLongitude(), geoPoint1.getLatitude(), geoPoint1.getLongitude()); - Log.e("qj", "====计算间距" + dis); if (geoPoint != null && geoPoint1 != null && dis <= disance) { - //只取第一个坐标 - renderEntityTemp.setGeometry(renderEntity.getGeometry()); - //renderEntity.setProperties(renderEntity.getProperties()); - calcMap.put(renderEntityTemp.getId(), renderEntityTemp); - listReslut.add(renderEntityTemp); + count++; + //只保留一条 + if (count == 1) { + renderEntityTemp.getProperties().put("src", "assets:omdb/appendix/1105_00101_0.svg"); + listReslut.add(renderEntityTemp); + Log.e("qj", listReslut.size() + "==判断3333"); + } + calcMap.put(renderEntityTemp.getId(), renderEntityTemp.getCode()); + Log.e("qj", "====计算间距" + dis); } } } } - + //增加同点位聚合个数统计 + if (listReslut.size() > 0) { + if (count > 1) { + listReslut.get(listReslut.size() - 1).getProperties().put("name", count + ""); + } else { + listReslut.get(listReslut.size() - 1).getProperties().put("name", ""); + } + } } } - Log.e("qj", listReslut.size()+"==判断后=="+list.size()+"==="+calcMap.size()); + Log.e("qj", listReslut.size() + "==判断结束==" + list.size() + "===" + calcMap.size()); return listReslut; } diff --git a/vtm b/vtm index a6787549..024159af 160000 --- a/vtm +++ b/vtm @@ -1 +1 @@ -Subproject commit a6787549efde8f445965faf41c17c9b58ddbd578 +Subproject commit 024159afee2b9e438dd6c2a6419e034df287a8db