From 00e197f2649ed6c9af8acfd31022e1ac39d5ea2c Mon Sep 17 00:00:00 2001 From: squallzhjch Date: Fri, 11 Aug 2023 14:28:55 +0800 Subject: [PATCH 01/11] =?UTF-8?q?=E4=BC=98=E5=8C=96UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../offlinemapdownload/OfflineMapDownloadScope.kt | 10 ++++++++-- .../com/navinfo/omqs/ui/activity/map/MainActivity.kt | 11 ++++++++--- .../com/navinfo/collect/library/map/NIMapView.java | 4 ++-- .../library/map/source/OMDBReferenceDataSource.java | 1 - .../library/map/source/OMDBTileDataSource.java | 1 - 5 files changed, 18 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/navinfo/omqs/http/offlinemapdownload/OfflineMapDownloadScope.kt b/app/src/main/java/com/navinfo/omqs/http/offlinemapdownload/OfflineMapDownloadScope.kt index b89f9db4..8da49e88 100644 --- a/app/src/main/java/com/navinfo/omqs/http/offlinemapdownload/OfflineMapDownloadScope.kt +++ b/app/src/main/java/com/navinfo/omqs/http/offlinemapdownload/OfflineMapDownloadScope.kt @@ -158,13 +158,19 @@ class OfflineMapDownloadScope( val res = fileTemp.renameTo(File("${Constant.OFFLINE_MAP_PATH}${cityBean.fileName}")) change(FileDownloadStatus.DONE) - withContext(Dispatchers.Main) { - downloadManager.mapController.layerManagerHandler.loadBaseMap() + try { + withContext(Dispatchers.Main) { + downloadManager.mapController.layerManagerHandler.loadBaseMap() + } + }catch (e:Throwable){ + Log.e("jingo", "下载离线地图 load map ${e.message}") } + } else { change(FileDownloadStatus.PAUSE) } } catch (e: Throwable) { + Log.e("jingo", "下载离线地图 ${e.message}") change(FileDownloadStatus.ERROR) } finally { inputStream?.close() 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 f3564217..00e65df0 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 @@ -941,9 +941,12 @@ class MainActivity : BaseActivity() { } } + /** + * 打开底部导航栏 + */ private fun showMainActivityBottomSheetGroup() { binding.mainActivityBottomSheetGroup.visibility = View.VISIBLE - mapController.mMapView.setScaleBarLayer(GLViewport.Position.BOTTOM_CENTER, 128, 65) + mapController.mMapView.setScaleBarLayer(GLViewport.Position.BOTTOM_CENTER, 10, 60) mapController.mMapView.vtmMap.animator().animateTo( GeoPoint( mapController.mMapView.vtmMap.mapPosition.geoPoint.latitude, @@ -951,10 +954,12 @@ class MainActivity : BaseActivity() { ) ) } - + /** + * 关闭底部导航栏 + */ private fun hideMainActivityBottomSheetGroup() { binding.mainActivityBottomSheetGroup.visibility = View.GONE - mapController.mMapView.setScaleBarLayer(GLViewport.Position.BOTTOM_CENTER, 128, 5) + mapController.mMapView.setScaleBarLayer(GLViewport.Position.BOTTOM_CENTER, 10, 0) mapController.mMapView.vtmMap.animator().animateTo( GeoPoint( mapController.mMapView.vtmMap.mapPosition.geoPoint.latitude, diff --git a/collect-library/src/main/java/com/navinfo/collect/library/map/NIMapView.java b/collect-library/src/main/java/com/navinfo/collect/library/map/NIMapView.java index e8531989..df70a35c 100644 --- a/collect-library/src/main/java/com/navinfo/collect/library/map/NIMapView.java +++ b/collect-library/src/main/java/com/navinfo/collect/library/map/NIMapView.java @@ -262,7 +262,7 @@ public final class NIMapView extends RelativeLayout { // 增加比例尺图层 NaviMapScaleBar naviMapScaleBar = new NaviMapScaleBar(getVtmMap()); - mapScaleBarLayer = naviMapScaleBar.initScaleBarLayer(GLViewport.Position.BOTTOM_CENTER, 128, 5); + mapScaleBarLayer = naviMapScaleBar.initScaleBarLayer(GLViewport.Position.BOTTOM_LEFT, 10, 0); // if (gridLayer == null) { // gridLayer = new TileGridLayer(getVtmMap()); @@ -898,7 +898,7 @@ public final class NIMapView extends RelativeLayout { mapScaleBarLayer = null; } NaviMapScaleBar naviMapScaleBar = new NaviMapScaleBar(getVtmMap()); - mapScaleBarLayer = naviMapScaleBar.initScaleBarLayer(GLViewport.Position.BOTTOM_CENTER, xOffset, yOffset); + mapScaleBarLayer = naviMapScaleBar.initScaleBarLayer(GLViewport.Position.BOTTOM_LEFT, xOffset, yOffset); } /** diff --git a/collect-library/src/main/java/com/navinfo/collect/library/map/source/OMDBReferenceDataSource.java b/collect-library/src/main/java/com/navinfo/collect/library/map/source/OMDBReferenceDataSource.java index 2380c259..5b82b181 100644 --- a/collect-library/src/main/java/com/navinfo/collect/library/map/source/OMDBReferenceDataSource.java +++ b/collect-library/src/main/java/com/navinfo/collect/library/map/source/OMDBReferenceDataSource.java @@ -36,7 +36,6 @@ public class OMDBReferenceDataSource implements ITileDataSource { int xEnd = (int) ((tile.tileX + 1) << m); int yStart = (int) tile.tileY << m; int yEnd = (int) ((tile.tileY + 1) << m); - Log.e("jingo", Constant.TASK_ID + " " + xStart + " " + xEnd + " " + yStart + " " + yEnd); RealmQuery realmQuery = Realm.getDefaultInstance().where(ReferenceEntity.class) .rawPredicate("taskId=" + Constant.TASK_ID + " and tileX>=" + xStart + " and tileX<=" + xEnd + " and tileY>=" + yStart + " and tileY<=" + yEnd + " and enable>=1"); // 筛选不显示的数据 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 62a43907..5afe9ee2 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 @@ -38,7 +38,6 @@ public class OMDBTileDataSource implements ITileDataSource { int xEnd = (int) ((tile.tileX + 1) << m); int yStart = (int) tile.tileY << m; int yEnd = (int) ((tile.tileY + 1) << m); - Log.e("jingo", Constant.TASK_ID + " " + xStart + " " + xEnd + " " + yStart + " " + yEnd); RealmQuery realmQuery = Realm.getDefaultInstance().where(RenderEntity.class).rawPredicate("tileX>=" + xStart + " and tileX<=" + xEnd + " and tileY>=" + yStart + " and tileY<=" + yEnd + " and enable>=1"); // 筛选不显示的数据 if (Constant.HAD_LAYER_INVISIABLE_ARRAY != null && Constant.HAD_LAYER_INVISIABLE_ARRAY.length > 0) { From 595cc42b3f740702c72bdae72bbcb94efece858e Mon Sep 17 00:00:00 2001 From: squallzhjch Date: Fri, 11 Aug 2023 14:29:18 +0800 Subject: [PATCH 02/11] =?UTF-8?q?=E4=BC=98=E5=8C=96UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vtm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vtm b/vtm index a8b86629..4a490a0d 160000 --- a/vtm +++ b/vtm @@ -1 +1 @@ -Subproject commit a8b86629c698e0fe24bac6ee1dc296f3b65b0f79 +Subproject commit 4a490a0d0111e1e0a92d18c5a091039cf706453a From 3dd4daa11ed51e1513ceba3d654157004507439a Mon Sep 17 00:00:00 2001 From: squallzhjch Date: Fri, 11 Aug 2023 14:51:37 +0800 Subject: [PATCH 03/11] =?UTF-8?q?=E4=BC=98=E5=8C=96UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vtm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vtm b/vtm index 4a490a0d..c1234a9f 160000 --- a/vtm +++ b/vtm @@ -1 +1 @@ -Subproject commit 4a490a0d0111e1e0a92d18c5a091039cf706453a +Subproject commit c1234a9fd22d69d83eb50bdaa8eda6a56247dc94 From 4417201497068102245baa01787f4bd5c1927451 Mon Sep 17 00:00:00 2001 From: squallzhjch Date: Fri, 11 Aug 2023 15:32:22 +0800 Subject: [PATCH 04/11] =?UTF-8?q?=E6=81=A2=E5=A4=8D=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../omqs/ui/activity/map/MainActivity.kt | 72 ++++++++++++++++++- 1 file changed, 71 insertions(+), 1 deletion(-) 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 eb2cec00..2197d27b 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 @@ -43,7 +43,6 @@ import com.navinfo.omqs.util.FlowEventBus import com.navinfo.omqs.util.SpeakMode import dagger.hilt.android.AndroidEntryPoint import kotlinx.coroutines.launch -import org.oscim.android.theme.AssetsRenderTheme import org.oscim.core.GeoPoint import org.oscim.renderer.GLViewport import org.videolan.vlc.Util @@ -400,6 +399,77 @@ class MainActivity : BaseActivity() { supportFragmentManager.beginTransaction() .add(R.id.console_fragment_layout, ConsoleFragment()).commit() } + initMeasuringTool() + } + + /** + *初始化测量工具栏的点击事件 + */ + + private fun initMeasuringTool() { + val root = binding.mainActivityMeasuringTool.root + root.findViewById(R.id.measuring_tool_select_point) + .setOnClickListener(measuringToolClickListener) + root.findViewById(R.id.measuring_tool_close) + .setOnClickListener(measuringToolClickListener) + root.findViewById(R.id.measuring_tool_backspace) + .setOnClickListener(measuringToolClickListener) + root.findViewById(R.id.measuring_tool_reset) + .setOnClickListener(measuringToolClickListener) + root.findViewById(R.id.measuring_tool_distance) + .setOnClickListener(measuringToolClickListener) + root.findViewById(R.id.measuring_tool_area) + .setOnClickListener(measuringToolClickListener) + root.findViewById(R.id.measuring_tool_angle) + .setOnClickListener(measuringToolClickListener) + } + + /** + * 测量工具点击事件 + */ + private val measuringToolClickListener = View.OnClickListener { + when (it.id) { + //选点 + R.id.measuring_tool_select_point -> { + viewModel.addPointForMeasuringTool() + } + //关闭 + R.id.measuring_tool_close -> { + measuringToolOff() + } + //上一步 + R.id.measuring_tool_backspace -> { + viewModel.backPointForMeasuringTool() + } + //重绘 + R.id.measuring_tool_reset -> { + viewModel.resetMeasuringTool() + } + //测距 + R.id.measuring_tool_distance -> { + it.isSelected = true + viewModel.setMeasuringToolType(MeasureLayerHandler.MEASURE_TYPE.DISTANCE) + val root = binding.mainActivityMeasuringTool.root + root.findViewById(R.id.measuring_tool_area).isSelected = false + root.findViewById(R.id.measuring_tool_angle).isSelected = false + } + //测面积 + R.id.measuring_tool_area -> { + it.isSelected = true + viewModel.setMeasuringToolType(MeasureLayerHandler.MEASURE_TYPE.AREA) + val root = binding.mainActivityMeasuringTool.root + root.findViewById(R.id.measuring_tool_distance).isSelected = false + root.findViewById(R.id.measuring_tool_angle).isSelected = false + } + //测角度 + R.id.measuring_tool_angle -> { + it.isSelected = true + viewModel.setMeasuringToolType(MeasureLayerHandler.MEASURE_TYPE.ANGLE) + val root = binding.mainActivityMeasuringTool.root + root.findViewById(R.id.measuring_tool_distance).isSelected = false + root.findViewById(R.id.measuring_tool_area).isSelected = false + } + } } /** From 1b2c149c437942144c10629d3836d70bacee12f0 Mon Sep 17 00:00:00 2001 From: qiji4215 Date: Fri, 11 Aug 2023 15:35:14 +0800 Subject: [PATCH 05/11] merge code --- .../java/com/navinfo/omqs/ui/activity/map/MainViewModel.kt | 7 +++---- vtm | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) 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 84761c47..de508611 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 @@ -484,11 +484,10 @@ class MainViewModel @Inject constructor( captureLinkState = true if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { -/* val linkList = realmOperateHelper.queryLink( - point = point, - )*/ - val linkList = realmOperateHelper.queryLine(point = point, buffer = 2.5, table = "OMDB_LANE_MARK_BOUNDARYTYPE") + val linkList = realmOperateHelper.queryLink(point = point,) + + //val linkList = realmOperateHelper.queryLine(point = point, buffer = 2.5, table = "OMDB_LANE_MARK_BOUNDARYTYPE") var hisRoadName = false diff --git a/vtm b/vtm index c1234a9f..8717b07e 160000 --- a/vtm +++ b/vtm @@ -1 +1 @@ -Subproject commit c1234a9fd22d69d83eb50bdaa8eda6a56247dc94 +Subproject commit 8717b07ebff4dd61226abb19474be6567a736ad8 From f1005786273da0fe62d1a840419b21176b70cfc4 Mon Sep 17 00:00:00 2001 From: qiji4215 Date: Fri, 11 Aug 2023 16:18:16 +0800 Subject: [PATCH 06/11] merge code --- collect-library/src/main/assets/editormarker.xml | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/collect-library/src/main/assets/editormarker.xml b/collect-library/src/main/assets/editormarker.xml index 3c9ad1fd..20ce4cdb 100644 --- a/collect-library/src/main/assets/editormarker.xml +++ b/collect-library/src/main/assets/editormarker.xml @@ -2031,9 +2031,12 @@ - + + @@ -2046,9 +2049,9 @@ - + @@ -2100,10 +2103,12 @@ - - + + From dc4c6daf2ee81d1bb6cf366d44c244b541bc2c20 Mon Sep 17 00:00:00 2001 From: squallzhjch Date: Fri, 11 Aug 2023 17:24:56 +0800 Subject: [PATCH 07/11] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=9D=90=E6=A0=87?= =?UTF-8?q?=E5=A4=8D=E5=88=B6=E5=92=8C=E6=B5=8B=E9=87=8F=E7=BB=93=E6=9E=9C?= =?UTF-8?q?=E5=A4=8D=E5=88=B6=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../omqs/ui/activity/map/MainActivity.kt | 30 ++++++++++++++++--- app/src/main/res/layout/activity_main.xml | 1 - .../main/res/layout/main_measuring_tool.xml | 1 + 3 files changed, 27 insertions(+), 5 deletions(-) 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 2197d27b..26e67c78 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 @@ -1,6 +1,9 @@ package com.navinfo.omqs.ui.activity.map import android.app.Activity +import android.content.ClipData +import android.content.ClipboardManager +import android.content.Context import android.content.Intent import android.os.Build import android.os.Bundle @@ -8,6 +11,7 @@ import android.speech.tts.TextToSpeech import android.util.Log import android.view.MotionEvent import android.view.View +import android.view.View.OnLongClickListener import android.widget.EditText import android.widget.TextView import android.widget.Toast @@ -19,6 +23,7 @@ import androidx.lifecycle.lifecycleScope import androidx.navigation.findNavController import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView +import com.blankj.utilcode.util.ClipboardUtils import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.tabs.TabLayout import com.navinfo.collect.library.map.NIMapController @@ -178,6 +183,14 @@ class MainActivity : BaseActivity() { //给xml传递viewModel对象 binding.viewModel = viewModel + binding.mainActivityGeometry.setOnLongClickListener { + var text = (it as TextView).text + text = text.substring(4) + ClipboardUtils.copyText(text) + BaseToast.makeText(this, "坐标已复制到剪切板", BaseToast.LENGTH_SHORT).show() + true + } + binding.mainActivityVoice.setOnTouchListener { v, event -> when (event?.action) { MotionEvent.ACTION_DOWN -> { @@ -422,6 +435,13 @@ class MainActivity : BaseActivity() { .setOnClickListener(measuringToolClickListener) root.findViewById(R.id.measuring_tool_angle) .setOnClickListener(measuringToolClickListener) + root.findViewById(R.id.measuring_tool_value_layout).setOnLongClickListener { + val value = root.findViewById(R.id.measuring_tool_value).text + val unit = root.findViewById(R.id.measuring_tool_value_unit).text + ClipboardUtils.copyText("$value$unit") + BaseToast.makeText(this, "测量结果已复制到剪切板", BaseToast.LENGTH_SHORT).show() + true + } } /** @@ -513,6 +533,7 @@ class MainActivity : BaseActivity() { binding.mainActivityMeasuringTool.root.visibility = View.GONE } + //根据输入的经纬度跳转坐标 fun jumpPosition() { val view = this.layoutInflater.inflate(R.layout.dialog_view_edittext, null) @@ -522,7 +543,7 @@ class MainActivity : BaseActivity() { val editText = view.findViewById(R.id.dialog_edittext) val tabItemLayout = view.findViewById(R.id.search_tab_layout) editText.hint = "请输入LinkPid例如:12345678" - var index:Int = 0 + var index = 0 tabItemLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener { override fun onTabReselected(p0: TabLayout.Tab) { @@ -552,9 +573,9 @@ class MainActivity : BaseActivity() { if (editText.text.isNotEmpty()) { try { when (index) { - 0 -> viewModel.search(SearchEnum.LINK,editText.text.toString(),dialog) - 1 -> viewModel.search(SearchEnum.MARK,editText.text.toString(),dialog) - 2 -> viewModel.search(SearchEnum.LOCATION,editText.text.toString(),dialog) + 0 -> viewModel.search(SearchEnum.LINK, editText.text.toString(), dialog) + 1 -> viewModel.search(SearchEnum.MARK, editText.text.toString(), dialog) + 2 -> viewModel.search(SearchEnum.LOCATION, editText.text.toString(), dialog) } } catch (e: Exception) { Toast.makeText(this, "输入格式不正确", Toast.LENGTH_SHORT).show() @@ -973,6 +994,7 @@ class MainActivity : BaseActivity() { ) ) } + /** * 关闭底部导航栏 */ diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index ce96f6c6..223e386e 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -212,7 +212,6 @@ android:drawableLeft="@drawable/icon_main_geometry" android:elevation="2dp" android:gravity="center" - android:onClick="@{()->mainActivity.jumpPosition()}" android:paddingLeft="9dp" android:text="经纬度:116.99388424,38.8403844" android:textSize="10sp" diff --git a/app/src/main/res/layout/main_measuring_tool.xml b/app/src/main/res/layout/main_measuring_tool.xml index 11ba6072..8b8a159e 100644 --- a/app/src/main/res/layout/main_measuring_tool.xml +++ b/app/src/main/res/layout/main_measuring_tool.xml @@ -9,6 +9,7 @@ android:padding="5dp"> Date: Mon, 14 Aug 2023 14:18:19 +0800 Subject: [PATCH 08/11] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E5=A2=9E=E5=8A=A0PA/SA=E8=A6=81=E7=B4=A0?= =?UTF-8?q?=E7=BC=96=E7=A0=81=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/assets/omdb_config.json | 24 ++++-- .../com/navinfo/omqs/db/ImportOMDBHelper.kt | 21 ++++- .../com/navinfo/omqs/db/ImportPreProcess.kt | 18 ++++- .../navinfo/omqs/db/dao/ScProblemTypeDao.kt | 2 +- .../omqs/ui/activity/map/MainViewModel.kt | 81 ++++++++++++------- .../omqs/ui/activity/map/SignAdapter.kt | 5 +- .../EvaluationResultViewModel.kt | 4 +- .../signMoreInfo/SignMoreInfoFragment.kt | 13 +-- .../com/navinfo/omqs/ui/widget/SignUtil.kt | 81 ++++++++++--------- .../src/main/assets/editormarker.xml | 5 ++ .../library/data/entity/RenderEntity.kt | 2 +- .../collect/library/enum/DataCodeEnum.kt | 48 +++++++++++ 12 files changed, 211 insertions(+), 93 deletions(-) create mode 100644 collect-library/src/main/java/com/navinfo/collect/library/enum/DataCodeEnum.kt diff --git a/app/src/main/assets/omdb_config.json b/app/src/main/assets/omdb_config.json index 9d2a0bf8..a7f5a8e2 100644 --- a/app/src/main/assets/omdb_config.json +++ b/app/src/main/assets/omdb_config.json @@ -21,6 +21,21 @@ "zoomMin": 15, "zoomMax": 17 }, + "2004": { + "table": "OMDB_LINK_ATTRIBUTE", + "code": 2004, + "name": "道路属性", + "zoomMin": 15, + "zoomMax": 19, + "transformer": [ + { + "k": "geometry", + "v": "~", + "klib": "geometry", + "vlib": "generateRoadText()" + } + ] + }, "2008": { "table": "OMDB_RD_LINK_KIND", "code": 2008, @@ -139,14 +154,7 @@ "name": "隧道", "zoomMin": 15, "zoomMax": 20, - "transformer": [ - { - "k": "geometry", - "v": "~", - "klib": "geometry", - "vlib": "generateS2EReferencePoint()" - } - ] + "transformer2Code": "" }, "4001": { "table": "OMDB_INTERSECTION", diff --git a/app/src/main/java/com/navinfo/omqs/db/ImportOMDBHelper.kt b/app/src/main/java/com/navinfo/omqs/db/ImportOMDBHelper.kt index 75584da7..0de7cbab 100644 --- a/app/src/main/java/com/navinfo/omqs/db/ImportOMDBHelper.kt +++ b/app/src/main/java/com/navinfo/omqs/db/ImportOMDBHelper.kt @@ -11,6 +11,7 @@ import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.navinfo.collect.library.data.entity.RenderEntity import com.navinfo.collect.library.data.entity.TaskBean +import com.navinfo.collect.library.enum.DataCodeEnum import com.navinfo.omqs.Constant import com.navinfo.omqs.bean.ImportConfig import com.navinfo.omqs.db.deep.LinkList @@ -167,7 +168,7 @@ class ImportOMDBHelper @AssistedInject constructor( // 先查询这个mesh下有没有数据,如果有则跳过即可 // val meshEntity = Realm.getDefaultInstance().where(RenderEntity::class.java).equalTo("properties['mesh']", map["mesh"].toString()).findFirst() val renderEntity = RenderEntity() - renderEntity.code = map["qi_code"].toString().toInt() + renderEntity.code = map["qi_code"].toString() renderEntity.name = map["qi_name"].toString() renderEntity.table = map["qi_table"].toString() renderEntity.taskId = task.id @@ -263,6 +264,24 @@ class ImportOMDBHelper @AssistedInject constructor( renderEntity.enable = 2 Log.e("qj","${renderEntity.name}==不包括任务linkPid") } + + //道路属性code编码需要特殊处理 存在多个属性值时,渲染优先级:SA>PA + if(renderEntity.table == "OMDB_LINK_ATTRIBUTE"){ + + var type = renderEntity.properties["SA"] + + if(type!=null&&type=="1"){ + renderEntity.code = DataCodeEnum.OMDB_LINK_ATTRIBUTE_SA.code + }else{ + type = renderEntity.properties["PA"] + if(type!=null&&type=="1"){ + renderEntity.code = DataCodeEnum.OMDB_LINK_ATTRIBUTE_PA.code + }else{//不满足条件时过滤该数据 + continue + } + } + } + listResult.add(renderEntity) // 对renderEntity做预处理后再保存 val resultEntity = importConfig.transformProperties(renderEntity) 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 cd90dfad..8c585df2 100644 --- a/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt +++ b/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt @@ -397,7 +397,7 @@ class ImportPreProcess { "markingCount" to 1 ) ) - if (renderEntity.code == 2013 && !renderEntity.properties["shapeList"].isNullOrEmpty() && renderEntity.properties["shapeList"] != "null") { + if (renderEntity.code == "2013" && !renderEntity.properties["shapeList"].isNullOrEmpty() && renderEntity.properties["shapeList"] != "null") { // 解析shapeList,将数组中的属性放会properties val shapeList = JSONArray(renderEntity.properties["shapeList"]) for (i in 0 until shapeList.length()) { @@ -416,7 +416,7 @@ class ImportPreProcess { * 解析车信数据二级属性 * */ fun unpackingLaneInfo(renderEntity: RenderEntity) { - if (renderEntity.code == 4601) { + if (renderEntity.code == "4601") { if (!renderEntity.properties["laneinfoGroup"].isNullOrEmpty() && renderEntity.properties["laneinfoGroup"] != "null") { // 解析laneinfoGroup,将数组中的属性放会properties val laneinfoGroup = JSONArray( @@ -451,6 +451,20 @@ class ImportPreProcess { } } + /** + * 生成默认道路名数据 + * */ + fun generateRoadText(renderEntity: RenderEntity) { + // 根据类型进行文字转换 + if (renderEntity.code != null) { + if(renderEntity.code=="2004-1"){ + renderEntity.properties["name"] = "SA" + }else if(renderEntity.code=="2004-2"){ + renderEntity.properties["name"] = "PA" + } + } + } + /** * 生成默认道路名数据 diff --git a/app/src/main/java/com/navinfo/omqs/db/dao/ScProblemTypeDao.kt b/app/src/main/java/com/navinfo/omqs/db/dao/ScProblemTypeDao.kt index 3940ed99..89197c7c 100644 --- a/app/src/main/java/com/navinfo/omqs/db/dao/ScProblemTypeDao.kt +++ b/app/src/main/java/com/navinfo/omqs/db/dao/ScProblemTypeDao.kt @@ -34,7 +34,7 @@ interface ScProblemTypeDao { suspend fun findClassTypeList(): List? @Query("select DISTINCT CLASS_TYPE from ScProblemType where ELEMENT_CODE=:code") - suspend fun findClassTypeByCode(code: Int): String? + suspend fun findClassTypeByCode(code: String): String? /** * 获取问题类型,并去重 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 de508611..0bde4c92 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 @@ -24,6 +24,7 @@ import androidx.navigation.findNavController import com.blankj.utilcode.util.ToastUtils import com.navinfo.collect.library.data.dao.impl.TraceDataBase import com.navinfo.collect.library.data.entity.* +import com.navinfo.collect.library.enum.DataCodeEnum import com.navinfo.collect.library.garminvirbxe.HostBean import com.navinfo.collect.library.map.NIMapController import com.navinfo.collect.library.map.OnGeoPointClickListener @@ -485,9 +486,13 @@ class MainViewModel @Inject constructor( if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { - val linkList = realmOperateHelper.queryLink(point = point,) + // val linkList = realmOperateHelper.queryLink(point = point,) - //val linkList = realmOperateHelper.queryLine(point = point, buffer = 2.5, table = "OMDB_LANE_MARK_BOUNDARYTYPE") + val linkList = realmOperateHelper.queryLine( + point = point, + buffer = 2.5, + table = "OMDB_LANE_MARK_BOUNDARYTYPE" + ) var hisRoadName = false @@ -508,7 +513,7 @@ class MainViewModel @Inject constructor( var elementList = realmOperateHelper.queryLinkByLinkPid(it) for (element in elementList) { - if (element.code == 2011) { + if (element.code == "2011") { hisRoadName = true liveDataRoadName.postValue(element) continue @@ -532,11 +537,11 @@ class MainViewModel @Inject constructor( Log.e("jingo", "捕捉到的数据code ${element.code}") when (element.code) { //车道数,种别,功能等级,线限速,道路方向 - 2041, 2008, 2002, 2019, 2010 -> topSignList.add( + DataCodeEnum.OMDB_LANE_NUM.code, DataCodeEnum.OMDB_RD_LINK_KIND.code, DataCodeEnum.OMDB_RD_LINK_FUNCTION_CLASS.code, DataCodeEnum.OMDB_LINK_SPEEDLIMIT.code, DataCodeEnum.OMDB_LINK_DIRECT.code -> topSignList.add( signBean ) - 4002, 4003, 4004, 4010, 4022, 4601 -> signList.add( + DataCodeEnum.OMDB_SPEEDLIMIT.code, DataCodeEnum.OMDB_SPEEDLIMIT_COND.code, DataCodeEnum.OMDB_SPEEDLIMIT_VAR.code, DataCodeEnum.OMDB_ELECTRONICEYE.code, DataCodeEnum.OMDB_TRAFFICLIGHT.code, DataCodeEnum.OMDB_LANEINFO.code -> signList.add( signBean ) } @@ -1052,7 +1057,8 @@ class MainViewModel @Inject constructor( startTimer() } } else { - Toast.makeText(mapController.mMapView.context, "无数据了!", Toast.LENGTH_LONG).show() + Toast.makeText(mapController.mMapView.context, "无数据了!", Toast.LENGTH_LONG) + .show() cancelTrace() } } @@ -1099,13 +1105,13 @@ class MainViewModel @Inject constructor( * 设置测量类型 0:距离 2:面积 3:角度 */ fun setMeasuringToolType(type: MeasureLayerHandler.MEASURE_TYPE) { - if(measuringType != type) { + if (measuringType != type) { measuringType = type mapController.measureLayerHandler.clear() } } - fun click2Dor3D(){ + fun click2Dor3D() { viewModelScope.launch(Dispatchers.IO) { Log.e( "qj", @@ -1121,53 +1127,68 @@ class MainViewModel @Inject constructor( * @param searchEnum 枚举类 * @param msg 搜索内容 */ - fun search(searchEnum: SearchEnum,msg:String,dialog:DialogInterface){ - if(searchEnum!=null&&msg.isNotEmpty()&&dialog!=null){ + fun search(searchEnum: SearchEnum, msg: String, dialog: DialogInterface) { + if (searchEnum != null && msg.isNotEmpty() && dialog != null) { when (searchEnum) { SearchEnum.LINK -> { - viewModelScope.launch(Dispatchers.IO) { - val link = realmOperateHelper.queryLink(linkPid = msg) - if(link!=null){ - link?.let { l -> - mapController.lineHandler.showLine(l.geometry) - dialog.dismiss() - } - }else{ - withContext(Dispatchers.Main){ - Toast.makeText(mapController.mMapView.context, "未查询到数据", Toast.LENGTH_SHORT).show() - } - } - } + viewModelScope.launch(Dispatchers.IO) { + val link = realmOperateHelper.queryLink(linkPid = msg) + if (link != null) { + link?.let { l -> + mapController.lineHandler.showLine(l.geometry) + dialog.dismiss() + } + } else { + withContext(Dispatchers.Main) { + Toast.makeText( + mapController.mMapView.context, + "未查询到数据", + Toast.LENGTH_SHORT + ).show() + } + } + } } + SearchEnum.MARK -> { viewModelScope.launch(Dispatchers.IO) { val qsRecordBean = realmOperateHelper.queryQcRecordBean(markId = msg) - if(qsRecordBean!=null){ + if (qsRecordBean != null) { qsRecordBean?.let { l -> - val naviController = (mapController.mMapView.context as Activity).findNavController(R.id.main_activity_right_fragment) + val naviController = + (mapController.mMapView.context as Activity).findNavController(R.id.main_activity_right_fragment) val bundle = Bundle() bundle.putString("QsId", l.id) naviController.navigate(R.id.EvaluationResultFragment, bundle) ToastUtils.showLong(l.classType) dialog.dismiss() } - }else{ - withContext(Dispatchers.Main){ - Toast.makeText(mapController.mMapView.context, "未查询到数据", Toast.LENGTH_SHORT).show() + } else { + withContext(Dispatchers.Main) { + Toast.makeText( + mapController.mMapView.context, + "未查询到数据", + Toast.LENGTH_SHORT + ).show() } } } } + SearchEnum.LOCATION -> { val parts = msg.split("[,,\\s]".toRegex()) if (parts.size == 2) { val x = parts[0].toDouble() val y = parts[1].toDouble() mapController.animationHandler.animationByLatLon(y, x) - mapController.markerHandle.addMarker(GeoPoint(y,x),"location") + mapController.markerHandle.addMarker(GeoPoint(y, x), "location") dialog.dismiss() } else { - Toast.makeText(mapController.mMapView.context, "输入格式不正确", Toast.LENGTH_SHORT).show() + Toast.makeText( + mapController.mMapView.context, + "输入格式不正确", + Toast.LENGTH_SHORT + ).show() } } } diff --git a/app/src/main/java/com/navinfo/omqs/ui/activity/map/SignAdapter.kt b/app/src/main/java/com/navinfo/omqs/ui/activity/map/SignAdapter.kt index 5ba63474..6bc84eae 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/activity/map/SignAdapter.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/activity/map/SignAdapter.kt @@ -6,6 +6,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.ImageView +import com.navinfo.collect.library.enum.DataCodeEnum import com.navinfo.omqs.R import com.navinfo.omqs.bean.SignBean import com.navinfo.omqs.databinding.AdapterSignBinding @@ -30,7 +31,7 @@ class SignAdapter(private var listener: OnSignAdapterClickListener?) : private var selectMoreInfoTag: String = "" override fun getItemViewType(position: Int): Int { - if (data.isNotEmpty() && data[position].renderEntity.code == 4601) { + if (data.isNotEmpty() && data[position].renderEntity.code == "4601") { return 4601 } return 0 @@ -77,7 +78,7 @@ class SignAdapter(private var listener: OnSignAdapterClickListener?) : bd.signMainInfo.visibility = View.GONE } bd.signSecondIcon.text = "" - if (item.renderEntity.code == 4002) { + if (item.renderEntity.code == DataCodeEnum.OMDB_SPEEDLIMIT.code) { val minSpeed = SignUtil.getSpeedLimitMinText(item.renderEntity) if (minSpeed != "0") { bd.signSecondIcon.text = minSpeed diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/EvaluationResultViewModel.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/EvaluationResultViewModel.kt index a7a7add1..b4a9ce2e 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/EvaluationResultViewModel.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/EvaluationResultViewModel.kt @@ -180,7 +180,7 @@ class EvaluationResultViewModel @Inject constructor( } } else { liveDataQsRecordBean.value?.run { - elementId = bean.renderEntity.code.toString() + elementId = bean.renderEntity.code linkId = bean.linkId if (linkId.isNotEmpty()) { viewModelScope.launch { @@ -257,7 +257,7 @@ class EvaluationResultViewModel @Inject constructor( if (classType2 != null) { classType = classType2 } - classCode = bean.renderEntity.code.toString() + classCode = bean.renderEntity.code } //如果右侧栏没数据,给个默认值 if (liveDataQsRecordBean.value!!.classType.isEmpty()) { diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/signMoreInfo/SignMoreInfoFragment.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/signMoreInfo/SignMoreInfoFragment.kt index 67d73a25..df95a94a 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/fragment/signMoreInfo/SignMoreInfoFragment.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/signMoreInfo/SignMoreInfoFragment.kt @@ -8,6 +8,7 @@ import androidx.fragment.app.activityViewModels import androidx.navigation.findNavController import androidx.recyclerview.widget.LinearLayoutManager import com.navinfo.collect.library.data.entity.RenderEntity +import com.navinfo.collect.library.enum.DataCodeEnum import com.navinfo.omqs.R import com.navinfo.omqs.bean.SignBean import com.navinfo.omqs.databinding.FragmentSignInfoBinding @@ -50,37 +51,37 @@ class SignMoreInfoFragment : BaseFragment() { when (it.code) { //道路名 - 2011 -> { + DataCodeEnum.OMDB_RD_LINK.code -> { val adapter = RoadNameInfoAdapter() binding.signInfoRecyclerview.adapter = adapter adapter.refreshData(SignUtil.getRoadNameList(it)) } //车道边界类型 - 2013 -> { + DataCodeEnum.OMDB_LANE_MARK_BOUNDARYTYPE.code -> { val adapter = LaneBoundaryAdapter() binding.signInfoRecyclerview.adapter = adapter adapter.refreshData(SignUtil.getLaneBoundaryTypeInfo(it)) } //可变点限速 - 2021 -> { + DataCodeEnum.OMDB_LINK_SPEEDLIMIT_VAR.code -> { val adapter = TwoItemAdapter() binding.signInfoRecyclerview.adapter = adapter adapter.refreshData(SignUtil.getChangeLimitSpeedInfo(it)) } //常规点限速 - 4002 -> { + DataCodeEnum.OMDB_SPEEDLIMIT.code -> { val adapter = TwoItemAdapter() binding.signInfoRecyclerview.adapter = adapter adapter.refreshData(SignUtil.getSpeedLimitMoreInfoText(it)) } //条件点限速 - 4003 -> { + DataCodeEnum.OMDB_SPEEDLIMIT_COND.code -> { val adapter = TwoItemAdapter() binding.signInfoRecyclerview.adapter = adapter adapter.refreshData(SignUtil.getConditionLimitMoreInfoText(it)) } //电子眼 - 4010 + DataCodeEnum.OMDB_ELECTRONICEYE.code -> { val drawable = resources.getDrawable(R.drawable.icon_electronic_eye_left, null); drawable.setBounds( diff --git a/app/src/main/java/com/navinfo/omqs/ui/widget/SignUtil.kt b/app/src/main/java/com/navinfo/omqs/ui/widget/SignUtil.kt index f0b50afc..9d1facf1 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/widget/SignUtil.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/widget/SignUtil.kt @@ -2,6 +2,7 @@ package com.navinfo.omqs.ui.widget import android.util.Log import com.navinfo.collect.library.data.entity.RenderEntity +import com.navinfo.collect.library.enum.DataCodeEnum import com.navinfo.omqs.R import com.navinfo.omqs.bean.RoadNameBean import com.navinfo.omqs.bean.SignBean @@ -21,17 +22,17 @@ class SignUtil { fun getSignIconText(data: RenderEntity): String { return when (data.code) { //道路功能等级 - 2002 -> getLinkFunctionClassText(data) + DataCodeEnum.OMDB_RD_LINK_FUNCTION_CLASS.code -> getLinkFunctionClassText(data) //道路种别 - 2008 -> getKindText(data) + DataCodeEnum.OMDB_RD_LINK_KIND.code -> getKindText(data) //道路方向 - 2010 -> getRoadDirectionText(data) + DataCodeEnum.OMDB_LINK_DIRECT.code -> getRoadDirectionText(data) //常规线限速 - 2019 -> getLineSpeedLimitText(data) + DataCodeEnum.OMDB_LINK_SPEEDLIMIT.code -> getLineSpeedLimitText(data) //车道数 - 2041 -> getLaneNumText(data) + DataCodeEnum.OMDB_LANE_NUM.code -> getLaneNumText(data) //常规点限速,条件点限速 - 4002, 4003 -> getSpeedLimitMaxText(data) + DataCodeEnum.OMDB_SPEEDLIMIT.code, DataCodeEnum.OMDB_SPEEDLIMIT_COND.code -> getSpeedLimitMaxText(data) else -> "" } } @@ -77,31 +78,31 @@ class SignUtil { fun getSignNameText(data: RenderEntity): String { return when (data.code) { //道路功能等级 - 2002 -> "功能等级" + DataCodeEnum.OMDB_RD_LINK_FUNCTION_CLASS.code -> "功能等级" //道路种别 - 2008 -> "种别" + DataCodeEnum.OMDB_RD_LINK_KIND.code -> "种别" //道路方向 - 2010 -> "方向" + DataCodeEnum.OMDB_LINK_DIRECT.code -> "方向" //车道边界类型 - 2013 -> "车道边界类型" + DataCodeEnum.OMDB_LANE_MARK_BOUNDARYTYPE.code -> "车道边界类型" //常规线限速 - 2019 -> "线限速" + DataCodeEnum.OMDB_LINK_SPEEDLIMIT.code -> "线限速" //车道数 - 2041 -> "车道数" + DataCodeEnum.OMDB_LANE_NUM.code -> "车道数" //常规点限速 - 4002 -> "常规点限速" + DataCodeEnum.OMDB_SPEEDLIMIT.code -> "常规点限速" //常点限速 - 4003 -> "条件点限速" + DataCodeEnum.OMDB_SPEEDLIMIT_COND.code -> "条件点限速" //可变点限速 - 4004 -> "可变点限速" + DataCodeEnum.OMDB_SPEEDLIMIT_VAR.code -> "可变点限速" //普通交限 - 4006 -> "普通交限" + DataCodeEnum.OMDB_RESTRICTION.code -> "普通交限" //电子眼 - 4010 -> "电子眼" + DataCodeEnum.OMDB_ELECTRONICEYE.code -> "电子眼" //交通灯 - 4022 -> "交通灯" - //交限 - 4601 -> "车信" + DataCodeEnum.OMDB_TRAFFICLIGHT.code -> "交通灯" + //车信 + DataCodeEnum.OMDB_LANEINFO.code -> "车信" else -> "" } } @@ -203,9 +204,9 @@ class SignUtil { return when (data.code) { //条件点限速 - 4003 -> getConditionLimitText(data) + DataCodeEnum.OMDB_SPEEDLIMIT_COND.code -> getConditionLimitText(data) //电子眼 - 4010 -> data.properties["name"].toString() + DataCodeEnum.OMDB_ELECTRONICEYE.code -> data.properties["name"].toString() else -> "" } } @@ -394,15 +395,15 @@ class SignUtil { // //车道数 // 2041 -> getLaneNumIcon(data) //普通点限速 - 4002 -> getSpeedLimitIcon(data) + DataCodeEnum.OMDB_SPEEDLIMIT.code -> getSpeedLimitIcon(data) //条件点限速 - 4003 -> getConditionalSpeedLimitIcon(data) + DataCodeEnum.OMDB_SPEEDLIMIT_COND.code -> getConditionalSpeedLimitIcon(data) //可变点限速 - 4004 -> R.drawable.icon_change_limit + DataCodeEnum.OMDB_SPEEDLIMIT_VAR.code -> R.drawable.icon_change_limit //电子眼 - 4010 -> R.drawable.icon_electronic_eye + DataCodeEnum.OMDB_ELECTRONICEYE.code -> R.drawable.icon_electronic_eye //交通灯 - 4022 -> R.drawable.icon_traffic_light + DataCodeEnum.OMDB_TRAFFICLIGHT.code -> R.drawable.icon_traffic_light else -> 0 } @@ -489,10 +490,10 @@ class SignUtil { stringBuffer.append("当前道路") for (item in topSignList) { when (item.renderEntity.code) { - 2002 -> stringBuffer.append("功能等级${item.iconText.substring(2)}级,") - 2008 -> stringBuffer.append("种别${item.iconText},") - 2010 -> stringBuffer.append("${item.iconText},") - 2041 -> stringBuffer.append("${item.iconText.substringBefore("|")}车道") + DataCodeEnum.OMDB_RD_LINK_FUNCTION_CLASS.code -> stringBuffer.append("功能等级${item.iconText.substring(2)}级,") + DataCodeEnum.OMDB_RD_LINK_KIND.code -> stringBuffer.append("种别${item.iconText},") + DataCodeEnum.OMDB_LINK_DIRECT.code -> stringBuffer.append("${item.iconText},") + DataCodeEnum.OMDB_LANE_NUM.code -> stringBuffer.append("${item.iconText.substringBefore("|")}车道") } } return stringBuffer.toString() @@ -503,7 +504,7 @@ class SignUtil { */ fun getRoadNameList(data: RenderEntity): MutableList { val list = mutableListOf() - if (data.code == 2011) { + if (data.code == "2011") { try { val shapeStr = data.properties["shapeList"] val array = JSONArray(shapeStr) @@ -541,11 +542,11 @@ class SignUtil { fun isMoreInfo(element: RenderEntity): Boolean { val isMore = when (element.code) { //常规点限速 - 4002 -> getSpeedLimitMinText(element) != "0" + DataCodeEnum.OMDB_SPEEDLIMIT.code -> getSpeedLimitMinText(element) != "0" //条件点限速 - 4003 -> true + DataCodeEnum.OMDB_SPEEDLIMIT_COND.code -> true //电子眼 - 4010 -> true + DataCodeEnum.OMDB_ELECTRONICEYE.code -> true else -> false } return isMore @@ -755,11 +756,11 @@ class SignUtil { */ fun getRoadInfoIndex(element: RenderEntity): Int { return when (element.code) { - 2041 -> 0 - 2008 -> 1 - 2002 -> 2 - 2019 -> 3 - 2010 -> 4 + DataCodeEnum.OMDB_LANE_NUM.code -> 0 + DataCodeEnum.OMDB_RD_LINK_KIND.code -> 1 + DataCodeEnum.OMDB_RD_LINK_FUNCTION_CLASS.code -> 2 + DataCodeEnum.OMDB_LINK_SPEEDLIMIT.code -> 3 + DataCodeEnum.OMDB_LINK_DIRECT.code -> 4 else -> 999 } } diff --git a/collect-library/src/main/assets/editormarker.xml b/collect-library/src/main/assets/editormarker.xml index 20ce4cdb..f78594ff 100644 --- a/collect-library/src/main/assets/editormarker.xml +++ b/collect-library/src/main/assets/editormarker.xml @@ -2111,6 +2111,11 @@ --> + + + + + diff --git a/collect-library/src/main/java/com/navinfo/collect/library/data/entity/RenderEntity.kt b/collect-library/src/main/java/com/navinfo/collect/library/data/entity/RenderEntity.kt index 49594be9..df1dc506 100644 --- a/collect-library/src/main/java/com/navinfo/collect/library/data/entity/RenderEntity.kt +++ b/collect-library/src/main/java/com/navinfo/collect/library/data/entity/RenderEntity.kt @@ -24,7 +24,7 @@ open class RenderEntity() : RealmObject(), Parcelable { var id: String = UUID.randomUUID().toString() // id lateinit var name: String //要素名 lateinit var table: String //要素表名 - var code: Int = 0 // 要素编码 + var code: String = "0" // 要素编码 var geometry: String = "" // 要素渲染参考的geometry,该数据可能会在导入预处理环节被修改,原始geometry会保存在properties的geometry字段下 get() { diff --git a/collect-library/src/main/java/com/navinfo/collect/library/enum/DataCodeEnum.kt b/collect-library/src/main/java/com/navinfo/collect/library/enum/DataCodeEnum.kt new file mode 100644 index 00000000..4d9c390c --- /dev/null +++ b/collect-library/src/main/java/com/navinfo/collect/library/enum/DataCodeEnum.kt @@ -0,0 +1,48 @@ +package com.navinfo.collect.library.enum + +/* +* 要素枚举定义 +* */ +enum class DataCodeEnum(var tableName: String, var code: String) { + OMDB_CHECKPOINT("检查点", "1012"), OMDB_RD_LINK( + "道路线", + "2001" + ), + OMDB_RD_LINK_FUNCTION_CLASS("道路功能等级", "2002"), + OMDB_LINK_ATTRIBUTE_SA("道路属性-SA", "2004-1"), OMDB_LINK_ATTRIBUTE_PA( + "道路属性-PA", + "2004-2" + ), + OMDB_RD_LINK_KIND("道路种别", "2008"), + OMDB_LINK_DIRECT("道路方向", "2010"), OMDB_LINK_NAME( + "道路名", + "2011" + ), + OMDB_LANE_MARK_BOUNDARYTYPE("车道边界类型", "2013"), + OMDB_LINK_SPEEDLIMIT("常规线限速", "2019"), OMDB_LINK_SPEEDLIMIT_COND( + "条件线限速", + "2020" + ), + OMDB_LINK_SPEEDLIMIT_VAR("可变线限速", "2021"), + OMDB_CON_ACCESS("全封闭", "2022"), OMDB_FORM_OF_WAY( + "匝道", + "2037" + ), + OMDB_MULTI_DIGITIZED("上下线分离", "2040"), OMDB_LANE_NUM("车道数", "2041"), + OMDB_RDBOUND_BOUNDARYTYPE("道路边界类型", "2083"), OMDB_BRIDGE( + "桥", + "2201" + ), + OMDB_TUNNEL("隧道", "2202"), OMDB_INTERSECTION("路口", "4001"), + OMDB_SPEEDLIMIT("常规点限速", "4002"), OMDB_SPEEDLIMIT_COND( + "条件点限速", + "4003" + ), + OMDB_SPEEDLIMIT_VAR("可变点限速", "4004"), OMDB_RESTRICTION("普通交限", "4006"), + OMDB_ELECTRONICEYE("电子眼", "4010"), OMDB_TRAFFICLIGHT( + "交通灯", + "4022" + ), + OMDB_LANEINFO("车信", "4601"), OMDB_LANE_LINK_LG("车道中心线", "5001") +} + From 85e863c7b4c2ae831a125be62cbeaa3a1274f3bf Mon Sep 17 00:00:00 2001 From: qiji4215 Date: Mon, 14 Aug 2023 17:08:47 +0800 Subject: [PATCH 09/11] merge code --- app/src/main/assets/omdb_config.json | 26 ++++- .../com/navinfo/omqs/db/ImportOMDBHelper.kt | 60 +++++++++- .../com/navinfo/omqs/db/ImportPreProcess.kt | 9 +- .../src/main/assets/editormarker.xml | 52 ++++++++- .../collect/library/enum/DataCodeEnum.kt | 110 +++++++++++++++++- 5 files changed, 244 insertions(+), 13 deletions(-) diff --git a/app/src/main/assets/omdb_config.json b/app/src/main/assets/omdb_config.json index a7f5a8e2..325256e2 100644 --- a/app/src/main/assets/omdb_config.json +++ b/app/src/main/assets/omdb_config.json @@ -111,7 +111,7 @@ "name": "全封闭" }, "2037": { - "table": "OMDB_FORM_OF_WAY", + "table": "OMDB_TAMP", "code": 2037, "name": "匝道" }, @@ -156,6 +156,30 @@ "zoomMax": 20, "transformer2Code": "" }, + "2204":{ + "table": "OMDB_RoundAbout", + "code": 2204, + "name": "环岛", + "zoomMin": 15, + "zoomMax": 17, + "transformer2Code": "" + }, + "2205":{ + "table": "OMDB_LINK_FORM1", + "code": 2205, + "name": "道路形态1", + "zoomMin": 15, + "zoomMax": 17, + "transformer2Code": "" + }, + "2206":{ + "table": "OMDB_LINK_FORM2", + "code": 2206, + "name": "道路形态2", + "zoomMin": 15, + "zoomMax": 17, + "transformer2Code": "" + }, "4001": { "table": "OMDB_INTERSECTION", "code": 4001, diff --git a/app/src/main/java/com/navinfo/omqs/db/ImportOMDBHelper.kt b/app/src/main/java/com/navinfo/omqs/db/ImportOMDBHelper.kt index 0de7cbab..707079c1 100644 --- a/app/src/main/java/com/navinfo/omqs/db/ImportOMDBHelper.kt +++ b/app/src/main/java/com/navinfo/omqs/db/ImportOMDBHelper.kt @@ -265,7 +265,7 @@ class ImportOMDBHelper @AssistedInject constructor( Log.e("qj","${renderEntity.name}==不包括任务linkPid") } - //道路属性code编码需要特殊处理 存在多个属性值时,渲染优先级:SA>PA + //道路属性code编码需要特殊处理 存在多个属性值时,渲染优先级:SA>PA,存在多个属性值时,渲染优先级:FRONTAGE>MAIN_SIDE_A CCESS if(renderEntity.table == "OMDB_LINK_ATTRIBUTE"){ var type = renderEntity.properties["SA"] @@ -276,8 +276,62 @@ class ImportOMDBHelper @AssistedInject constructor( type = renderEntity.properties["PA"] if(type!=null&&type=="1"){ renderEntity.code = DataCodeEnum.OMDB_LINK_ATTRIBUTE_PA.code - }else{//不满足条件时过滤该数据 - continue + } else{ + type = renderEntity.properties["FRONTAGE"] + if(type!=null&&type=="1"){ + renderEntity.code = DataCodeEnum.OMDB_LINK_ATTRIBUTE_FORNTAGE.code + }else{ + type = renderEntity.properties["MAIN_SIDE_ACCESS"] + if(type!=null&&type=="1"){ + renderEntity.code = DataCodeEnum.OMDB_LINK_ATTRIBUTE_MAIN_SIDE_ACCESS.code + }else{ + continue + } + } + } + } + }else if(renderEntity.table == "OMDB_RAMP"){ + /*匝道*/ + var formWay = renderEntity.properties["FORM_OF_WAY"] + if(formWay!=null){ + when (formWay) { + "93"-> renderEntity.code = DataCodeEnum.OMDB_RAMP_1.code + "98"-> renderEntity.code = DataCodeEnum.OMDB_RAMP_2.code + "99"-> renderEntity.code = DataCodeEnum.OMDB_RAMP_3.code + "100"-> renderEntity.code = DataCodeEnum.OMDB_RAMP_4.code + "102"-> renderEntity.code = DataCodeEnum.OMDB_RAMP_5.code + "103"-> renderEntity.code = DataCodeEnum.OMDB_RAMP_6.code + "104"-> renderEntity.code = DataCodeEnum.OMDB_RAMP_7.code + } + } + }else if(renderEntity.table == "OMDB_LINK_FORM1"){ + /*道路形态1*/ + var formWay = renderEntity.properties["FORM_OF_WAY"] + if(formWay!=null){ + when (formWay) { + "35"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM1_1.code + "37"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM1_2.code + "38"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM1_3.code + } + } + }else if(renderEntity.table == "OMDB_LINK_FORM2"){ + /*道路形态2*/ + var formWay = renderEntity.properties["FORM_OF_WAY"] + if(formWay!=null){ + when (formWay) { + "10"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_1.code + "11"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_2.code + "17"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_3.code + "18"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_4.code + "20"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_5.code + "22"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_6.code + "36"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_7.code + "52"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_8.code + "53"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_9.code + "54"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_10.code + "60"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_11.code + "84"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_12.code + "85"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_13.code } } } 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 8c585df2..7f9df32f 100644 --- a/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt +++ b/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt @@ -3,6 +3,7 @@ package com.navinfo.omqs.db import android.util.Log import com.navinfo.collect.library.data.entity.ReferenceEntity import com.navinfo.collect.library.data.entity.RenderEntity +import com.navinfo.collect.library.enum.DataCodeEnum import com.navinfo.collect.library.utils.GeometryTools import io.realm.Realm import org.json.JSONArray @@ -457,10 +458,14 @@ class ImportPreProcess { fun generateRoadText(renderEntity: RenderEntity) { // 根据类型进行文字转换 if (renderEntity.code != null) { - if(renderEntity.code=="2004-1"){ + if(renderEntity.code==DataCodeEnum.OMDB_LINK_ATTRIBUTE_SA.code){ renderEntity.properties["name"] = "SA" - }else if(renderEntity.code=="2004-2"){ + }else if(renderEntity.code==DataCodeEnum.OMDB_LINK_ATTRIBUTE_PA.code){ renderEntity.properties["name"] = "PA" + }else if(renderEntity.code==DataCodeEnum.OMDB_LINK_ATTRIBUTE_FORNTAGE.code){ + renderEntity.properties["name"] = "FRONTAGE" + }else if(renderEntity.code==DataCodeEnum.OMDB_LINK_ATTRIBUTE_MAIN_SIDE_ACCESS.code){ + renderEntity.properties["name"] = "MAIN" } } } diff --git a/collect-library/src/main/assets/editormarker.xml b/collect-library/src/main/assets/editormarker.xml index f78594ff..fd6f0968 100644 --- a/collect-library/src/main/assets/editormarker.xml +++ b/collect-library/src/main/assets/editormarker.xml @@ -1951,8 +1951,8 @@ - - + @@ -2113,7 +2113,53 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/collect-library/src/main/java/com/navinfo/collect/library/enum/DataCodeEnum.kt b/collect-library/src/main/java/com/navinfo/collect/library/enum/DataCodeEnum.kt index 4d9c390c..81ff0844 100644 --- a/collect-library/src/main/java/com/navinfo/collect/library/enum/DataCodeEnum.kt +++ b/collect-library/src/main/java/com/navinfo/collect/library/enum/DataCodeEnum.kt @@ -13,6 +13,14 @@ enum class DataCodeEnum(var tableName: String, var code: String) { "道路属性-PA", "2004-2" ), + OMDB_LINK_ATTRIBUTE_FORNTAGE( + "道路属性-辅路", + "2004-3" + ), + OMDB_LINK_ATTRIBUTE_MAIN_SIDE_ACCESS( + "道路属性-主辅路出入口", + "2004-4" + ), OMDB_RD_LINK_KIND("道路种别", "2008"), OMDB_LINK_DIRECT("道路方向", "2010"), OMDB_LINK_NAME( "道路名", @@ -24,16 +32,110 @@ enum class DataCodeEnum(var tableName: String, var code: String) { "2020" ), OMDB_LINK_SPEEDLIMIT_VAR("可变线限速", "2021"), - OMDB_CON_ACCESS("全封闭", "2022"), OMDB_FORM_OF_WAY( - "匝道", - "2037" + OMDB_CON_ACCESS("全封闭", "2022"), OMDB_RAMP_1( + "普通路连接匝道", + "2037-1" + ), + OMDB_RAMP_2( + "高速入口匝道", + "2037-2" + ), + OMDB_RAMP_3( + "高速出口匝道", + "2037-3" + ), + OMDB_RAMP_4( + "高速连接匝道", + "2037-4" + ), + OMDB_RAMP_5( + "高速直连入口匝道", + "2037-5" + ), + OMDB_RAMP_6( + "高速直连出口匝道", + "2037-6" + ), + OMDB_RAMP_7( + "高速直连出口匝道高速出入口匝道", + "2037-7" ), OMDB_MULTI_DIGITIZED("上下线分离", "2040"), OMDB_LANE_NUM("车道数", "2041"), + OMDB_VIADUCT("高架", "2043"), OMDB_RDBOUND_BOUNDARYTYPE("道路边界类型", "2083"), OMDB_BRIDGE( "桥", "2201" ), - OMDB_TUNNEL("隧道", "2202"), OMDB_INTERSECTION("路口", "4001"), + OMDB_TUNNEL("隧道", "2202"), + OMDB_RoundAbout( + "环岛", + "2204" + ), + OMDB_LINK_FORM1_1( + "U-Turn", + "2205-1" + ), + OMDB_LINK_FORM1_2( + "提前右转", + "2205-2" + ), + OMDB_LINK_FORM1_3( + "提前左转", + "2205-3" + ), + OMDB_LINK_FORM2_1( + "IC", + "2206-1" + ), + OMDB_LINK_FORM2_2( + "JCT", + "2206-2" + ), + OMDB_LINK_FORM2_3( + "跨线地道", + "2206-3" + ), + OMDB_LINK_FORM2_4( + "私道", + "2206-4" + ), + OMDB_LINK_FORM2_5( + "步行街", + "2206-5" + ), + OMDB_LINK_FORM2_6( + "公交专用道", + "2206-6" + ), + OMDB_LINK_FORM2_7( + "POI 连接路", + "2206-7" + ), + OMDB_LINK_FORM2_8( + "区域内道路", + "2206-8" + ), + OMDB_LINK_FORM2_9( + "停车场出入口连接路", + "2206-9" + ), + OMDB_LINK_FORM2_10( + "停车场内部虚拟连接路", + "2206-10" + ), + OMDB_LINK_FORM2_11( + "风景路线", + "2206-11" + ),OMDB_LINK_FORM2_12( + "车辆测试路段", + "2206-12" + ), + OMDB_LINK_FORM2_13( + "驾照考试路段", + "2206-13" + ), + + OMDB_INTERSECTION("路口", "4001"), OMDB_SPEEDLIMIT("常规点限速", "4002"), OMDB_SPEEDLIMIT_COND( "条件点限速", "4003" From 4fe231cf02d893a28fa33c52b870f9999508b91f Mon Sep 17 00:00:00 2001 From: qiji4215 Date: Mon, 14 Aug 2023 18:19:26 +0800 Subject: [PATCH 10/11] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E8=BF=87=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/navinfo/omqs/db/ImportOMDBHelper.kt | 37 ++++++++++++++++--- .../com/navinfo/omqs/db/RealmOperateHelper.kt | 16 ++++---- .../collect/library/enum/DataCodeEnum.kt | 16 +++++++- 3 files changed, 54 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/com/navinfo/omqs/db/ImportOMDBHelper.kt b/app/src/main/java/com/navinfo/omqs/db/ImportOMDBHelper.kt index 707079c1..ad2c0a35 100644 --- a/app/src/main/java/com/navinfo/omqs/db/ImportOMDBHelper.kt +++ b/app/src/main/java/com/navinfo/omqs/db/ImportOMDBHelper.kt @@ -209,7 +209,7 @@ class ImportOMDBHelper @AssistedInject constructor( } } - }else if(renderEntity.table == "OMDB_RESTRICTION" && renderEntity.properties.containsKey("linkIn")){ + }else if(renderEntity.code == DataCodeEnum.OMDB_RESTRICTION.code && renderEntity.properties.containsKey("linkIn")){ if (renderEntity.properties["linkIn"] != null) { @@ -226,7 +226,7 @@ class ImportOMDBHelper @AssistedInject constructor( } } } - }else if(renderEntity.table == "OMDB_INTERSECTION" && renderEntity.properties.containsKey("linkList")){ + }else if(renderEntity.code == DataCodeEnum.OMDB_INTERSECTION.code && renderEntity.properties.containsKey("linkList")){ if (renderEntity.properties["linkList"] != null) { @@ -266,7 +266,7 @@ class ImportOMDBHelper @AssistedInject constructor( } //道路属性code编码需要特殊处理 存在多个属性值时,渲染优先级:SA>PA,存在多个属性值时,渲染优先级:FRONTAGE>MAIN_SIDE_A CCESS - if(renderEntity.table == "OMDB_LINK_ATTRIBUTE"){ + if(renderEntity.code == DataCodeEnum.OMDB_LINK_ATTRIBUTE.code){ var type = renderEntity.properties["SA"] @@ -285,12 +285,14 @@ class ImportOMDBHelper @AssistedInject constructor( if(type!=null&&type=="1"){ renderEntity.code = DataCodeEnum.OMDB_LINK_ATTRIBUTE_MAIN_SIDE_ACCESS.code }else{ + renderEntity.enable=0 + Log.e("qj","过滤不显示数据${renderEntity.table}") continue } } } } - }else if(renderEntity.table == "OMDB_RAMP"){ + }else if(renderEntity.code == DataCodeEnum.OMDB_RAMP.code){ /*匝道*/ var formWay = renderEntity.properties["FORM_OF_WAY"] if(formWay!=null){ @@ -304,7 +306,7 @@ class ImportOMDBHelper @AssistedInject constructor( "104"-> renderEntity.code = DataCodeEnum.OMDB_RAMP_7.code } } - }else if(renderEntity.table == "OMDB_LINK_FORM1"){ + }else if(renderEntity.code == DataCodeEnum.OMDB_LINK_FORM1.code){ /*道路形态1*/ var formWay = renderEntity.properties["FORM_OF_WAY"] if(formWay!=null){ @@ -314,7 +316,7 @@ class ImportOMDBHelper @AssistedInject constructor( "38"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM1_3.code } } - }else if(renderEntity.table == "OMDB_LINK_FORM2"){ + }else if(renderEntity.code == DataCodeEnum.OMDB_LINK_FORM2.code){ /*道路形态2*/ var formWay = renderEntity.properties["FORM_OF_WAY"] if(formWay!=null){ @@ -334,6 +336,29 @@ class ImportOMDBHelper @AssistedInject constructor( "85"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_13.code } } + }else if(renderEntity.code == DataCodeEnum.OMDB_LANE_MARK_BOUNDARYTYPE.code){ + var boundaryType = renderEntity.properties["boundaryType"] + if(boundaryType!=null){ + when (boundaryType) { + "0","1","6","8","9"->{ + renderEntity.enable=0 + Log.e("qj","过滤不显示数据${renderEntity.table}") + continue + } + } + } + }else if(renderEntity.code == DataCodeEnum.OMDB_RDBOUND_BOUNDARYTYPE.code){ + //过滤不需要渲染的要素 + var boundaryType = renderEntity.properties["boundaryType"] + if(boundaryType!=null){ + when (boundaryType) { + "0","3","4","5","7","9"->{ + renderEntity.enable=0 + Log.e("qj","过滤不显示数据${renderEntity.table}") + continue + } + } + } } listResult.add(renderEntity) diff --git a/app/src/main/java/com/navinfo/omqs/db/RealmOperateHelper.kt b/app/src/main/java/com/navinfo/omqs/db/RealmOperateHelper.kt index e95b98d0..e6fa44bb 100644 --- a/app/src/main/java/com/navinfo/omqs/db/RealmOperateHelper.kt +++ b/app/src/main/java/com/navinfo/omqs/db/RealmOperateHelper.kt @@ -63,7 +63,7 @@ class RealmOperateHelper() { val realmList = realm.where(RenderEntity::class.java) .equalTo("table", "OMDB_RD_LINK") .and() - .rawPredicate("tileX>=$xStart and tileX<=$xEnd and tileY>=$yStart and tileY<=$yEnd").and().equalTo("taskId",RealmDBParamUtils.getTaskId()) + .rawPredicate("tileX>=$xStart and tileX<=$xEnd and tileY>=$yStart and tileY<=$yEnd").and().equalTo("taskId",RealmDBParamUtils.getTaskId()).and().between("enable",1,2) .findAll() // 将获取到的数据和查询的polygon做相交,只返回相交的数据 val dataList = realm.copyFromRealm(realmList) @@ -126,7 +126,7 @@ class RealmOperateHelper() { val realmList = realm.where(RenderEntity::class.java) .equalTo("table", table) .and() - .rawPredicate("tileX>=$xStart and tileX<=$xEnd and tileY>=$yStart and tileY<=$yEnd").and().equalTo("taskId",RealmDBParamUtils.getTaskId()) + .rawPredicate("tileX>=$xStart and tileX<=$xEnd and tileY>=$yStart and tileY<=$yEnd").and().equalTo("taskId",RealmDBParamUtils.getTaskId()).and().between("enable",1,2) .findAll() // 将获取到的数据和查询的polygon做相交,只返回相交的数据 val dataList = realm.copyFromRealm(realmList) @@ -165,7 +165,7 @@ class RealmOperateHelper() { val realm = Realm.getDefaultInstance() val realmList = realm.where(HadLinkDvoBean::class.java) - .equalTo("taskId",RealmDBParamUtils.getTaskId()) + .equalTo("taskId",RealmDBParamUtils.getTaskId()).and().between("enable",1,2) .findAll() var linkBean: HadLinkDvoBean? = null var nearLast: Double = 99999.99 @@ -189,7 +189,7 @@ class RealmOperateHelper() { val realmR = realm.where(RenderEntity::class.java) .equalTo("table", "OMDB_RD_LINK") .and() - .equalTo("properties['${LinkTable.linkPid}']", linkPid).and().equalTo("taskId",RealmDBParamUtils.getTaskId()) + .equalTo("properties['${LinkTable.linkPid}']", linkPid).and().equalTo("taskId",RealmDBParamUtils.getTaskId()).and().between("enable",1,2) .findFirst() if (realmR != null) { link = realm.copyFromRealm(realmR) @@ -207,7 +207,7 @@ class RealmOperateHelper() { val realmR = realm.where(QsRecordBean::class.java) .equalTo("table", "QsRecordBean") .and() - .equalTo("id", markId).and().equalTo("taskId",RealmDBParamUtils.getTaskId()) + .equalTo("id", markId).and().equalTo("taskId",RealmDBParamUtils.getTaskId()).and().between("enable",1,2) .findFirst() if (realmR != null) { qsRecordBean = realm.copyFromRealm(realmR) @@ -221,7 +221,7 @@ class RealmOperateHelper() { val realm = Realm.getDefaultInstance() val realmR = realm.where(RenderEntity::class.java) - .equalTo("properties['${LinkTable.linkPid}']", linkPid).and().equalTo("taskId",RealmDBParamUtils.getTaskId()) + .equalTo("properties['${LinkTable.linkPid}']", linkPid).and().equalTo("taskId",RealmDBParamUtils.getTaskId()).and().between("enable",1,2) .findAll() val dataList = realm.copyFromRealm(realmR) @@ -266,7 +266,7 @@ class RealmOperateHelper() { val realmList = realm.where(RenderEntity::class.java) .notEqualTo("table", "OMDB_RD_LINK") .and() - .rawPredicate("tileX>=$xStart and tileX<=$xEnd and tileY>=$yStart and tileY<=$yEnd").and().equalTo("taskId",RealmDBParamUtils.getTaskId()) + .rawPredicate("tileX>=$xStart and tileX<=$xEnd and tileY>=$yStart and tileY<=$yEnd").and().equalTo("taskId",RealmDBParamUtils.getTaskId()).and().between("enable",1,2) .findAll() // 将获取到的数据和查询的polygon做相交,只返回相交的数据 val queryResult = realmList?.stream()?.filter { @@ -296,7 +296,7 @@ class RealmOperateHelper() { val realmList = realm.where(RenderEntity::class.java) .notEqualTo("table", "OMDB_RD_LINK") .and() - .equalTo("properties['${LinkTable.linkPid}']", linkPid).and().equalTo("taskId",RealmDBParamUtils.getTaskId()) + .equalTo("properties['${LinkTable.linkPid}']", linkPid).and().equalTo("taskId",RealmDBParamUtils.getTaskId()).and().between("enable",1,2) .findAll() result.addAll(realm.copyFromRealm(realmList)) return result diff --git a/collect-library/src/main/java/com/navinfo/collect/library/enum/DataCodeEnum.kt b/collect-library/src/main/java/com/navinfo/collect/library/enum/DataCodeEnum.kt index 81ff0844..2d05ca77 100644 --- a/collect-library/src/main/java/com/navinfo/collect/library/enum/DataCodeEnum.kt +++ b/collect-library/src/main/java/com/navinfo/collect/library/enum/DataCodeEnum.kt @@ -9,6 +9,7 @@ enum class DataCodeEnum(var tableName: String, var code: String) { "2001" ), OMDB_RD_LINK_FUNCTION_CLASS("道路功能等级", "2002"), + OMDB_LINK_ATTRIBUTE("道路属性", "2004"), OMDB_LINK_ATTRIBUTE_SA("道路属性-SA", "2004-1"), OMDB_LINK_ATTRIBUTE_PA( "道路属性-PA", "2004-2" @@ -32,7 +33,12 @@ enum class DataCodeEnum(var tableName: String, var code: String) { "2020" ), OMDB_LINK_SPEEDLIMIT_VAR("可变线限速", "2021"), - OMDB_CON_ACCESS("全封闭", "2022"), OMDB_RAMP_1( + OMDB_CON_ACCESS("全封闭", "2022"), + OMDB_RAMP( + "匝道", + "2037" + ), + OMDB_RAMP_1( "普通路连接匝道", "2037-1" ), @@ -71,6 +77,10 @@ enum class DataCodeEnum(var tableName: String, var code: String) { "环岛", "2204" ), + OMDB_LINK_FORM1( + "道路形态1", + "2205" + ), OMDB_LINK_FORM1_1( "U-Turn", "2205-1" @@ -83,6 +93,10 @@ enum class DataCodeEnum(var tableName: String, var code: String) { "提前左转", "2205-3" ), + OMDB_LINK_FORM2( + "道路形态2", + "2206" + ), OMDB_LINK_FORM2_1( "IC", "2206-1" From 5fa01313b436aeb634130cb949d2404278a01dbd Mon Sep 17 00:00:00 2001 From: qiji4215 Date: Tue, 15 Aug 2023 10:45:59 +0800 Subject: [PATCH 11/11] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=81=93=E8=B7=AF?= =?UTF-8?q?=E5=BD=A2=E6=80=81=E6=B8=B2=E6=9F=93=E4=B8=9A=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/assets/omdb_config.json | 3 +- .../src/main/assets/editormarker.xml | 33 +++++++++++-------- 2 files changed, 21 insertions(+), 15 deletions(-) diff --git a/app/src/main/assets/omdb_config.json b/app/src/main/assets/omdb_config.json index 325256e2..afeae85c 100644 --- a/app/src/main/assets/omdb_config.json +++ b/app/src/main/assets/omdb_config.json @@ -169,8 +169,7 @@ "code": 2205, "name": "道路形态1", "zoomMin": 15, - "zoomMax": 17, - "transformer2Code": "" + "zoomMax": 17 }, "2206":{ "table": "OMDB_LINK_FORM2", diff --git a/collect-library/src/main/assets/editormarker.xml b/collect-library/src/main/assets/editormarker.xml index fd6f0968..0f371ffa 100644 --- a/collect-library/src/main/assets/editormarker.xml +++ b/collect-library/src/main/assets/editormarker.xml @@ -178,6 +178,10 @@ + + + + @@ -1972,6 +1976,9 @@ + + + @@ -2082,22 +2089,22 @@ - + - + - + - + - + @@ -2123,43 +2130,43 @@ - + - + - + - + - + - + - + - +