feat: 增加道路形态图层分组
This commit is contained in:
parent
f388f7c986
commit
58dfe64227
@ -1,404 +1,413 @@
|
||||
{
|
||||
"tableMap" : {
|
||||
"1012": {
|
||||
"table": "OMDB_CHECKPOINT",
|
||||
"code": 1012,
|
||||
"name": "检查点",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 19
|
||||
},
|
||||
"2001": {
|
||||
"table": "OMDB_RD_LINK",
|
||||
"code": 2001,
|
||||
"name": "道路线",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 17,
|
||||
"checkLinkId": false
|
||||
},
|
||||
"2002": {
|
||||
"table": "OMDB_RD_LINK_FUNCTION_CLASS",
|
||||
"code": 2002,
|
||||
"name": "道路功能等级",
|
||||
"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,
|
||||
"name": "道路种别",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 20,
|
||||
"checkLinkId": false
|
||||
},
|
||||
"2010": {
|
||||
"table": "OMDB_LINK_DIRECT",
|
||||
"code": 2010,
|
||||
"name": "道路方向",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 17,
|
||||
"checkLinkId": false
|
||||
},
|
||||
"2011": {
|
||||
"table": "OMDB_LINK_NAME",
|
||||
"code": 2011,
|
||||
"name": "道路名",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 17,
|
||||
"checkLinkId": false,
|
||||
"transformer": [
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "generateRoadName()"
|
||||
}
|
||||
]
|
||||
},
|
||||
"2013": {
|
||||
"table": "OMDB_LANE_MARK_BOUNDARYTYPE",
|
||||
"code": 2013,
|
||||
"name": "车道边界类型",
|
||||
"zoomMin": 18,
|
||||
"zoomMax": 20,
|
||||
"checkLinkId": false,
|
||||
"transformer": [
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "unpackingLaneBoundary()"
|
||||
}
|
||||
]
|
||||
},
|
||||
"2019": {
|
||||
"table": "OMDB_LINK_SPEEDLIMIT",
|
||||
"code": 2019,
|
||||
"name": "常规线限速",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 17
|
||||
},
|
||||
"2020": {
|
||||
"table": "OMDB_LINK_SPEEDLIMIT_COND",
|
||||
"code": 2020,
|
||||
"name": "条件线限速",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 17
|
||||
},
|
||||
"2021": {
|
||||
"table": "OMDB_LINK_SPEEDLIMIT_VAR",
|
||||
"code": 2021,
|
||||
"name": "可变线限速",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 17
|
||||
},
|
||||
"2022": {
|
||||
"table": "OMDB_CON_ACCESS",
|
||||
"code": 2022,
|
||||
"name": "全封闭"
|
||||
},
|
||||
"2037": {
|
||||
"table": "OMDB_RAMP",
|
||||
"code": 2037,
|
||||
"name": "匝道"
|
||||
},
|
||||
"2040": {
|
||||
"table": "OMDB_MULTI_DIGITIZED",
|
||||
"code": 2040,
|
||||
"name": "上下线分离"
|
||||
},
|
||||
"2041":{
|
||||
"table": "OMDB_LANE_NUM",
|
||||
"code": 2041,
|
||||
"name": "车道数"
|
||||
},
|
||||
"2083":{
|
||||
"table": "OMDB_RDBOUND_BOUNDARYTYPE",
|
||||
"code": 2083,
|
||||
"name": "道路边界类型",
|
||||
"zoomMin": 18,
|
||||
"zoomMax": 20,
|
||||
"checkLinkId": false
|
||||
},
|
||||
"2201":{
|
||||
"table": "OMDB_BRIDGE",
|
||||
"code": 2201,
|
||||
"name": "桥",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 20,
|
||||
"transformer": [
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "generateS2EReferencePoint(bridgeType,OMDB_BRIDGE)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"2202":{
|
||||
"table": "OMDB_TUNNEL",
|
||||
"code": 2202,
|
||||
"name": "隧道",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 20,
|
||||
"transformer2Code": ""
|
||||
},
|
||||
"2204":{
|
||||
"table": "OMDB_ROUNDABOUT",
|
||||
"code": 2204,
|
||||
"name": "环岛",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 17,
|
||||
"transformer": [
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "generateS2EReferencePoint()"
|
||||
}
|
||||
]
|
||||
},
|
||||
"2205":{
|
||||
"table": "OMDB_LINK_FORM1",
|
||||
"code": 2205,
|
||||
"name": "道路形态1",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 17
|
||||
},
|
||||
"2206":{
|
||||
"table": "OMDB_LINK_FORM2",
|
||||
"code": 2206,
|
||||
"name": "道路形态2",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 17,
|
||||
"transformer2Code": ""
|
||||
},
|
||||
"3012":{
|
||||
"table": "OMDB_FILL_AREA",
|
||||
"code": 3012,
|
||||
"name": "导流区",
|
||||
"zoomMin": 16,
|
||||
"zoomMax": 20
|
||||
},
|
||||
"4001": {
|
||||
"table": "OMDB_INTERSECTION",
|
||||
"code": 4001,
|
||||
"name": "路口",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 17,
|
||||
"transformer": [
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "generateIntersectionReference()"
|
||||
}
|
||||
]
|
||||
},
|
||||
"4002": {
|
||||
"table": "OMDB_SPEEDLIMIT",
|
||||
"code": 4002,
|
||||
"name": "常规点限速",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 20,
|
||||
"transformer": [
|
||||
{
|
||||
"k": "maxSpeed",
|
||||
"v": "0",
|
||||
"klib": "maxSpeed",
|
||||
"vlib": "限"
|
||||
},
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "translateRight()"
|
||||
}
|
||||
]
|
||||
},
|
||||
"4003":{
|
||||
"table": "OMDB_SPEEDLIMIT_COND",
|
||||
"code": 4003,
|
||||
"name": "条件点限速",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 20,
|
||||
"transformer": [
|
||||
{
|
||||
"k": "maxSpeed",
|
||||
"v": "0|",
|
||||
"klib": "maxSpeed",
|
||||
"vlib": "限"
|
||||
}
|
||||
]
|
||||
},
|
||||
"4004":{
|
||||
"table": "OMDB_SPEEDLIMIT_VAR",
|
||||
"code": 4004,
|
||||
"name": "可变点限速",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 20,
|
||||
"transformer": [
|
||||
{
|
||||
"k": "location",
|
||||
"v": "1",
|
||||
"klib": "location",
|
||||
"vlib": "左"
|
||||
},
|
||||
{
|
||||
"k": "location",
|
||||
"v": "2",
|
||||
"klib": "locationlib",
|
||||
"vlib": "右"
|
||||
},
|
||||
{
|
||||
"k": "location",
|
||||
"v": "3",
|
||||
"klib": "location",
|
||||
"vlib": "上"
|
||||
}
|
||||
]
|
||||
},
|
||||
"4006":{
|
||||
"table": "OMDB_RESTRICTION",
|
||||
"code": 4006,
|
||||
"name": "普通交限",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 20,
|
||||
"transformer": [
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "checkCircleRoad()"
|
||||
},
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "translateBack()"
|
||||
},
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "translateRight()"
|
||||
},
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "generateS2EReferenceLine()"
|
||||
},
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "generateDirectReferenceLine()"
|
||||
}
|
||||
]
|
||||
},
|
||||
"4010":{
|
||||
"table": "OMDB_ELECTRONICEYE",
|
||||
"code": 4010,
|
||||
"name": "电子眼",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 20,
|
||||
"transformer": [
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "translateRight()"
|
||||
},
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "generateS2EReferenceLine()"
|
||||
},
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "generateDirectReferenceLine(3)"
|
||||
},
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "generateElectronName()"
|
||||
}
|
||||
]
|
||||
},
|
||||
"4022": {
|
||||
"table": "OMDB_TRAFFICLIGHT",
|
||||
"code": 4022,
|
||||
"name": "交通灯",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 20,
|
||||
"transformer": [
|
||||
]
|
||||
},
|
||||
"4601":{
|
||||
"table": "OMDB_LANEINFO",
|
||||
"code": 4601,
|
||||
"name": "车信",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 17,
|
||||
"transformer": [
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "translateRight(direct=3)"
|
||||
},
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "unpackingLaneInfo()"
|
||||
},
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "generateS2EReferenceLine()"
|
||||
}
|
||||
]
|
||||
},
|
||||
"5001":{
|
||||
"table": "OMDB_LANE_LINK_LG",
|
||||
"code": 5001,
|
||||
"name": "车道中心线",
|
||||
"zoomMin": 18,
|
||||
"zoomMax": 20,
|
||||
"transformer": [
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "generateAddWidthLine()"
|
||||
}
|
||||
]
|
||||
},
|
||||
"5002":{
|
||||
"table": "OMDB_AREA",
|
||||
"code": 5002,
|
||||
"name": "面测试"
|
||||
[
|
||||
{
|
||||
"tableGroupName": "普通图层",
|
||||
"tableMap" : {
|
||||
"1012": {
|
||||
"table": "OMDB_CHECKPOINT",
|
||||
"code": 1012,
|
||||
"name": "检查点",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 19
|
||||
},
|
||||
"2001": {
|
||||
"table": "OMDB_RD_LINK",
|
||||
"code": 2001,
|
||||
"name": "道路线",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 17,
|
||||
"checkLinkId": false
|
||||
},
|
||||
"2002": {
|
||||
"table": "OMDB_RD_LINK_FUNCTION_CLASS",
|
||||
"code": 2002,
|
||||
"name": "道路功能等级",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 17
|
||||
},
|
||||
"2008": {
|
||||
"table": "OMDB_RD_LINK_KIND",
|
||||
"code": 2008,
|
||||
"name": "道路种别",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 20,
|
||||
"checkLinkId": false
|
||||
},
|
||||
"2010": {
|
||||
"table": "OMDB_LINK_DIRECT",
|
||||
"code": 2010,
|
||||
"name": "道路方向",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 17,
|
||||
"checkLinkId": false
|
||||
},
|
||||
"2011": {
|
||||
"table": "OMDB_LINK_NAME",
|
||||
"code": 2011,
|
||||
"name": "道路名",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 17,
|
||||
"checkLinkId": false,
|
||||
"transformer": [
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "generateRoadName()"
|
||||
}
|
||||
]
|
||||
},
|
||||
"2013": {
|
||||
"table": "OMDB_LANE_MARK_BOUNDARYTYPE",
|
||||
"code": 2013,
|
||||
"name": "车道边界类型",
|
||||
"zoomMin": 18,
|
||||
"zoomMax": 20,
|
||||
"checkLinkId": false,
|
||||
"transformer": [
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "unpackingLaneBoundary()"
|
||||
}
|
||||
]
|
||||
},
|
||||
"2019": {
|
||||
"table": "OMDB_LINK_SPEEDLIMIT",
|
||||
"code": 2019,
|
||||
"name": "常规线限速",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 17
|
||||
},
|
||||
"2020": {
|
||||
"table": "OMDB_LINK_SPEEDLIMIT_COND",
|
||||
"code": 2020,
|
||||
"name": "条件线限速",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 17
|
||||
},
|
||||
"2021": {
|
||||
"table": "OMDB_LINK_SPEEDLIMIT_VAR",
|
||||
"code": 2021,
|
||||
"name": "可变线限速",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 17
|
||||
},
|
||||
"2041":{
|
||||
"table": "OMDB_LANE_NUM",
|
||||
"code": 2041,
|
||||
"name": "车道数"
|
||||
},
|
||||
"2083":{
|
||||
"table": "OMDB_RDBOUND_BOUNDARYTYPE",
|
||||
"code": 2083,
|
||||
"name": "道路边界类型",
|
||||
"zoomMin": 18,
|
||||
"zoomMax": 20,
|
||||
"checkLinkId": false
|
||||
},
|
||||
"2201":{
|
||||
"table": "OMDB_BRIDGE",
|
||||
"code": 2201,
|
||||
"name": "桥",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 20,
|
||||
"transformer": [
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "generateS2EReferencePoint(bridgeType,OMDB_BRIDGE)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"2202":{
|
||||
"table": "OMDB_TUNNEL",
|
||||
"code": 2202,
|
||||
"name": "隧道",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 20,
|
||||
"transformer2Code": ""
|
||||
},
|
||||
"3012":{
|
||||
"table": "OMDB_FILL_AREA",
|
||||
"code": 3012,
|
||||
"name": "导流区",
|
||||
"zoomMin": 16,
|
||||
"zoomMax": 20
|
||||
},
|
||||
"4001": {
|
||||
"table": "OMDB_INTERSECTION",
|
||||
"code": 4001,
|
||||
"name": "路口",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 17,
|
||||
"transformer": [
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "generateIntersectionReference()"
|
||||
}
|
||||
]
|
||||
},
|
||||
"4002": {
|
||||
"table": "OMDB_SPEEDLIMIT",
|
||||
"code": 4002,
|
||||
"name": "常规点限速",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 20,
|
||||
"transformer": [
|
||||
{
|
||||
"k": "maxSpeed",
|
||||
"v": "0",
|
||||
"klib": "maxSpeed",
|
||||
"vlib": "限"
|
||||
},
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "translateRight()"
|
||||
}
|
||||
]
|
||||
},
|
||||
"4003":{
|
||||
"table": "OMDB_SPEEDLIMIT_COND",
|
||||
"code": 4003,
|
||||
"name": "条件点限速",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 20,
|
||||
"transformer": [
|
||||
{
|
||||
"k": "maxSpeed",
|
||||
"v": "0|",
|
||||
"klib": "maxSpeed",
|
||||
"vlib": "限"
|
||||
}
|
||||
]
|
||||
},
|
||||
"4004":{
|
||||
"table": "OMDB_SPEEDLIMIT_VAR",
|
||||
"code": 4004,
|
||||
"name": "可变点限速",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 20,
|
||||
"transformer": [
|
||||
{
|
||||
"k": "location",
|
||||
"v": "1",
|
||||
"klib": "location",
|
||||
"vlib": "左"
|
||||
},
|
||||
{
|
||||
"k": "location",
|
||||
"v": "2",
|
||||
"klib": "locationlib",
|
||||
"vlib": "右"
|
||||
},
|
||||
{
|
||||
"k": "location",
|
||||
"v": "3",
|
||||
"klib": "location",
|
||||
"vlib": "上"
|
||||
}
|
||||
]
|
||||
},
|
||||
"4006":{
|
||||
"table": "OMDB_RESTRICTION",
|
||||
"code": 4006,
|
||||
"name": "普通交限",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 20,
|
||||
"transformer": [
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "checkCircleRoad()"
|
||||
},
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "translateBack()"
|
||||
},
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "translateRight()"
|
||||
},
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "generateS2EReferenceLine()"
|
||||
},
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "generateDirectReferenceLine()"
|
||||
}
|
||||
]
|
||||
},
|
||||
"4010":{
|
||||
"table": "OMDB_ELECTRONICEYE",
|
||||
"code": 4010,
|
||||
"name": "电子眼",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 20,
|
||||
"transformer": [
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "translateRight()"
|
||||
},
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "generateS2EReferenceLine()"
|
||||
},
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "generateDirectReferenceLine(3)"
|
||||
},
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "generateElectronName()"
|
||||
}
|
||||
]
|
||||
},
|
||||
"4022": {
|
||||
"table": "OMDB_TRAFFICLIGHT",
|
||||
"code": 4022,
|
||||
"name": "交通灯",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 20,
|
||||
"transformer": [
|
||||
]
|
||||
},
|
||||
"4601":{
|
||||
"table": "OMDB_LANEINFO",
|
||||
"code": 4601,
|
||||
"name": "车信",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 17,
|
||||
"transformer": [
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "translateRight(direct=3)"
|
||||
},
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "unpackingLaneInfo()"
|
||||
},
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "generateS2EReferenceLine()"
|
||||
}
|
||||
]
|
||||
},
|
||||
"5001":{
|
||||
"table": "OMDB_LANE_LINK_LG",
|
||||
"code": 5001,
|
||||
"name": "车道中心线",
|
||||
"zoomMin": 18,
|
||||
"zoomMax": 20,
|
||||
"transformer": [
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "generateAddWidthLine()"
|
||||
}
|
||||
]
|
||||
},
|
||||
"5002":{
|
||||
"table": "OMDB_AREA",
|
||||
"code": 5002,
|
||||
"name": "面测试"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"tableGroupName": "道路形态",
|
||||
"tableMap" : {
|
||||
"2004": {
|
||||
"table": "OMDB_LINK_ATTRIBUTE",
|
||||
"code": 2004,
|
||||
"name": "道路属性",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 19,
|
||||
"transformer": [
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "generateRoadText()"
|
||||
}
|
||||
]
|
||||
},
|
||||
"2022": {
|
||||
"table": "OMDB_CON_ACCESS",
|
||||
"code": 2022,
|
||||
"name": "全封闭"
|
||||
},
|
||||
"2037": {
|
||||
"table": "OMDB_RAMP",
|
||||
"code": 2037,
|
||||
"name": "匝道"
|
||||
},
|
||||
"2040": {
|
||||
"table": "OMDB_MULTI_DIGITIZED",
|
||||
"code": 2040,
|
||||
"name": "上下线分离"
|
||||
},
|
||||
"2204":{
|
||||
"table": "OMDB_ROUNDABOUT",
|
||||
"code": 2204,
|
||||
"name": "环岛",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 17,
|
||||
"transformer": [
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "generateS2EReferencePoint()"
|
||||
}
|
||||
]
|
||||
},
|
||||
"2205":{
|
||||
"table": "OMDB_LINK_FORM1",
|
||||
"code": 2205,
|
||||
"name": "道路形态1",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 17
|
||||
},
|
||||
"2206":{
|
||||
"table": "OMDB_LINK_FORM2",
|
||||
"code": 2206,
|
||||
"name": "道路形态2",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 17,
|
||||
"transformer2Code": ""
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
@ -102,7 +102,7 @@ class Constant {
|
||||
const val SELECT_TAKEPHOTO_OR_RECORD = "select_takephoto_or_record"
|
||||
|
||||
const val OMDB_CONFIG = "omdb_config.json"
|
||||
const val OTHER_CONFIG = "other_config.json"
|
||||
// const val OTHER_CONFIG = "other_config.json"
|
||||
|
||||
val OMDB_LAYER_VISIBLE_LIST: MutableList<String> = mutableListOf() // 记录OMDB数据显示的图层名称列表
|
||||
|
||||
|
@ -50,16 +50,23 @@ class ImportOMDBHelper @AssistedInject constructor(
|
||||
private val configFile: File =
|
||||
File("${Constant.USER_DATA_PATH}", Constant.OMDB_CONFIG)
|
||||
|
||||
private val importConfig by lazy {
|
||||
private val importConfigList by lazy {
|
||||
openConfigFile()
|
||||
}
|
||||
|
||||
/**
|
||||
* 读取config的配置文件
|
||||
* */
|
||||
fun openConfigFile(): ImportConfig {
|
||||
fun openConfigFile(): List<ImportConfig> {
|
||||
val resultList = mutableListOf<ImportConfig>()
|
||||
val configStr = configFile.readText()
|
||||
return gson.fromJson(configStr, ImportConfig::class.java)
|
||||
val type = object : TypeToken<List<ImportConfig>>() {}.type
|
||||
return try {
|
||||
val result = gson.fromJson<List<ImportConfig>>(configStr, type)
|
||||
result ?: resultList
|
||||
} catch (e: Exception) {
|
||||
resultList
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -135,262 +142,270 @@ class ImportOMDBHelper @AssistedInject constructor(
|
||||
val unZipFiles = ZipUtils.unzipFile(omdbZipFile, unZipFolder)
|
||||
// 将listResult数据插入到Realm数据库中
|
||||
val realm = Realm.getDefaultInstance()
|
||||
// 先获取当前配置的所有图层的个数,方便后续计算数据解析进度
|
||||
var tableNum = 0
|
||||
for (importConfig in importConfigList) {
|
||||
tableNum += importConfig.tableMap.size
|
||||
}
|
||||
|
||||
realm.beginTransaction()
|
||||
try {
|
||||
// 遍历解压后的文件,读取该数据返回
|
||||
for ((index, currentEntry) in importConfig.tableMap.entries.withIndex()) {
|
||||
val currentConfig = currentEntry.value
|
||||
val txtFile = unZipFiles.find {
|
||||
it.name == currentConfig.table
|
||||
}
|
||||
for (importConfig in importConfigList) {
|
||||
for ((index, currentEntry) in importConfig.tableMap.entries.withIndex()) {
|
||||
val currentConfig = currentEntry.value
|
||||
val txtFile = unZipFiles.find {
|
||||
it.name == currentConfig.table
|
||||
}
|
||||
|
||||
val listResult = mutableListOf<RenderEntity>()
|
||||
currentConfig?.let {
|
||||
val list = FileIOUtils.readFile2List(txtFile, "UTF-8")
|
||||
Log.d("ImportOMDBHelper", "开始解析:${txtFile?.name}")
|
||||
if (list != null) {
|
||||
// 将list数据转换为map
|
||||
for ((index, line) in list.withIndex()) {
|
||||
if (line == null || line.trim() == "") {
|
||||
continue
|
||||
}
|
||||
Log.d("ImportOMDBHelper", "解析第:${index+1}行")
|
||||
val map = gson.fromJson<Map<String, Any>>(line, object:TypeToken<Map<String, Any>>(){}.getType())
|
||||
.toMutableMap()
|
||||
map["qi_table"] = currentConfig.table
|
||||
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_zoomMax"] = currentConfig.zoomMax
|
||||
|
||||
// 先查询这个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()
|
||||
renderEntity.name = map["qi_name"].toString()
|
||||
renderEntity.table = map["qi_table"].toString()
|
||||
renderEntity.taskId = task.id
|
||||
renderEntity.zoomMin = map["qi_zoomMin"].toString().toInt()
|
||||
renderEntity.zoomMax = map["qi_zoomMax"].toString().toInt()
|
||||
|
||||
// 其他数据插入到Properties中
|
||||
renderEntity.geometry = map["geometry"].toString()
|
||||
for ((key, value) in map) {
|
||||
when (value) {
|
||||
is String -> renderEntity.properties.put(key, value)
|
||||
is Int -> renderEntity.properties.put(
|
||||
key,
|
||||
value.toInt().toString()
|
||||
)
|
||||
is Double -> renderEntity.properties.put(
|
||||
key,
|
||||
value.toDouble().toString()
|
||||
)
|
||||
else -> renderEntity.properties.put(key, value.toString())
|
||||
val listResult = mutableListOf<RenderEntity>()
|
||||
currentConfig?.let {
|
||||
val list = FileIOUtils.readFile2List(txtFile, "UTF-8")
|
||||
Log.d("ImportOMDBHelper", "开始解析:${txtFile?.name}")
|
||||
if (list != null) {
|
||||
// 将list数据转换为map
|
||||
for ((index, line) in list.withIndex()) {
|
||||
if (line == null || line.trim() == "") {
|
||||
continue
|
||||
}
|
||||
}
|
||||
Log.d("ImportOMDBHelper", "解析第:${index+1}行")
|
||||
val map = gson.fromJson<Map<String, Any>>(line, object:TypeToken<Map<String, Any>>(){}.getType())
|
||||
.toMutableMap()
|
||||
map["qi_table"] = currentConfig.table
|
||||
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_zoomMax"] = currentConfig.zoomMax
|
||||
|
||||
// 如果properties中不包含name,那么自动将要素名称添加进properties中
|
||||
if (!renderEntity.properties.containsKey("name")) {
|
||||
renderEntity.properties["name"] = renderEntity.name;
|
||||
}
|
||||
//遍历判断只显示与任务Link相关的任务数据
|
||||
if(currentConfig.checkLinkId){
|
||||
// 先查询这个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()
|
||||
renderEntity.name = map["qi_name"].toString()
|
||||
renderEntity.table = map["qi_table"].toString()
|
||||
renderEntity.taskId = task.id
|
||||
renderEntity.zoomMin = map["qi_zoomMin"].toString().toInt()
|
||||
renderEntity.zoomMax = map["qi_zoomMax"].toString().toInt()
|
||||
|
||||
if(renderEntity.properties.containsKey("linkPid")){
|
||||
|
||||
var currentLinkPid = renderEntity.properties["linkPid"]
|
||||
|
||||
if(!currentLinkPid.isNullOrEmpty()&¤tLinkPid!="null"){
|
||||
|
||||
task.hadLinkDvoList.forEach{
|
||||
if(it.linkPid==renderEntity.properties["linkPid"]){
|
||||
renderEntity.enable = 1
|
||||
Log.e("qj","${renderEntity.name}==包括任务link")
|
||||
return@forEach
|
||||
}
|
||||
}
|
||||
// 其他数据插入到Properties中
|
||||
renderEntity.geometry = map["geometry"].toString()
|
||||
for ((key, value) in map) {
|
||||
when (value) {
|
||||
is String -> renderEntity.properties.put(key, value)
|
||||
is Int -> renderEntity.properties.put(
|
||||
key,
|
||||
value.toInt().toString()
|
||||
)
|
||||
is Double -> renderEntity.properties.put(
|
||||
key,
|
||||
value.toDouble().toString()
|
||||
)
|
||||
else -> renderEntity.properties.put(key, value.toString())
|
||||
}
|
||||
}
|
||||
|
||||
}else if(renderEntity.code == DataCodeEnum.OMDB_RESTRICTION.code && renderEntity.properties.containsKey("linkIn")){
|
||||
// 如果properties中不包含name,那么自动将要素名称添加进properties中
|
||||
if (!renderEntity.properties.containsKey("name")) {
|
||||
renderEntity.properties["name"] = renderEntity.name;
|
||||
}
|
||||
//遍历判断只显示与任务Link相关的任务数据
|
||||
if(currentConfig.checkLinkId){
|
||||
|
||||
if (renderEntity.properties["linkIn"] != null) {
|
||||
if(renderEntity.properties.containsKey("linkPid")){
|
||||
|
||||
var currentLinkPid = renderEntity.properties["linkIn"]
|
||||
var currentLinkPid = renderEntity.properties["linkPid"]
|
||||
|
||||
if(!currentLinkPid.isNullOrEmpty()&¤tLinkPid!="null"){
|
||||
|
||||
task.hadLinkDvoList.forEach{
|
||||
if(it.linkPid==currentLinkPid){
|
||||
if(it.linkPid==renderEntity.properties["linkPid"]){
|
||||
renderEntity.enable = 1
|
||||
Log.e("qj","${renderEntity.name}==包括任务link")
|
||||
return@forEach
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}else if(renderEntity.code == DataCodeEnum.OMDB_INTERSECTION.code && renderEntity.properties.containsKey("linkList")){
|
||||
|
||||
if (renderEntity.properties["linkList"] != null) {
|
||||
}else if(renderEntity.code == DataCodeEnum.OMDB_RESTRICTION.code && renderEntity.properties.containsKey("linkIn")){
|
||||
|
||||
Log.e("qj", "linkList==开始${renderEntity.name}==${renderEntity.properties["linkList"]}}")
|
||||
if (renderEntity.properties["linkIn"] != null) {
|
||||
|
||||
val linkList = renderEntity.properties["linkList"]
|
||||
var currentLinkPid = renderEntity.properties["linkIn"]
|
||||
|
||||
if (!linkList.isNullOrEmpty()&&linkList!="null") {
|
||||
if(!currentLinkPid.isNullOrEmpty()&¤tLinkPid!="null"){
|
||||
|
||||
Log.e("qj", "linkList==${renderEntity.name}==${renderEntity.properties["linkList"]}}")
|
||||
|
||||
val list: List<LinkList> = gson.fromJson(linkList, object : TypeToken<List<LinkList>>() {}.type)
|
||||
|
||||
if (list != null) {
|
||||
m@for (link in list){
|
||||
for(hadLink in task.hadLinkDvoList){
|
||||
if (hadLink.linkPid == link.linkPid) {
|
||||
renderEntity.enable = 1
|
||||
Log.e("qj", "${renderEntity.name}==包括任务link==${renderEntity.geometry}")
|
||||
break@m
|
||||
}
|
||||
task.hadLinkDvoList.forEach{
|
||||
if(it.linkPid==currentLinkPid){
|
||||
renderEntity.enable = 1
|
||||
Log.e("qj","${renderEntity.name}==包括任务link")
|
||||
return@forEach
|
||||
}
|
||||
}
|
||||
}
|
||||
}else{
|
||||
renderEntity.enable = 2
|
||||
Log.e("qj", "简单路口")
|
||||
}
|
||||
}else if(renderEntity.code == DataCodeEnum.OMDB_INTERSECTION.code && renderEntity.properties.containsKey("linkList")){
|
||||
|
||||
if (renderEntity.properties["linkList"] != null) {
|
||||
|
||||
Log.e("qj", "linkList==开始${renderEntity.name}==${renderEntity.properties["linkList"]}}")
|
||||
|
||||
val linkList = renderEntity.properties["linkList"]
|
||||
|
||||
if (!linkList.isNullOrEmpty()&&linkList!="null") {
|
||||
|
||||
Log.e("qj", "linkList==${renderEntity.name}==${renderEntity.properties["linkList"]}}")
|
||||
|
||||
val list: List<LinkList> = gson.fromJson(linkList, object : TypeToken<List<LinkList>>() {}.type)
|
||||
|
||||
if (list != null) {
|
||||
m@for (link in list){
|
||||
for(hadLink in task.hadLinkDvoList){
|
||||
if (hadLink.linkPid == link.linkPid) {
|
||||
renderEntity.enable = 1
|
||||
Log.e("qj", "${renderEntity.name}==包括任务link==${renderEntity.geometry}")
|
||||
break@m
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}else{
|
||||
renderEntity.enable = 2
|
||||
Log.e("qj", "简单路口")
|
||||
}
|
||||
}
|
||||
}else{
|
||||
renderEntity.enable = 2
|
||||
Log.e("qj","${renderEntity.name}==不包括任务linkPid")
|
||||
}
|
||||
}else{
|
||||
renderEntity.enable = 2
|
||||
Log.e("qj","${renderEntity.name}==不包括任务linkPid")
|
||||
}
|
||||
}else{
|
||||
renderEntity.enable = 2
|
||||
Log.e("qj","${renderEntity.name}==不包括任务linkPid")
|
||||
}
|
||||
|
||||
|
||||
// 对renderEntity做预处理后再保存
|
||||
val resultEntity = importConfig.transformProperties(renderEntity)
|
||||
// 对renderEntity做预处理后再保存
|
||||
val resultEntity = importConfig.transformProperties(renderEntity)
|
||||
|
||||
//对code编码需要特殊处理 存在多个属性值时,渲染优先级:SA>PA,存在多个属性值时,渲染优先级:FRONTAGE>MAIN_SIDE_A CCESS
|
||||
if(renderEntity.code == DataCodeEnum.OMDB_LINK_ATTRIBUTE.code){
|
||||
//对code编码需要特殊处理 存在多个属性值时,渲染优先级:SA>PA,存在多个属性值时,渲染优先级:FRONTAGE>MAIN_SIDE_A CCESS
|
||||
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"){
|
||||
renderEntity.code = DataCodeEnum.OMDB_LINK_ATTRIBUTE_SA.code
|
||||
Log.e("qj","道路属性===1")
|
||||
}else{
|
||||
type = renderEntity.properties["pa"]
|
||||
if(type!=null&&type=="1"){
|
||||
renderEntity.code = DataCodeEnum.OMDB_LINK_ATTRIBUTE_PA.code
|
||||
Log.e("qj","道路属性===2")
|
||||
} else{
|
||||
type = renderEntity.properties["frontage"]
|
||||
renderEntity.code = DataCodeEnum.OMDB_LINK_ATTRIBUTE_SA.code
|
||||
Log.e("qj","道路属性===1")
|
||||
}else{
|
||||
type = renderEntity.properties["pa"]
|
||||
if(type!=null&&type=="1"){
|
||||
renderEntity.code = DataCodeEnum.OMDB_LINK_ATTRIBUTE_FORNTAGE.code
|
||||
Log.e("qj","道路属性===3")
|
||||
}else{
|
||||
type = renderEntity.properties["mainSideAccess"]
|
||||
renderEntity.code = DataCodeEnum.OMDB_LINK_ATTRIBUTE_PA.code
|
||||
Log.e("qj","道路属性===2")
|
||||
} else{
|
||||
type = renderEntity.properties["frontage"]
|
||||
if(type!=null&&type=="1"){
|
||||
renderEntity.code = DataCodeEnum.OMDB_LINK_ATTRIBUTE_MAIN_SIDE_ACCESS.code
|
||||
Log.e("qj","道路属性===4")
|
||||
renderEntity.code = DataCodeEnum.OMDB_LINK_ATTRIBUTE_FORNTAGE.code
|
||||
Log.e("qj","道路属性===3")
|
||||
}else{
|
||||
type = renderEntity.properties["mainSideAccess"]
|
||||
if(type!=null&&type=="1"){
|
||||
renderEntity.code = DataCodeEnum.OMDB_LINK_ATTRIBUTE_MAIN_SIDE_ACCESS.code
|
||||
Log.e("qj","道路属性===4")
|
||||
}else{
|
||||
renderEntity.enable=0
|
||||
Log.e("qj","过滤不显示数据${renderEntity.table}")
|
||||
Log.e("qj","道路属性===5")
|
||||
continue
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}else if(renderEntity.code == DataCodeEnum.OMDB_RAMP.code){
|
||||
/*匝道*/
|
||||
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.code == DataCodeEnum.OMDB_LINK_FORM1.code){
|
||||
/*道路形态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.code == DataCodeEnum.OMDB_LINK_FORM2.code){
|
||||
/*道路形态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
|
||||
}
|
||||
}
|
||||
}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}")
|
||||
Log.e("qj","道路属性===5")
|
||||
continue
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}else if(renderEntity.code == DataCodeEnum.OMDB_RAMP.code){
|
||||
/*匝道*/
|
||||
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.code == DataCodeEnum.OMDB_LINK_FORM1.code){
|
||||
/*道路形态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.code == DataCodeEnum.OMDB_LINK_FORM2.code){
|
||||
/*道路形态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
|
||||
}
|
||||
}
|
||||
}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)
|
||||
listResult.add(renderEntity)
|
||||
|
||||
if (resultEntity != null) {
|
||||
realm.insert(renderEntity)
|
||||
if (resultEntity != null) {
|
||||
realm.insert(renderEntity)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// 1个文件发送一次flow流
|
||||
emit("${index + 1}/${importConfig.tableMap.size}")
|
||||
// 如果当前解析的是OMDB_RD_LINK数据,将其缓存在预处理类中,以便后续处理其他要素时使用
|
||||
if (currentConfig.table == "OMDB_RD_LINK") {
|
||||
importConfig.preProcess.cacheRdLink =
|
||||
listResult.associateBy { it.properties["linkPid"] }
|
||||
// 1个文件发送一次flow流
|
||||
emit("${index + 1}/${tableNum}")
|
||||
// 如果当前解析的是OMDB_RD_LINK数据,将其缓存在预处理类中,以便后续处理其他要素时使用
|
||||
if (currentConfig.table == "OMDB_RD_LINK") {
|
||||
importConfig.preProcess.cacheRdLink =
|
||||
listResult.associateBy { it.properties["linkPid"] }
|
||||
}
|
||||
}
|
||||
}
|
||||
realm.commitTransaction()
|
||||
|
@ -6,12 +6,12 @@ import com.google.gson.Gson
|
||||
import com.google.gson.reflect.TypeToken
|
||||
import com.navinfo.omqs.Constant
|
||||
import com.navinfo.omqs.bean.ImportConfig
|
||||
import com.navinfo.omqs.tools.LayerConfigUtils.Companion.gson
|
||||
import java.io.File
|
||||
|
||||
class LayerConfigUtils {
|
||||
companion object {
|
||||
private val omdbConfigFile = File("${Constant.USER_DATA_PATH}", Constant.OMDB_CONFIG)
|
||||
private val otherConfigFile = File("${Constant.USER_DATA_PATH}", Constant.OTHER_CONFIG)
|
||||
private val gson = Gson()
|
||||
|
||||
fun getLayerConfigList(): List<ImportConfig> {
|
||||
@ -20,29 +20,19 @@ class LayerConfigUtils {
|
||||
Constant.LAYER_CONFIG_LIST = getLayerConfigListFromAssetsFile()
|
||||
}
|
||||
return Constant.LAYER_CONFIG_LIST!!
|
||||
// return SPStaticUtils.getString(Constant.EVENT_LAYER_MANAGER_CHANGE, null).let {
|
||||
// if (it != null) {
|
||||
// val result: List<ImportConfig> =
|
||||
// gson.fromJson(it, object : TypeToken<List<ImportConfig>>() {}.type)
|
||||
// result
|
||||
// } else {
|
||||
// LayerConfigUtils.getLayerConfigListFromAssetsFile()
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
private fun getLayerConfigListFromAssetsFile(): List<ImportConfig> {
|
||||
val resultList = mutableListOf<ImportConfig>()
|
||||
if (omdbConfigFile.exists()) {
|
||||
val omdbConfiStr = FileIOUtils.readFile2String(omdbConfigFile)
|
||||
val omdbConfig = gson.fromJson<ImportConfig>(omdbConfiStr, ImportConfig::class.java)
|
||||
resultList.add(omdbConfig)
|
||||
}
|
||||
if (otherConfigFile.exists()) {
|
||||
val otherConfiStr = FileIOUtils.readFile2String(otherConfigFile)
|
||||
val otherConfig =
|
||||
gson.fromJson<ImportConfig>(otherConfiStr, ImportConfig::class.java)
|
||||
resultList.add(otherConfig)
|
||||
val type = object : TypeToken<List<ImportConfig>>() {}.type
|
||||
return try {
|
||||
val result = gson.fromJson<List<ImportConfig>>(omdbConfiStr, type)
|
||||
result ?: resultList
|
||||
} catch (e: Exception) {
|
||||
resultList
|
||||
}
|
||||
}
|
||||
return resultList
|
||||
}
|
||||
|
@ -742,15 +742,16 @@ class MainViewModel @Inject constructor(
|
||||
fun refreshOMDBLayer(layerConfigList: List<ImportConfig>) {
|
||||
// 根据获取到的配置信息,筛选未勾选的图层名称
|
||||
if (layerConfigList != null && !layerConfigList.isEmpty()) {
|
||||
val omdbVisibleList = layerConfigList.filter { importConfig ->
|
||||
importConfig.tableGroupName == "OMDB数据"
|
||||
}.first().tableMap.filter { entry ->
|
||||
val tableInfo = entry.value
|
||||
!tableInfo.checked
|
||||
}.map { entry ->
|
||||
val tableInfo = entry.value
|
||||
tableInfo.table
|
||||
}.toList()
|
||||
val omdbVisibleList = mutableListOf<String>()
|
||||
layerConfigList.forEach {
|
||||
omdbVisibleList.addAll(it.tableMap.filter { entry ->
|
||||
val tableInfo = entry.value
|
||||
!tableInfo.checked
|
||||
}.map { entry ->
|
||||
val tableInfo = entry.value
|
||||
tableInfo.table
|
||||
}.toList())
|
||||
}
|
||||
com.navinfo.collect.library.system.Constant.HAD_LAYER_INVISIABLE_ARRAY =
|
||||
omdbVisibleList.toTypedArray()
|
||||
// 刷新地图
|
||||
|
@ -2277,7 +2277,7 @@
|
||||
|
||||
<!-- 导流区 -->
|
||||
<m v="OMDB_FILL_AREA">
|
||||
<area use="obj-area" repeat="false" src="assets:omdb/tex_fill_area_with_text_3012.png"></area>
|
||||
<area use="obj-area" repeat="false" src="assets:omdb/tex_fill_area_3012.png"></area>
|
||||
<text use="area-name"></text>
|
||||
</m>
|
||||
</m>
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.6 KiB |
Loading…
x
Reference in New Issue
Block a user