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