merge code
This commit is contained in:
@@ -112,10 +112,13 @@ class ImportOMDBHelper @AssistedInject constructor(
|
|||||||
FIELD_TYPE_NULL -> rowMap[columnName] = ""
|
FIELD_TYPE_NULL -> rowMap[columnName] = ""
|
||||||
FIELD_TYPE_INTEGER -> rowMap[columnName] =
|
FIELD_TYPE_INTEGER -> rowMap[columnName] =
|
||||||
getInt(columnIndex)
|
getInt(columnIndex)
|
||||||
|
|
||||||
FIELD_TYPE_FLOAT -> rowMap[columnName] =
|
FIELD_TYPE_FLOAT -> rowMap[columnName] =
|
||||||
getFloat(columnIndex)
|
getFloat(columnIndex)
|
||||||
|
|
||||||
FIELD_TYPE_BLOB -> rowMap[columnName] =
|
FIELD_TYPE_BLOB -> rowMap[columnName] =
|
||||||
String(getBlob(columnIndex), Charsets.UTF_8)
|
String(getBlob(columnIndex), Charsets.UTF_8)
|
||||||
|
|
||||||
else -> rowMap[columnName] = getString(columnIndex)
|
else -> rowMap[columnName] = getString(columnIndex)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -134,7 +137,8 @@ class ImportOMDBHelper @AssistedInject constructor(
|
|||||||
* @param omdbZipFile omdb数据抽取生成的Zip文件
|
* @param omdbZipFile omdb数据抽取生成的Zip文件
|
||||||
* @param configFile 对应的配置文件
|
* @param configFile 对应的配置文件
|
||||||
* */
|
* */
|
||||||
suspend fun importOmdbZipFile(omdbZipFile: File, task: TaskBean): Flow<String> = withContext(Dispatchers.IO) {
|
suspend fun importOmdbZipFile(omdbZipFile: File, task: TaskBean): Flow<String> =
|
||||||
|
withContext(Dispatchers.IO) {
|
||||||
val unZipFolder = File(omdbZipFile.parentFile, "result")
|
val unZipFolder = File(omdbZipFile.parentFile, "result")
|
||||||
flow {
|
flow {
|
||||||
if (unZipFolder.exists()) {
|
if (unZipFolder.exists()) {
|
||||||
@@ -143,8 +147,7 @@ class ImportOMDBHelper @AssistedInject constructor(
|
|||||||
unZipFolder.mkdirs()
|
unZipFolder.mkdirs()
|
||||||
// 开始解压zip文件
|
// 开始解压zip文件
|
||||||
val unZipFiles = ZipUtils.unzipFile(omdbZipFile, unZipFolder)
|
val unZipFiles = ZipUtils.unzipFile(omdbZipFile, unZipFolder)
|
||||||
// 将listResult数据插入到Realm数据库中
|
|
||||||
val realm = Realm.getDefaultInstance()
|
|
||||||
// 先获取当前配置的所有图层的个数,方便后续计算数据解析进度
|
// 先获取当前配置的所有图层的个数,方便后续计算数据解析进度
|
||||||
var tableNum = 0
|
var tableNum = 0
|
||||||
var processIndex = 0
|
var processIndex = 0
|
||||||
@@ -152,23 +155,27 @@ class ImportOMDBHelper @AssistedInject constructor(
|
|||||||
tableNum += importConfig.tableMap.size
|
tableNum += importConfig.tableMap.size
|
||||||
}
|
}
|
||||||
|
|
||||||
realm.beginTransaction()
|
|
||||||
try {
|
|
||||||
//缓存任务link信息,便于下面与数据进行任务link匹配
|
//缓存任务link信息,便于下面与数据进行任务link匹配
|
||||||
val hashMap:HashMap<String,HadLinkDvoBean> = HashMap<String,HadLinkDvoBean>() //define empty hashmap
|
val hashMap: HashMap<String, HadLinkDvoBean> =
|
||||||
task.hadLinkDvoList.forEach{
|
HashMap<String, HadLinkDvoBean>() //define empty hashmap
|
||||||
hashMap.put(it.linkPid,it);
|
task.hadLinkDvoList.forEach {
|
||||||
|
hashMap.put(it.linkPid, it);
|
||||||
}
|
}
|
||||||
|
|
||||||
val resHashMap:HashMap<String,RenderEntity> = HashMap<String,RenderEntity>() //define empty hashmap
|
val resHashMap: HashMap<String, RenderEntity> =
|
||||||
|
HashMap<String, RenderEntity>() //define empty hashmap
|
||||||
|
|
||||||
// 遍历解压后的文件,读取该数据返回
|
// 遍历解压后的文件,读取该数据返回
|
||||||
for (importConfig in importConfigList) {
|
for (importConfig in importConfigList) {
|
||||||
|
try {
|
||||||
for ((index, currentEntry) in importConfig.tableMap.entries.withIndex()) {
|
for ((index, currentEntry) in importConfig.tableMap.entries.withIndex()) {
|
||||||
val currentConfig = currentEntry.value
|
val currentConfig = currentEntry.value
|
||||||
val txtFile = unZipFiles.find {
|
val txtFile = unZipFiles.find {
|
||||||
it.name == currentConfig.table
|
it.name == currentConfig.table
|
||||||
}
|
}
|
||||||
|
// 将listResult数据插入到Realm数据库中
|
||||||
|
val realm = Realm.getDefaultInstance()
|
||||||
val listResult = mutableListOf<RenderEntity>()
|
val listResult = mutableListOf<RenderEntity>()
|
||||||
currentConfig?.let {
|
currentConfig?.let {
|
||||||
val list = FileIOUtils.readFile2List(txtFile, "UTF-8")
|
val list = FileIOUtils.readFile2List(txtFile, "UTF-8")
|
||||||
@@ -179,12 +186,16 @@ class ImportOMDBHelper @AssistedInject constructor(
|
|||||||
if (line == null || line.trim() == "") {
|
if (line == null || line.trim() == "") {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
Log.d("ImportOMDBHelper", "解析第:${index+1}行")
|
Log.d("ImportOMDBHelper", "解析第:${index + 1}行")
|
||||||
val map = gson.fromJson<Map<String, Any>>(line, object:TypeToken<Map<String, Any>>(){}.getType())
|
val map = gson.fromJson<Map<String, Any>>(
|
||||||
|
line,
|
||||||
|
object : TypeToken<Map<String, Any>>() {}.getType()
|
||||||
|
)
|
||||||
.toMutableMap()
|
.toMutableMap()
|
||||||
map["qi_table"] = currentConfig.table
|
map["qi_table"] = currentConfig.table
|
||||||
map["qi_name"] = currentConfig.name
|
map["qi_name"] = currentConfig.name
|
||||||
map["qi_code"] = if (currentConfig.code == 0) currentConfig.code else currentEntry.key
|
map["qi_code"] =
|
||||||
|
if (currentConfig.code == 0) currentConfig.code else currentEntry.key
|
||||||
map["qi_zoomMin"] = currentConfig.zoomMin
|
map["qi_zoomMin"] = currentConfig.zoomMin
|
||||||
map["qi_zoomMax"] = currentConfig.zoomMax
|
map["qi_zoomMax"] = currentConfig.zoomMax
|
||||||
|
|
||||||
@@ -201,19 +212,25 @@ class ImportOMDBHelper @AssistedInject constructor(
|
|||||||
renderEntity.geometry = map["geometry"].toString()
|
renderEntity.geometry = map["geometry"].toString()
|
||||||
// 其他数据插入到Properties中
|
// 其他数据插入到Properties中
|
||||||
if (!currentConfig.is3D) { // 如果是非3d要素,则自动将Z轴坐标全部置为0
|
if (!currentConfig.is3D) { // 如果是非3d要素,则自动将Z轴坐标全部置为0
|
||||||
val coordinates = renderEntity.wkt?.coordinates?.map {
|
val coordinates =
|
||||||
coordinate -> coordinate.z = 0.0
|
renderEntity.wkt?.coordinates?.map { coordinate ->
|
||||||
|
coordinate.z = 0.0
|
||||||
coordinate
|
coordinate
|
||||||
}?.toTypedArray()
|
}?.toTypedArray()
|
||||||
var newGeometry: Geometry? = null
|
var newGeometry: Geometry? = null
|
||||||
if (renderEntity.wkt?.geometryType == Geometry.TYPENAME_POINT) {
|
if (renderEntity.wkt?.geometryType == Geometry.TYPENAME_POINT) {
|
||||||
newGeometry = GeometryTools.createPoint(coordinates!![0].x, coordinates!![0].y)
|
newGeometry = GeometryTools.createPoint(
|
||||||
|
coordinates!![0].x,
|
||||||
|
coordinates!![0].y
|
||||||
|
)
|
||||||
} else if (renderEntity.wkt?.geometryType == Geometry.TYPENAME_LINESTRING) {
|
} else if (renderEntity.wkt?.geometryType == Geometry.TYPENAME_LINESTRING) {
|
||||||
newGeometry = GeometryTools.createLineString(coordinates)
|
newGeometry =
|
||||||
|
GeometryTools.createLineString(coordinates)
|
||||||
} else if (renderEntity.wkt?.geometryType == Geometry.TYPENAME_POLYGON) {
|
} else if (renderEntity.wkt?.geometryType == Geometry.TYPENAME_POLYGON) {
|
||||||
newGeometry = GeometryTools.createLineString(coordinates)
|
newGeometry =
|
||||||
|
GeometryTools.createLineString(coordinates)
|
||||||
}
|
}
|
||||||
if (newGeometry!=null) {
|
if (newGeometry != null) {
|
||||||
renderEntity.geometry = newGeometry.toString()
|
renderEntity.geometry = newGeometry.toString()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -225,16 +242,21 @@ class ImportOMDBHelper @AssistedInject constructor(
|
|||||||
key,
|
key,
|
||||||
value.toInt().toString()
|
value.toInt().toString()
|
||||||
)
|
)
|
||||||
|
|
||||||
is Double -> renderEntity.properties.put(
|
is Double -> renderEntity.properties.put(
|
||||||
key,
|
key,
|
||||||
value.toDouble().toString()
|
value.toDouble().toString()
|
||||||
)
|
)
|
||||||
else -> renderEntity.properties.put(key, value.toString())
|
|
||||||
|
else -> renderEntity.properties.put(
|
||||||
|
key,
|
||||||
|
value.toString()
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//测试代码
|
//测试代码
|
||||||
/* if(renderEntity.code == DataCodeEnum.OMDB_RD_LINK_KIND.code) {
|
/* if(renderEntity.code == DataCodeEnum.OMDB_RD_LINK_KIND.code) {
|
||||||
|
|
||||||
var currentLinkPid = renderEntity.properties["linkPid"]
|
var currentLinkPid = renderEntity.properties["linkPid"]
|
||||||
|
|
||||||
@@ -253,44 +275,56 @@ class ImportOMDBHelper @AssistedInject constructor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
//优先过滤掉不需要的数据
|
//优先过滤掉不需要的数据
|
||||||
if(renderEntity.code == DataCodeEnum.OMDB_POLE.code){ // 杆状物
|
if (renderEntity.code == DataCodeEnum.OMDB_POLE.code) { // 杆状物
|
||||||
//过滤树类型的杆状物,无需导入到数据库中
|
//过滤树类型的杆状物,无需导入到数据库中
|
||||||
val poleType = renderEntity.properties["poleType"]
|
val poleType = renderEntity.properties["poleType"]
|
||||||
if(poleType!=null&&poleType.toInt()==2){
|
if (poleType != null && poleType.toInt() == 2) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
}else if(renderEntity.code == DataCodeEnum.OMDB_LANE_MARK_BOUNDARYTYPE.code){
|
} else if (renderEntity.code == DataCodeEnum.OMDB_LANE_MARK_BOUNDARYTYPE.code) {
|
||||||
var boundaryType = renderEntity.properties["boundaryType"]
|
var boundaryType =
|
||||||
if(boundaryType!=null){
|
renderEntity.properties["boundaryType"]
|
||||||
|
if (boundaryType != null) {
|
||||||
when (boundaryType) {
|
when (boundaryType) {
|
||||||
"0","1","6","8","9"->{
|
"0", "1", "6", "8", "9" -> {
|
||||||
renderEntity.enable=0
|
renderEntity.enable = 0
|
||||||
Log.e("qj","过滤不显示数据${renderEntity.table}")
|
Log.e(
|
||||||
|
"qj",
|
||||||
|
"过滤不显示数据${renderEntity.table}"
|
||||||
|
)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else if(renderEntity.code == DataCodeEnum.OMDB_RDBOUND_BOUNDARYTYPE.code){
|
} else if (renderEntity.code == DataCodeEnum.OMDB_RDBOUND_BOUNDARYTYPE.code) {
|
||||||
|
|
||||||
//过滤不需要渲染的要素
|
//过滤不需要渲染的要素
|
||||||
var boundaryType = renderEntity.properties["boundaryType"]
|
var boundaryType =
|
||||||
if(boundaryType!=null){
|
renderEntity.properties["boundaryType"]
|
||||||
|
if (boundaryType != null) {
|
||||||
when (boundaryType) {
|
when (boundaryType) {
|
||||||
"0","3","4","5","7","9"->{
|
"0", "3", "4", "5", "7", "9" -> {
|
||||||
renderEntity.enable=0
|
renderEntity.enable = 0
|
||||||
Log.e("qj","过滤不显示数据${renderEntity.table}")
|
Log.e(
|
||||||
|
"qj",
|
||||||
|
"过滤不显示数据${renderEntity.table}"
|
||||||
|
)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else if(renderEntity.code == DataCodeEnum.OMDB_OBJECT_STOPLOCATION.code){
|
} else if (renderEntity.code == DataCodeEnum.OMDB_OBJECT_STOPLOCATION.code) {
|
||||||
//过滤不需要渲染的要素
|
//过滤不需要渲染的要素
|
||||||
var locationType = renderEntity.properties["locationType"]
|
var locationType =
|
||||||
if(locationType!=null){
|
renderEntity.properties["locationType"]
|
||||||
|
if (locationType != null) {
|
||||||
when (locationType) {
|
when (locationType) {
|
||||||
"3","4"->{
|
"3", "4" -> {
|
||||||
renderEntity.enable=0
|
renderEntity.enable = 0
|
||||||
Log.e("qj","过滤不显示数据${renderEntity.table}")
|
Log.e(
|
||||||
|
"qj",
|
||||||
|
"过滤不显示数据${renderEntity.table}"
|
||||||
|
)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -298,224 +332,313 @@ class ImportOMDBHelper @AssistedInject constructor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
//交限增加相同LinkIn与LinkOut过滤原则
|
//交限增加相同LinkIn与LinkOut过滤原则
|
||||||
if(renderEntity.code==DataCodeEnum.OMDB_RESTRICTION.code){
|
if (renderEntity.code == DataCodeEnum.OMDB_RESTRICTION.code) {
|
||||||
if(renderEntity.properties.containsKey("linkIn")&&renderEntity.properties.containsKey("linkOut")){
|
if (renderEntity.properties.containsKey("linkIn") && renderEntity.properties.containsKey(
|
||||||
|
"linkOut"
|
||||||
|
)
|
||||||
|
) {
|
||||||
var linkIn = renderEntity.properties["linkIn"]
|
var linkIn = renderEntity.properties["linkIn"]
|
||||||
var linkOut = renderEntity.properties["linkOut"]
|
var linkOut = renderEntity.properties["linkOut"]
|
||||||
if(linkIn!=null&&linkOut!=null){
|
if (linkIn != null && linkOut != null) {
|
||||||
var checkMsg = "$linkIn$linkOut"
|
var checkMsg = "$linkIn$linkOut"
|
||||||
if(resHashMap.containsKey(checkMsg)){
|
if (resHashMap.containsKey(checkMsg)) {
|
||||||
Log.e("qj","${renderEntity.name}==过滤交限linkin与linkout相同且存在多条数据")
|
Log.e(
|
||||||
|
"qj",
|
||||||
|
"${renderEntity.name}==过滤交限linkin与linkout相同且存在多条数据"
|
||||||
|
)
|
||||||
continue
|
continue
|
||||||
}else{
|
} else {
|
||||||
resHashMap.put(checkMsg,renderEntity)
|
resHashMap.put(checkMsg, renderEntity)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//遍历判断只显示与任务Link相关的任务数据
|
//遍历判断只显示与任务Link相关的任务数据
|
||||||
if(currentConfig.checkLinkId){
|
if (currentConfig.checkLinkId) {
|
||||||
|
|
||||||
if(renderEntity.properties.containsKey("linkPid")){
|
if (renderEntity.properties.containsKey("linkPid")) {
|
||||||
|
|
||||||
var currentLinkPid = renderEntity.properties["linkPid"]
|
var currentLinkPid =
|
||||||
|
renderEntity.properties["linkPid"]
|
||||||
|
|
||||||
if(!currentLinkPid.isNullOrEmpty()&¤tLinkPid!="null"){
|
if (!currentLinkPid.isNullOrEmpty() && currentLinkPid != "null") {
|
||||||
|
|
||||||
var list = currentLinkPid.split(",")
|
var list = currentLinkPid.split(",")
|
||||||
|
|
||||||
if(list!=null&&list.size>0){
|
if (list != null && list.size > 0) {
|
||||||
m@for (linkPid in list){
|
m@ for (linkPid in list) {
|
||||||
if(hashMap.containsKey(linkPid)){
|
if (hashMap.containsKey(linkPid)) {
|
||||||
renderEntity.enable = 1
|
renderEntity.enable = 1
|
||||||
Log.e("qj","${renderEntity.name}==包括任务link")
|
Log.e(
|
||||||
|
"qj",
|
||||||
|
"${renderEntity.name}==包括任务link"
|
||||||
|
)
|
||||||
break@m
|
break@m
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}else if(renderEntity.code == DataCodeEnum.OMDB_INTERSECTION.code && renderEntity.properties.containsKey("linkList")){
|
} else if (renderEntity.code == DataCodeEnum.OMDB_INTERSECTION.code && renderEntity.properties.containsKey(
|
||||||
|
"linkList"
|
||||||
|
)
|
||||||
|
) {
|
||||||
|
|
||||||
if (renderEntity.properties["linkList"] != null) {
|
if (renderEntity.properties["linkList"] != null) {
|
||||||
|
|
||||||
Log.e("qj", "linkList==开始${renderEntity.name}==${renderEntity.properties["linkList"]}}")
|
Log.e(
|
||||||
|
"qj",
|
||||||
|
"linkList==开始${renderEntity.name}==${renderEntity.properties["linkList"]}}"
|
||||||
|
)
|
||||||
|
|
||||||
val linkList = renderEntity.properties["linkList"]
|
val linkList =
|
||||||
|
renderEntity.properties["linkList"]
|
||||||
|
|
||||||
if (!linkList.isNullOrEmpty()&&linkList!="null") {
|
if (!linkList.isNullOrEmpty() && linkList != "null") {
|
||||||
|
|
||||||
Log.e("qj", "linkList==${renderEntity.name}==${renderEntity.properties["linkList"]}}")
|
Log.e(
|
||||||
|
"qj",
|
||||||
|
"linkList==${renderEntity.name}==${renderEntity.properties["linkList"]}}"
|
||||||
|
)
|
||||||
|
|
||||||
val list: List<LinkList> = gson.fromJson(linkList, object : TypeToken<List<LinkList>>() {}.type)
|
val list: List<LinkList> = gson.fromJson(
|
||||||
|
linkList,
|
||||||
|
object :
|
||||||
|
TypeToken<List<LinkList>>() {}.type
|
||||||
|
)
|
||||||
|
|
||||||
if (list != null) {
|
if (list != null) {
|
||||||
m@for (link in list){
|
m@ for (link in list) {
|
||||||
if(hashMap.containsKey(link.linkPid)){
|
if (hashMap.containsKey(link.linkPid)) {
|
||||||
renderEntity.enable = 1
|
renderEntity.enable = 1
|
||||||
break@m
|
break@m
|
||||||
Log.e("qj","${renderEntity.name}==包括任务link")
|
Log.e(
|
||||||
|
"qj",
|
||||||
|
"${renderEntity.name}==包括任务link"
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else{
|
} else {
|
||||||
renderEntity.enable = 2
|
renderEntity.enable = 2
|
||||||
Log.e("qj", "简单路口")
|
Log.e("qj", "简单路口")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else{
|
} else {
|
||||||
renderEntity.enable = 2
|
renderEntity.enable = 2
|
||||||
Log.e("qj","${renderEntity.name}==不包括任务linkPid")
|
Log.e(
|
||||||
|
"qj",
|
||||||
|
"${renderEntity.name}==不包括任务linkPid"
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}else{
|
} else {
|
||||||
renderEntity.enable = 2
|
renderEntity.enable = 2
|
||||||
Log.e("qj","${renderEntity.name}==不包括任务linkPid")
|
Log.e("qj", "${renderEntity.name}==不包括任务linkPid")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// 对renderEntity做预处理后再保存
|
// 对renderEntity做预处理后再保存
|
||||||
val resultEntity = importConfig.transformProperties(renderEntity)
|
val resultEntity =
|
||||||
|
importConfig.transformProperties(renderEntity)
|
||||||
|
|
||||||
if(renderEntity!=null){
|
if (resultEntity != null) {
|
||||||
if(currentConfig.catch){
|
if (currentConfig.catch) {
|
||||||
renderEntity.catchEnable=0
|
renderEntity.catchEnable = 0
|
||||||
}else{
|
} else {
|
||||||
renderEntity.catchEnable=1
|
renderEntity.catchEnable = 1
|
||||||
}
|
}
|
||||||
|
|
||||||
//对code编码需要特殊处理 存在多个属性值时,渲染优先级:SA>PA,存在多个属性值时,渲染优先级:FRONTAGE>MAIN_SIDE_A CCESS
|
//对code编码需要特殊处理 存在多个属性值时,渲染优先级:SA>PA,存在多个属性值时,渲染优先级:FRONTAGE>MAIN_SIDE_A CCESS
|
||||||
if(renderEntity.code == DataCodeEnum.OMDB_LINK_ATTRIBUTE.code){
|
if (renderEntity.code == DataCodeEnum.OMDB_LINK_ATTRIBUTE.code) {
|
||||||
|
|
||||||
Log.e("qj","道路属性===0")
|
Log.e("qj", "道路属性===0")
|
||||||
|
|
||||||
var type = renderEntity.properties["sa"]
|
var type = renderEntity.properties["sa"]
|
||||||
|
|
||||||
if(type!=null&&type=="1"){
|
if (type != null && type == "1") {
|
||||||
renderEntity.code = DataCodeEnum.OMDB_LINK_ATTRIBUTE_SA.code
|
renderEntity.code =
|
||||||
Log.e("qj","道路属性===1")
|
DataCodeEnum.OMDB_LINK_ATTRIBUTE_SA.code
|
||||||
}else{
|
Log.e("qj", "道路属性===1")
|
||||||
|
} else {
|
||||||
type = renderEntity.properties["pa"]
|
type = renderEntity.properties["pa"]
|
||||||
if(type!=null&&type=="1"){
|
if (type != null && type == "1") {
|
||||||
renderEntity.code = DataCodeEnum.OMDB_LINK_ATTRIBUTE_PA.code
|
renderEntity.code =
|
||||||
Log.e("qj","道路属性===2")
|
DataCodeEnum.OMDB_LINK_ATTRIBUTE_PA.code
|
||||||
} else{
|
Log.e("qj", "道路属性===2")
|
||||||
|
} else {
|
||||||
type = renderEntity.properties["frontage"]
|
type = renderEntity.properties["frontage"]
|
||||||
if(type!=null&&type=="1"){
|
if (type != null && type == "1") {
|
||||||
renderEntity.code = DataCodeEnum.OMDB_LINK_ATTRIBUTE_FORNTAGE.code
|
renderEntity.code =
|
||||||
Log.e("qj","道路属性===3")
|
DataCodeEnum.OMDB_LINK_ATTRIBUTE_FORNTAGE.code
|
||||||
}else{
|
Log.e("qj", "道路属性===3")
|
||||||
type = renderEntity.properties["mainSideAccess"]
|
} else {
|
||||||
if(type!=null&&type=="1"){
|
type =
|
||||||
renderEntity.code = DataCodeEnum.OMDB_LINK_ATTRIBUTE_MAIN_SIDE_ACCESS.code
|
renderEntity.properties["mainSideAccess"]
|
||||||
Log.e("qj","道路属性===4")
|
if (type != null && type == "1") {
|
||||||
}else{
|
renderEntity.code =
|
||||||
renderEntity.enable=0
|
DataCodeEnum.OMDB_LINK_ATTRIBUTE_MAIN_SIDE_ACCESS.code
|
||||||
Log.e("qj","过滤不显示数据${renderEntity.table}")
|
Log.e("qj", "道路属性===4")
|
||||||
Log.e("qj","道路属性===5")
|
} else {
|
||||||
|
renderEntity.enable = 0
|
||||||
|
Log.e(
|
||||||
|
"qj",
|
||||||
|
"过滤不显示数据${renderEntity.table}"
|
||||||
|
)
|
||||||
|
Log.e("qj", "道路属性===5")
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else if(renderEntity.code == DataCodeEnum.OMDB_RAMP.code){
|
} else if (renderEntity.code == DataCodeEnum.OMDB_RAMP.code) {
|
||||||
/*匝道*/
|
/*匝道*/
|
||||||
var formWay = renderEntity.properties["formOfWay"]
|
var formWay = renderEntity.properties["formOfWay"]
|
||||||
if(formWay!=null){
|
if (formWay != null) {
|
||||||
when (formWay) {
|
when (formWay) {
|
||||||
"93"-> renderEntity.code = DataCodeEnum.OMDB_RAMP_1.code
|
"93" -> renderEntity.code =
|
||||||
"98"-> renderEntity.code = DataCodeEnum.OMDB_RAMP_2.code
|
DataCodeEnum.OMDB_RAMP_1.code
|
||||||
"99"-> renderEntity.code = DataCodeEnum.OMDB_RAMP_3.code
|
|
||||||
"100"-> renderEntity.code = DataCodeEnum.OMDB_RAMP_4.code
|
"98" -> renderEntity.code =
|
||||||
"102"-> renderEntity.code = DataCodeEnum.OMDB_RAMP_5.code
|
DataCodeEnum.OMDB_RAMP_2.code
|
||||||
"103"-> renderEntity.code = DataCodeEnum.OMDB_RAMP_6.code
|
|
||||||
"104"-> renderEntity.code = DataCodeEnum.OMDB_RAMP_7.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.code == DataCodeEnum.OMDB_LINK_FORM1.code){
|
} else if (renderEntity.code == DataCodeEnum.OMDB_LINK_FORM1.code) {
|
||||||
/*道路形态1*/
|
/*道路形态1*/
|
||||||
var formWay = renderEntity.properties["formOfWay"]
|
var formWay = renderEntity.properties["formOfWay"]
|
||||||
if(formWay!=null){
|
if (formWay != null) {
|
||||||
when (formWay) {
|
when (formWay) {
|
||||||
"35"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM1_1.code
|
"35" -> renderEntity.code =
|
||||||
"37"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM1_2.code
|
DataCodeEnum.OMDB_LINK_FORM1_1.code
|
||||||
"38"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM1_3.code
|
|
||||||
|
"37" -> renderEntity.code =
|
||||||
|
DataCodeEnum.OMDB_LINK_FORM1_2.code
|
||||||
|
|
||||||
|
"38" -> renderEntity.code =
|
||||||
|
DataCodeEnum.OMDB_LINK_FORM1_3.code
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else if(renderEntity.code == DataCodeEnum.OMDB_LINK_FORM2.code){
|
} else if (renderEntity.code == DataCodeEnum.OMDB_LINK_FORM2.code) {
|
||||||
Log.e("qj","道路形态2${renderEntity.properties["formOfWay"]}")
|
Log.e(
|
||||||
|
"qj",
|
||||||
|
"道路形态2${renderEntity.properties["formOfWay"]}"
|
||||||
|
)
|
||||||
/*道路形态2*/
|
/*道路形态2*/
|
||||||
var formWay = renderEntity.properties["formOfWay"]
|
var formWay = renderEntity.properties["formOfWay"]
|
||||||
if(formWay!=null){
|
if (formWay != null) {
|
||||||
when (formWay) {
|
when (formWay) {
|
||||||
"10"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_1.code
|
"10" -> renderEntity.code =
|
||||||
"11"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_2.code
|
DataCodeEnum.OMDB_LINK_FORM2_1.code
|
||||||
"17"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_3.code
|
|
||||||
"18"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_4.code
|
"11" -> renderEntity.code =
|
||||||
"20"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_5.code
|
DataCodeEnum.OMDB_LINK_FORM2_2.code
|
||||||
"22"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_6.code
|
|
||||||
"36"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_7.code
|
"17" -> renderEntity.code =
|
||||||
"52"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_8.code
|
DataCodeEnum.OMDB_LINK_FORM2_3.code
|
||||||
"53"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_9.code
|
|
||||||
"54"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_10.code
|
"18" -> renderEntity.code =
|
||||||
"60"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_11.code
|
DataCodeEnum.OMDB_LINK_FORM2_4.code
|
||||||
"84"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_12.code
|
|
||||||
"85"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_13.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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else if(renderEntity.table == DataCodeEnum.OMDB_NODE_FORM.name){//特殊处理,因为code相同,使用表名判断
|
} else if (renderEntity.table == DataCodeEnum.OMDB_NODE_FORM.name) {//特殊处理,因为code相同,使用表名判断
|
||||||
//过滤不需要渲染的要素
|
//过滤不需要渲染的要素
|
||||||
var formOfWay = renderEntity.properties["formOfWay"]
|
var formOfWay = renderEntity.properties["formOfWay"]
|
||||||
if(formOfWay!=null&&formOfWay=="30"){
|
if (formOfWay != null && formOfWay == "30") {
|
||||||
renderEntity.enable=2
|
renderEntity.enable = 2
|
||||||
renderEntity.code = DataCodeEnum.OMDB_NODE_FORM.code
|
renderEntity.code =
|
||||||
}else{
|
DataCodeEnum.OMDB_NODE_FORM.code
|
||||||
Log.e("qj","过滤不显示数据${renderEntity.table}")
|
} else {
|
||||||
|
Log.e(
|
||||||
|
"qj",
|
||||||
|
"过滤不显示数据${renderEntity.table}"
|
||||||
|
)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
}else if(renderEntity.table == DataCodeEnum.OMDB_NODE_PA.name){//特殊处理,因为code相同,使用表名判断
|
} else if (renderEntity.table == DataCodeEnum.OMDB_NODE_PA.name) {//特殊处理,因为code相同,使用表名判断
|
||||||
//过滤不需要渲染的要素
|
//过滤不需要渲染的要素
|
||||||
var attributeType = renderEntity.properties["attributeType"]
|
var attributeType =
|
||||||
if(attributeType!=null&&attributeType=="30"){
|
renderEntity.properties["attributeType"]
|
||||||
renderEntity.enable=2
|
if (attributeType != null && attributeType == "30") {
|
||||||
renderEntity.code = DataCodeEnum.OMDB_NODE_PA.code
|
renderEntity.enable = 2
|
||||||
}else{
|
renderEntity.code =
|
||||||
Log.e("qj","过滤不显示数据${renderEntity.table}")
|
DataCodeEnum.OMDB_NODE_PA.code
|
||||||
|
} else {
|
||||||
|
Log.e(
|
||||||
|
"qj",
|
||||||
|
"过滤不显示数据${renderEntity.table}"
|
||||||
|
)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
}else if(renderEntity.code == DataCodeEnum.OMDB_LANE_CONSTRUCTION.code){
|
} else if (renderEntity.code == DataCodeEnum.OMDB_LANE_CONSTRUCTION.code) {
|
||||||
//特殊处理空数据,渲染原则使用
|
//特殊处理空数据,渲染原则使用
|
||||||
var startTime = renderEntity.properties["startTime"]
|
var startTime = renderEntity.properties["startTime"]
|
||||||
if(startTime==null||startTime=="") {
|
if (startTime == null || startTime == "") {
|
||||||
renderEntity.properties["startTime"] = "null"
|
renderEntity.properties["startTime"] = "null"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
realm.insert(renderEntity)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
listResult.add(renderEntity)
|
listResult.add(renderEntity)
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 1个文件发送一次flow流
|
// 1个文件发送一次flow流
|
||||||
emit("${++processIndex}/${tableNum}")
|
emit("${++processIndex}/${tableNum}")
|
||||||
|
realm.beginTransaction()
|
||||||
|
realm.insert(listResult)
|
||||||
|
realm.commitTransaction()
|
||||||
|
realm.close()
|
||||||
// 如果当前解析的是OMDB_RD_LINK数据,将其缓存在预处理类中,以便后续处理其他要素时使用
|
// 如果当前解析的是OMDB_RD_LINK数据,将其缓存在预处理类中,以便后续处理其他要素时使用
|
||||||
if (currentConfig.table == "OMDB_RD_LINK") {
|
if (currentConfig.table == "OMDB_RD_LINK") {
|
||||||
importConfig.preProcess.cacheRdLink =
|
importConfig.preProcess.cacheRdLink =
|
||||||
listResult.associateBy { it.properties["linkPid"] }
|
listResult.associateBy { it.properties["linkPid"] }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
realm.commitTransaction()
|
|
||||||
realm.close()
|
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
realm.cancelTransaction()
|
|
||||||
throw e
|
throw e
|
||||||
}
|
}
|
||||||
|
}
|
||||||
emit("finish")
|
emit("finish")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user