1887 lines
90 KiB
JSON
1887 lines
90 KiB
JSON
[
|
|
{
|
|
"id": "1a4b40705122dc91",
|
|
"type": "tab",
|
|
"label": "ETL",
|
|
"disabled": false,
|
|
"info": "",
|
|
"env": []
|
|
},
|
|
{
|
|
"id": "a796bfad8ab76fe4",
|
|
"type": "tab",
|
|
"label": "Cartociudad",
|
|
"disabled": false,
|
|
"info": "",
|
|
"env": []
|
|
},
|
|
{
|
|
"id": "a3043505f409dd12",
|
|
"type": "group",
|
|
"z": "1a4b40705122dc91",
|
|
"name": "ETL - Exportación",
|
|
"style": {
|
|
"stroke": "#000000",
|
|
"fill": "#ffffbf",
|
|
"label": true,
|
|
"label-position": "n",
|
|
"color": "#000000"
|
|
},
|
|
"nodes": [
|
|
"da1a19e474be7c21",
|
|
"5750be6f324be5da",
|
|
"40b5904a3022e5eb",
|
|
"4ef62ad77f7d4652",
|
|
"2a46f606e21ec6b3",
|
|
"08e53863f9d0559f",
|
|
"6eb9b5543808fedb"
|
|
],
|
|
"x": 14,
|
|
"y": 19,
|
|
"w": 892,
|
|
"h": 202
|
|
},
|
|
{
|
|
"id": "db09bd514ed7c061",
|
|
"type": "MSSQL-CN",
|
|
"tdsVersion": "7_3_B",
|
|
"name": "Gruassql",
|
|
"server": "10.5.14.245",
|
|
"port": "1433",
|
|
"encyption": false,
|
|
"trustServerCertificate": true,
|
|
"database": "madrid_movilidad",
|
|
"useUTC": true,
|
|
"connectTimeout": "15000",
|
|
"requestTimeout": "15000",
|
|
"cancelTimeout": "5000",
|
|
"pool": "5",
|
|
"parseJSON": false,
|
|
"enableArithAbort": true,
|
|
"readOnlyIntent": false
|
|
},
|
|
{
|
|
"id": "748b5921246ec468",
|
|
"type": "postgreSQLConfig",
|
|
"name": "PostGIS",
|
|
"host": "10.10.5.32",
|
|
"hostFieldType": "str",
|
|
"port": 5432,
|
|
"portFieldType": "num",
|
|
"database": "postgres",
|
|
"databaseFieldType": "str",
|
|
"ssl": "false",
|
|
"sslFieldType": "bool",
|
|
"applicationName": "",
|
|
"applicationNameType": "str",
|
|
"max": "500",
|
|
"maxFieldType": "num",
|
|
"idle": "10000",
|
|
"idleFieldType": "num",
|
|
"connectionTimeout": "30000",
|
|
"connectionTimeoutFieldType": "num",
|
|
"user": "postgres",
|
|
"userFieldType": "str",
|
|
"password": "tfmuocdfcarvajal",
|
|
"passwordFieldType": "str"
|
|
},
|
|
{
|
|
"id": "648a51546e4dadc6",
|
|
"type": "mongodb4-client",
|
|
"name": "mongodb",
|
|
"protocol": "mongodb",
|
|
"hostname": "10.10.5.33",
|
|
"port": "27017",
|
|
"dbName": "Volcado",
|
|
"appName": "",
|
|
"authSource": "",
|
|
"authMechanism": "DEFAULT",
|
|
"tls": false,
|
|
"tlsCAFile": "",
|
|
"tlsCertificateKeyFile": "",
|
|
"tlsInsecure": false,
|
|
"connectTimeoutMS": "30000",
|
|
"socketTimeoutMS": "0",
|
|
"minPoolSize": "0",
|
|
"maxPoolSize": "100",
|
|
"maxIdleTimeMS": "0",
|
|
"uri": "",
|
|
"advanced": "{}",
|
|
"uriTabActive": "tab-uri-simple"
|
|
},
|
|
{
|
|
"id": "da1a19e474be7c21",
|
|
"type": "MSSQL",
|
|
"z": "1a4b40705122dc91",
|
|
"g": "a3043505f409dd12",
|
|
"mssqlCN": "db09bd514ed7c061",
|
|
"name": "GruasSQL - Query Servicios",
|
|
"outField": "payload",
|
|
"returnType": 0,
|
|
"throwErrors": 1,
|
|
"query": "",
|
|
"modeOpt": "queryMode",
|
|
"modeOptType": "query",
|
|
"queryOpt": "query",
|
|
"queryOptType": "msg",
|
|
"paramsOpt": "",
|
|
"paramsOptType": "none",
|
|
"rows": "rows",
|
|
"rowsType": "msg",
|
|
"parseMustache": true,
|
|
"params": [],
|
|
"x": 700,
|
|
"y": 120,
|
|
"wires": [
|
|
[
|
|
"6eb9b5543808fedb"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "5750be6f324be5da",
|
|
"type": "function",
|
|
"z": "1a4b40705122dc91",
|
|
"g": "a3043505f409dd12",
|
|
"name": "Query para la exportación de datos de SQL",
|
|
"func": "msg.query =`\nSELECT \n s.id AS id_servicio,\n s.id_vehiculo,\n v.matricula,\n v.fecha_entrada,\n s.fecha AS fecha_servicio,\n g.codigo_grua,\n ts.nombre AS TipoServicio,\n s.id_ubicacion_origen,\n altechs.latitud,\n altechs.longitud,\n altechs.calleRetirada_descripcion AS altech_calleRetirada_descripcion,\n altechs.calleRetirada_numero AS altech_calleRetirada_numero,\n s.id_calle_retirada,\n s.numero_retirada,\n via1.tipo AS TipoVia1,\n cp1.nombre AS Calle1,\n poblac1.poblacion AS Poblacion1,\n cp1.cp as cp1,\n via2.tipo AS TipoVia2,\n cp2.nombre AS Calle2,\n poblac2.poblacion AS Poblacion2,\n cp2.cp as cp2\nFROM Vista_UnionServicios s\nLEFT JOIN Vista_UnionVehiculos v ON v.id = s.id_vehiculo\nLEFT JOIN AltechAltaServicio altechs ON altechs.idVehiculo = s.id_vehiculo\nLEFT JOIN TC_Tipos_Servicio ts ON ts.id = s.id_tipo\nLEFT JOIN TC_Gruas g ON g.id_grua = s.id_grua\nLEFT JOIN CodPostal cp1 ON s.id_calle_retirada = cp1.id\nLEFT JOIN CodPostal_t cp2 ON s.id_calle_retirada2 = cp2.id\nLEFT JOIN codvia via1 ON via1.id = cp1.id_tipovia\nLEFT JOIN codvia via2 ON via2.id = cp2.id_tipo_v\nLEFT JOIN codpob poblac1 ON poblac1.id = cp1.id_pobl\nLEFT JOIN codpob_t poblac2 ON poblac2.id = cp2.id_pobl\nWHERE YEAR(s.fecha) = ${msg.payload}\nORDER BY s.fecha\n`;\n\nreturn msg;",
|
|
"outputs": 1,
|
|
"timeout": 0,
|
|
"noerr": 0,
|
|
"initialize": "",
|
|
"finalize": "",
|
|
"libs": [],
|
|
"x": 390,
|
|
"y": 120,
|
|
"wires": [
|
|
[
|
|
"da1a19e474be7c21"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "d647c9286ddb06ce",
|
|
"type": "function",
|
|
"z": "1a4b40705122dc91",
|
|
"name": "Primer filtrado de valores y guarda en disco",
|
|
"func": "const servicios_fecha = \"servicios_\" + msg.payload;\nflow.set(servicios_fecha, msg.result, \"file\");\nreturn msg;",
|
|
"outputs": 1,
|
|
"timeout": 0,
|
|
"noerr": 0,
|
|
"initialize": "",
|
|
"finalize": "",
|
|
"libs": [],
|
|
"x": 430,
|
|
"y": 880,
|
|
"wires": [
|
|
[
|
|
"535b18bcfc71f9cd"
|
|
]
|
|
],
|
|
"info": "Sin limitación - 33095\r\nPosicion no nula - 31943"
|
|
},
|
|
{
|
|
"id": "40b5904a3022e5eb",
|
|
"type": "function",
|
|
"z": "1a4b40705122dc91",
|
|
"g": "a3043505f409dd12",
|
|
"name": "2005 - 2025",
|
|
"func": "const start = 2005;\nconst end = 2025;\n\nfor (let year = start; year <= end; year++) {\n setTimeout(() => {\n node.send({ payload: year });\n }, (year - start) * 10000);\n};\n\n// No devolvemos msg porque los mensajes ya se envían con setTimeout\nreturn null;",
|
|
"outputs": 1,
|
|
"timeout": 0,
|
|
"noerr": 0,
|
|
"initialize": "",
|
|
"finalize": "",
|
|
"libs": [],
|
|
"x": 130,
|
|
"y": 120,
|
|
"wires": [
|
|
[
|
|
"5750be6f324be5da"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "4ef62ad77f7d4652",
|
|
"type": "inject",
|
|
"z": "1a4b40705122dc91",
|
|
"g": "a3043505f409dd12",
|
|
"name": "Activación - Exportación de los datos de SQL",
|
|
"props": [
|
|
{
|
|
"p": "payload"
|
|
},
|
|
{
|
|
"p": "topic",
|
|
"vt": "str"
|
|
}
|
|
],
|
|
"repeat": "",
|
|
"crontab": "",
|
|
"once": false,
|
|
"onceDelay": 0.1,
|
|
"topic": "",
|
|
"payload": "",
|
|
"payloadType": "date",
|
|
"x": 230,
|
|
"y": 60,
|
|
"wires": [
|
|
[
|
|
"40b5904a3022e5eb"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "101adc2199c9c4ef",
|
|
"type": "function",
|
|
"z": "1a4b40705122dc91",
|
|
"name": "Filtrado",
|
|
"func": "// Filtrar el array para eliminar elementos donde Calle2 sea \"SIN DETERMINAR\"\nif (Array.isArray(msg.result)) {\n msg.result = msg.result.filter(item => item.Calle2 !== \"SIN DETERMINAR\"\n && item.Calle2 !== \"SIN CALLE\"\n && item.Calle2 !== \"MEDIODIA 2\"\n && item.Calle2 !== \"COMISARIA SAN BLAS - VICALVARO\"\n && item.Calle2 !== \"PASEO IMPERIAL\"\n && item.Calle2 !== \"No Codificada\"\n && item.Calle2 !== \"COMISARIA HORTALEZA\"\n && item.Calle2 !== \"CENTRO\"\n && item.Calle2 !== \"MEDIODIA 3\"\n && item.Calle2 !== \"MEDIODIA 3\"\n && item.Calle2 !== \"COLON\"\n && item.Calle2 !== \"BARCELO\"\n && item.Calle2 !== \"EL RECUERDO\"\n && item.Calle2 !== null);\n} else {\n // Si no es un array, mantener el result original\n node.warn(\"El result no es un array, no se puede filtrar\");\n}\n\nreturn msg;",
|
|
"outputs": 1,
|
|
"timeout": 0,
|
|
"noerr": 0,
|
|
"initialize": "",
|
|
"finalize": "",
|
|
"libs": [],
|
|
"x": 160,
|
|
"y": 880,
|
|
"wires": [
|
|
[
|
|
"d647c9286ddb06ce"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "9a78cfa134973f38",
|
|
"type": "inject",
|
|
"z": "1a4b40705122dc91",
|
|
"name": "Recuperamos Servicios",
|
|
"props": [
|
|
{
|
|
"p": "payload"
|
|
}
|
|
],
|
|
"repeat": "",
|
|
"crontab": "",
|
|
"once": false,
|
|
"onceDelay": 0.1,
|
|
"topic": "",
|
|
"payload": "",
|
|
"payloadType": "date",
|
|
"x": 200,
|
|
"y": 940,
|
|
"wires": [
|
|
[
|
|
"a5d5ef751185e3e9"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "3acef3e43d0415d4",
|
|
"type": "function",
|
|
"z": "1a4b40705122dc91",
|
|
"name": "Recuperar servicios y calcular número por año",
|
|
"func": "// Recuperar en contexto persistente\nconst servicios_fecha = \"servicios_\" + msg.payload;\nmsg.servicios = flow.get(servicios_fecha, \"file\");\nmsg.resultado = {}\nmsg.resultado.fecha = msg.payload\nmsg.resultado.servicios = msg.servicios.length;\n\nreturn msg",
|
|
"outputs": 1,
|
|
"timeout": 0,
|
|
"noerr": 0,
|
|
"initialize": "",
|
|
"finalize": "",
|
|
"libs": [],
|
|
"x": 300,
|
|
"y": 1000,
|
|
"wires": [
|
|
[
|
|
"495d54abe840ccc9"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "a5d5ef751185e3e9",
|
|
"type": "function",
|
|
"z": "1a4b40705122dc91",
|
|
"name": "2005 - 2025",
|
|
"func": "const start = 2005;\nconst end = 2025;\n\nfor (let year = start; year <= end; year++) {\n setTimeout(() => {\n node.send({ payload: year });\n }, (year - start) * 2000);\n};\n\n// No devolvemos msg porque los mensajes ya se envían con setTimeout\nreturn null;",
|
|
"outputs": 1,
|
|
"timeout": 0,
|
|
"noerr": 0,
|
|
"initialize": "",
|
|
"finalize": "",
|
|
"libs": [],
|
|
"x": 390,
|
|
"y": 940,
|
|
"wires": [
|
|
[
|
|
"3acef3e43d0415d4"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "495d54abe840ccc9",
|
|
"type": "debug",
|
|
"z": "1a4b40705122dc91",
|
|
"name": "Primer cálculo de valores",
|
|
"active": true,
|
|
"tosidebar": true,
|
|
"console": false,
|
|
"tostatus": false,
|
|
"complete": "resultado",
|
|
"targetType": "msg",
|
|
"statusVal": "",
|
|
"statusType": "auto",
|
|
"x": 610,
|
|
"y": 1000,
|
|
"wires": []
|
|
},
|
|
{
|
|
"id": "535b18bcfc71f9cd",
|
|
"type": "debug",
|
|
"z": "1a4b40705122dc91",
|
|
"name": "debug 3",
|
|
"active": true,
|
|
"tosidebar": true,
|
|
"console": false,
|
|
"tostatus": false,
|
|
"complete": "payload",
|
|
"targetType": "msg",
|
|
"statusVal": "",
|
|
"statusType": "auto",
|
|
"x": 680,
|
|
"y": 880,
|
|
"wires": []
|
|
},
|
|
{
|
|
"id": "2a46f606e21ec6b3",
|
|
"type": "debug",
|
|
"z": "1a4b40705122dc91",
|
|
"g": "a3043505f409dd12",
|
|
"name": "Debug inserción Mongo",
|
|
"active": true,
|
|
"tosidebar": true,
|
|
"console": false,
|
|
"tostatus": false,
|
|
"complete": "payload",
|
|
"targetType": "msg",
|
|
"statusVal": "",
|
|
"statusType": "auto",
|
|
"x": 750,
|
|
"y": 180,
|
|
"wires": []
|
|
},
|
|
{
|
|
"id": "08e53863f9d0559f",
|
|
"type": "mongodb4",
|
|
"z": "1a4b40705122dc91",
|
|
"g": "a3043505f409dd12",
|
|
"clientNode": "648a51546e4dadc6",
|
|
"mode": "collection",
|
|
"collection": "",
|
|
"operation": "",
|
|
"output": "toArray",
|
|
"maxTimeMS": "0",
|
|
"handleDocId": false,
|
|
"name": "Importación Mongo",
|
|
"x": 530,
|
|
"y": 180,
|
|
"wires": [
|
|
[
|
|
"2a46f606e21ec6b3"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "6eb9b5543808fedb",
|
|
"type": "function",
|
|
"z": "1a4b40705122dc91",
|
|
"g": "a3043505f409dd12",
|
|
"name": "Añadimos valores para la importación a mongo",
|
|
"func": "let msg_new = {};\nmsg_new.payload = [msg.payload];\nmsg_new.collection = \"servicios_sin_filtrar\";\nmsg_new.operation = \"insertMany\";\n\nreturn msg_new;",
|
|
"outputs": 1,
|
|
"timeout": 0,
|
|
"noerr": 0,
|
|
"initialize": "",
|
|
"finalize": "",
|
|
"libs": [],
|
|
"x": 240,
|
|
"y": 180,
|
|
"wires": [
|
|
[
|
|
"08e53863f9d0559f"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "acae736839e9942c",
|
|
"type": "postgresql",
|
|
"z": "1a4b40705122dc91",
|
|
"name": "",
|
|
"query": "SELECT * FROM ;",
|
|
"postgreSQLConfig": "748b5921246ec468",
|
|
"split": false,
|
|
"rowsPerMsg": 1,
|
|
"outputs": 1,
|
|
"x": 770,
|
|
"y": 940,
|
|
"wires": [
|
|
[]
|
|
]
|
|
},
|
|
{
|
|
"id": "683191909606de5f",
|
|
"type": "inject",
|
|
"z": "1a4b40705122dc91",
|
|
"name": "Activación - Consulta valores sin geoposición",
|
|
"props": [
|
|
{
|
|
"p": "payload"
|
|
},
|
|
{
|
|
"p": "topic",
|
|
"vt": "str"
|
|
}
|
|
],
|
|
"repeat": "",
|
|
"crontab": "",
|
|
"once": false,
|
|
"onceDelay": 0.1,
|
|
"topic": "",
|
|
"payload": "",
|
|
"payloadType": "date",
|
|
"x": 230,
|
|
"y": 280,
|
|
"wires": [
|
|
[
|
|
"b8576a74c9e3cc75"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "c8a4cd4a752e245e",
|
|
"type": "mongodb4",
|
|
"z": "1a4b40705122dc91",
|
|
"clientNode": "648a51546e4dadc6",
|
|
"mode": "collection",
|
|
"collection": "",
|
|
"operation": "",
|
|
"output": "toArray",
|
|
"maxTimeMS": "0",
|
|
"handleDocId": false,
|
|
"name": "Consulta",
|
|
"x": 720,
|
|
"y": 280,
|
|
"wires": [
|
|
[
|
|
"3f28cc2972ec801e"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "3f28cc2972ec801e",
|
|
"type": "debug",
|
|
"z": "1a4b40705122dc91",
|
|
"name": "Resultado",
|
|
"active": true,
|
|
"tosidebar": true,
|
|
"console": false,
|
|
"tostatus": false,
|
|
"complete": "true",
|
|
"targetType": "full",
|
|
"statusVal": "",
|
|
"statusType": "auto",
|
|
"x": 860,
|
|
"y": 280,
|
|
"wires": []
|
|
},
|
|
{
|
|
"id": "b8576a74c9e3cc75",
|
|
"type": "function",
|
|
"z": "1a4b40705122dc91",
|
|
"name": "Prepación de la Consulta",
|
|
"func": "// aggregation pipeline\nconst pipeline = [{\"$group\": {\n \"_id\": { \"year\": { \"$year\": \"$fecha_servicio\" } },\n \"totalRegistros\": { \"$sum\": 1 },\n \"latitudNoNull\": {\n \"$sum\": {\n \"$cond\": [{ \"$ne\": [\"$latitud\", null] }, 1, 0]\n }\n },\n \"longitudNoNull\": {\n \"$sum\": {\n \"$cond\": [{ \"$ne\": [\"$longitud\", null] }, 1, 0]\n }\n }\n }},\n {\n \"$sort\": { \"_id.year\": 1 }\n }];\n// optional: aggregate options\nconst options = {\n allowDiskUse: true\n};\n// payload for mongodb4 node\nmsg.collection = \"servicios_sin_filtrar\";\nmsg.operation = \"aggregate\";\nmsg.payload = [pipeline, options];\nreturn msg;",
|
|
"outputs": 1,
|
|
"timeout": 0,
|
|
"noerr": 0,
|
|
"initialize": "",
|
|
"finalize": "",
|
|
"libs": [],
|
|
"x": 530,
|
|
"y": 280,
|
|
"wires": [
|
|
[
|
|
"c8a4cd4a752e245e"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "0f7838df86c0daa7",
|
|
"type": "inject",
|
|
"z": "1a4b40705122dc91",
|
|
"name": "Activación - Consolidación calles (Coalescing)",
|
|
"props": [
|
|
{
|
|
"p": "payload"
|
|
},
|
|
{
|
|
"p": "topic",
|
|
"vt": "str"
|
|
}
|
|
],
|
|
"repeat": "",
|
|
"crontab": "",
|
|
"once": false,
|
|
"onceDelay": 0.1,
|
|
"topic": "",
|
|
"payload": "",
|
|
"payloadType": "date",
|
|
"x": 230,
|
|
"y": 340,
|
|
"wires": [
|
|
[
|
|
"75602bbc0592e19f"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "75602bbc0592e19f",
|
|
"type": "function",
|
|
"z": "1a4b40705122dc91",
|
|
"name": "Prepación de la Consulta",
|
|
"func": "// aggregation pipeline\nconst pipeline = [\n {\n $addFields: {\n TipoVia: { $ifNull: [\"$TipoVia1\", { $ifNull: [\"$TipoVia2\", \"CALLE\"] }] },\n Calle: { $ifNull: [\"$Calle1\", { $ifNull: [\"$Calle2\", \"SIN DATOS\"] }] },\n Poblacion: { $ifNull: [\"$Poblacion1\", { $ifNull: [\"$Poblacion2\", \"MADRID\"] }] },\n CP: { $ifNull: [\"$cp1\", { $ifNull: [\"$cp2\", \"00000\"] }] }\n }\n },\n {\n $project: {\n TipoVia1: 0,\n TipoVia2: 0,\n Calle1: 0,\n Calle2: 0,\n Poblacion1: 0,\n Poblacion2: 0,\n cp1: 0,\n cp2: 0\n }\n },\n {\n $out: \"servicios_consolidado_calle\" // guarda el resultado en otra colección\n }\n ];\n// optional: aggregate options\nconst options = {\n allowDiskUse: true\n};\n// payload for mongodb4 node\nmsg.collection = \"servicios_sin_filtrar\";\nmsg.operation = \"aggregate\";\nmsg.payload = [pipeline, options];\nreturn msg;",
|
|
"outputs": 1,
|
|
"timeout": 0,
|
|
"noerr": 0,
|
|
"initialize": "",
|
|
"finalize": "",
|
|
"libs": [],
|
|
"x": 530,
|
|
"y": 340,
|
|
"wires": [
|
|
[
|
|
"0fc524aa3713e49b"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "0fc524aa3713e49b",
|
|
"type": "mongodb4",
|
|
"z": "1a4b40705122dc91",
|
|
"clientNode": "648a51546e4dadc6",
|
|
"mode": "collection",
|
|
"collection": "",
|
|
"operation": "",
|
|
"output": "toArray",
|
|
"maxTimeMS": "0",
|
|
"handleDocId": false,
|
|
"name": "Consulta",
|
|
"x": 720,
|
|
"y": 340,
|
|
"wires": [
|
|
[
|
|
"3b087174de36c2d9"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "3b087174de36c2d9",
|
|
"type": "debug",
|
|
"z": "1a4b40705122dc91",
|
|
"name": "Resultado",
|
|
"active": true,
|
|
"tosidebar": true,
|
|
"console": false,
|
|
"tostatus": false,
|
|
"complete": "true",
|
|
"targetType": "full",
|
|
"statusVal": "",
|
|
"statusType": "auto",
|
|
"x": 860,
|
|
"y": 340,
|
|
"wires": []
|
|
},
|
|
{
|
|
"id": "2c04e52c4cba3c98",
|
|
"type": "inject",
|
|
"z": "1a4b40705122dc91",
|
|
"name": "Activación - Eliminar servicios sin calle",
|
|
"props": [
|
|
{
|
|
"p": "payload"
|
|
},
|
|
{
|
|
"p": "topic",
|
|
"vt": "str"
|
|
}
|
|
],
|
|
"repeat": "",
|
|
"crontab": "",
|
|
"once": false,
|
|
"onceDelay": 0.1,
|
|
"topic": "",
|
|
"payload": "",
|
|
"payloadType": "date",
|
|
"x": 210,
|
|
"y": 400,
|
|
"wires": [
|
|
[
|
|
"df02d3cd352aff6f"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "df02d3cd352aff6f",
|
|
"type": "function",
|
|
"z": "1a4b40705122dc91",
|
|
"name": "Prepación de la Consulta",
|
|
"func": "// aggregation pipeline\nconst pipeline = [\n {\n $match: {\n $and: [\n { $expr: { $ne: [\"$Calle\", \"SIN DATOS\"] } },\n ]\n }\n },\n {\n $out: \"servicios_consolidado_calle_filtrado\" // guarda el resultado en otra colección\n }\n ];\n// optional: aggregate options\nconst options = {\n allowDiskUse: true\n};\n// payload for mongodb4 node\nmsg.collection = \"servicios_consolidado_calle\";\nmsg.operation = \"aggregate\";\nmsg.payload = [pipeline, options];\nreturn msg;",
|
|
"outputs": 1,
|
|
"timeout": 0,
|
|
"noerr": 0,
|
|
"initialize": "",
|
|
"finalize": "",
|
|
"libs": [],
|
|
"x": 530,
|
|
"y": 400,
|
|
"wires": [
|
|
[
|
|
"693f1f1fcfc09699"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "693f1f1fcfc09699",
|
|
"type": "mongodb4",
|
|
"z": "1a4b40705122dc91",
|
|
"clientNode": "648a51546e4dadc6",
|
|
"mode": "collection",
|
|
"collection": "",
|
|
"operation": "",
|
|
"output": "toArray",
|
|
"maxTimeMS": "0",
|
|
"handleDocId": false,
|
|
"name": "Consulta",
|
|
"x": 720,
|
|
"y": 400,
|
|
"wires": [
|
|
[
|
|
"9cc523b662f53ded"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "9cc523b662f53ded",
|
|
"type": "debug",
|
|
"z": "1a4b40705122dc91",
|
|
"name": "Resultado",
|
|
"active": true,
|
|
"tosidebar": true,
|
|
"console": false,
|
|
"tostatus": false,
|
|
"complete": "true",
|
|
"targetType": "full",
|
|
"statusVal": "",
|
|
"statusType": "auto",
|
|
"x": 860,
|
|
"y": 400,
|
|
"wires": []
|
|
},
|
|
{
|
|
"id": "4250b98e85f30aa3",
|
|
"type": "change",
|
|
"z": "1a4b40705122dc91",
|
|
"name": "Preparación de la Consulta",
|
|
"rules": [
|
|
{
|
|
"t": "set",
|
|
"p": "operation",
|
|
"pt": "msg",
|
|
"to": "find",
|
|
"tot": "str"
|
|
},
|
|
{
|
|
"t": "set",
|
|
"p": "collection",
|
|
"pt": "msg",
|
|
"to": "servicios_consolidado_calle_filtrado",
|
|
"tot": "str"
|
|
},
|
|
{
|
|
"t": "set",
|
|
"p": "limit",
|
|
"pt": "msg",
|
|
"to": "1000",
|
|
"tot": "num"
|
|
},
|
|
{
|
|
"t": "set",
|
|
"p": "payload",
|
|
"pt": "msg",
|
|
"to": "[{ \"geocodingProcesado\": { \"$ne\": true } }, { \"limit\" : msg.limit }]",
|
|
"tot": "jsonata"
|
|
}
|
|
],
|
|
"action": "",
|
|
"property": "",
|
|
"from": "",
|
|
"to": "",
|
|
"reg": false,
|
|
"x": 620,
|
|
"y": 580,
|
|
"wires": [
|
|
[
|
|
"4af6fd0defd481ea"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "4af6fd0defd481ea",
|
|
"type": "mongodb4",
|
|
"z": "1a4b40705122dc91",
|
|
"clientNode": "648a51546e4dadc6",
|
|
"mode": "collection",
|
|
"collection": "",
|
|
"operation": "",
|
|
"output": "toArray",
|
|
"maxTimeMS": "0",
|
|
"handleDocId": false,
|
|
"name": "",
|
|
"x": 830,
|
|
"y": 580,
|
|
"wires": [
|
|
[
|
|
"4644d386e752575d"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "b8fbe1c9e468142d",
|
|
"type": "debug",
|
|
"z": "1a4b40705122dc91",
|
|
"name": "Resultado",
|
|
"active": true,
|
|
"tosidebar": true,
|
|
"console": false,
|
|
"tostatus": false,
|
|
"complete": "true",
|
|
"targetType": "full",
|
|
"statusVal": "",
|
|
"statusType": "auto",
|
|
"x": 840,
|
|
"y": 880,
|
|
"wires": []
|
|
},
|
|
{
|
|
"id": "c29fc5be5de649c4",
|
|
"type": "inject",
|
|
"z": "1a4b40705122dc91",
|
|
"name": "Activación - Recuperar geoposiciones de CartoCiudad",
|
|
"props": [
|
|
{
|
|
"p": "payload"
|
|
},
|
|
{
|
|
"p": "topic",
|
|
"vt": "str"
|
|
}
|
|
],
|
|
"repeat": "",
|
|
"crontab": "",
|
|
"once": false,
|
|
"onceDelay": "1",
|
|
"topic": "",
|
|
"payload": "",
|
|
"payloadType": "date",
|
|
"x": 260,
|
|
"y": 580,
|
|
"wires": [
|
|
[
|
|
"4250b98e85f30aa3"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "4644d386e752575d",
|
|
"type": "link out",
|
|
"z": "1a4b40705122dc91",
|
|
"name": "link out 1",
|
|
"mode": "link",
|
|
"links": [
|
|
"ec0a560685f299d8"
|
|
],
|
|
"x": 935,
|
|
"y": 580,
|
|
"wires": []
|
|
},
|
|
{
|
|
"id": "c6894593daa8fcf0",
|
|
"type": "inject",
|
|
"z": "1a4b40705122dc91",
|
|
"name": "Activación - Normalizaciones",
|
|
"props": [
|
|
{
|
|
"p": "payload"
|
|
},
|
|
{
|
|
"p": "topic",
|
|
"vt": "str"
|
|
}
|
|
],
|
|
"repeat": "",
|
|
"crontab": "",
|
|
"once": false,
|
|
"onceDelay": 0.1,
|
|
"topic": "",
|
|
"payload": "",
|
|
"payloadType": "date",
|
|
"x": 180,
|
|
"y": 660,
|
|
"wires": [
|
|
[
|
|
"d66163bb05e6f12e",
|
|
"8081ba55b8146814"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "d66163bb05e6f12e",
|
|
"type": "change",
|
|
"z": "1a4b40705122dc91",
|
|
"name": "numero_retirada de \"SN \" a \"SN\"",
|
|
"rules": [
|
|
{
|
|
"t": "set",
|
|
"p": "operation",
|
|
"pt": "msg",
|
|
"to": "updateMany",
|
|
"tot": "str"
|
|
},
|
|
{
|
|
"t": "set",
|
|
"p": "collection",
|
|
"pt": "msg",
|
|
"to": "servicios_consolidado_calle_filtrado",
|
|
"tot": "str"
|
|
},
|
|
{
|
|
"t": "set",
|
|
"p": "payload",
|
|
"pt": "msg",
|
|
"to": "[\t {\t \"numero_retirada\": \"SN \"\t },\t {\t \"$set\": {\t \"numero_retirada\": \"SN\"\t } \t }\t]",
|
|
"tot": "jsonata"
|
|
}
|
|
],
|
|
"action": "",
|
|
"property": "",
|
|
"from": "",
|
|
"to": "",
|
|
"reg": false,
|
|
"x": 460,
|
|
"y": 660,
|
|
"wires": [
|
|
[
|
|
"004948a143b907dd"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "004948a143b907dd",
|
|
"type": "mongodb4",
|
|
"z": "1a4b40705122dc91",
|
|
"clientNode": "648a51546e4dadc6",
|
|
"mode": "collection",
|
|
"collection": "",
|
|
"operation": "",
|
|
"output": "toArray",
|
|
"maxTimeMS": "0",
|
|
"handleDocId": false,
|
|
"name": "Consulta",
|
|
"x": 720,
|
|
"y": 660,
|
|
"wires": [
|
|
[
|
|
"bb5ad864c986b15f"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "bb5ad864c986b15f",
|
|
"type": "debug",
|
|
"z": "1a4b40705122dc91",
|
|
"name": "Resultado (4 cambios)",
|
|
"active": true,
|
|
"tosidebar": true,
|
|
"console": false,
|
|
"tostatus": false,
|
|
"complete": "true",
|
|
"targetType": "full",
|
|
"statusVal": "",
|
|
"statusType": "auto",
|
|
"x": 900,
|
|
"y": 660,
|
|
"wires": []
|
|
},
|
|
{
|
|
"id": "8081ba55b8146814",
|
|
"type": "change",
|
|
"z": "1a4b40705122dc91",
|
|
"name": "numero_retirada de \"SQ\" a \"SN\"",
|
|
"rules": [
|
|
{
|
|
"t": "set",
|
|
"p": "operation",
|
|
"pt": "msg",
|
|
"to": "updateMany",
|
|
"tot": "str"
|
|
},
|
|
{
|
|
"t": "set",
|
|
"p": "collection",
|
|
"pt": "msg",
|
|
"to": "servicios_consolidado_calle_filtrado",
|
|
"tot": "str"
|
|
},
|
|
{
|
|
"t": "set",
|
|
"p": "payload",
|
|
"pt": "msg",
|
|
"to": "[\t {\t \"numero_retirada\": \"SQ\"\t },\t {\t \"$set\": {\t \"numero_retirada\": \"SN\"\t } \t }\t]",
|
|
"tot": "jsonata"
|
|
}
|
|
],
|
|
"action": "",
|
|
"property": "",
|
|
"from": "",
|
|
"to": "",
|
|
"reg": false,
|
|
"x": 450,
|
|
"y": 700,
|
|
"wires": [
|
|
[
|
|
"004948a143b907dd"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "1fd044cbc45e1620",
|
|
"type": "function",
|
|
"z": "a796bfad8ab76fe4",
|
|
"name": "Generamos la consulta a Cartociudad",
|
|
"func": "// msg.payload debe contener la dirección, ej. \"Calle Gran Vía 28, Madrid\"\nconst direccion = msg.consulta_calle;\nconst encoded = encodeURIComponent(direccion);\n\nmsg.original = msg.payload\n// API de CartoCiudad (gratuita España)\nmsg.method = \"GET\";\nmsg.url = `https://www.cartociudad.es/geocoder/api/geocoder/findJsonp?q=${encoded}`;\nreturn msg;\n",
|
|
"outputs": 1,
|
|
"timeout": 0,
|
|
"noerr": 0,
|
|
"initialize": "",
|
|
"finalize": "",
|
|
"libs": [],
|
|
"x": 310,
|
|
"y": 300,
|
|
"wires": [
|
|
[
|
|
"c58559633003fc35"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "c58559633003fc35",
|
|
"type": "http request",
|
|
"z": "a796bfad8ab76fe4",
|
|
"name": "",
|
|
"method": "use",
|
|
"ret": "txt",
|
|
"paytoqs": "ignore",
|
|
"url": "",
|
|
"tls": "",
|
|
"persist": false,
|
|
"proxy": "",
|
|
"insecureHTTPParser": false,
|
|
"authType": "",
|
|
"senderr": false,
|
|
"headers": [],
|
|
"x": 230,
|
|
"y": 340,
|
|
"wires": [
|
|
[
|
|
"c2879b84c754c37d"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "c2879b84c754c37d",
|
|
"type": "function",
|
|
"z": "a796bfad8ab76fe4",
|
|
"name": "Filtramos el resultado",
|
|
"func": "// Limpia la respuesta JSONP (callback(...))\nlet text = msg.payload.trim();\n\n// Detecta y elimina el formato \"callback(...)\" o \"callback123(...)\" u otros\ntext = text.replace(/^[a-zA-Z0-9_]+\\(/, '').replace(/\\);?$/, '');\n\nlet data;\ntry {\n data = JSON.parse(text);\n} catch (e) {\n node.error(\"Error al parsear JSON de CartoCiudad: \" + e.message);\n msg.payload = { error: \"Formato no válido de respuesta CartoCiudad\" };\n return msg;\n}\n\n// La API devuelve un solo objeto, no un array\nif (data && data.lat && data.lng) {\n msg.payload = {\n lat: data.lat,\n lon: data.lng,\n address: data.address || \"\",\n postalCode: data.postalCode || \"\",\n muni: data.muni || \"\",\n province: data.province || \"\",\n source: \"CartoCiudad\",\n raw: data\n };\n} else {\n msg.payload = { error: \"No se encontraron coordenadas en CartoCiudad\" };\n}\nreturn msg;\n",
|
|
"outputs": 1,
|
|
"timeout": 0,
|
|
"noerr": 0,
|
|
"initialize": "",
|
|
"finalize": "",
|
|
"libs": [],
|
|
"x": 420,
|
|
"y": 340,
|
|
"wires": [
|
|
[
|
|
"3a02a4797e73bfe2"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "ec0a560685f299d8",
|
|
"type": "link in",
|
|
"z": "a796bfad8ab76fe4",
|
|
"name": "link in 1",
|
|
"links": [
|
|
"4644d386e752575d"
|
|
],
|
|
"x": 165,
|
|
"y": 20,
|
|
"wires": [
|
|
[
|
|
"5621fbd41709d68e"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "1c10577fa4beb771",
|
|
"type": "delay",
|
|
"z": "a796bfad8ab76fe4",
|
|
"name": "",
|
|
"pauseType": "rate",
|
|
"timeout": "5",
|
|
"timeoutUnits": "seconds",
|
|
"rate": "1",
|
|
"nbRateUnits": "1",
|
|
"rateUnits": "second",
|
|
"randomFirst": "1",
|
|
"randomLast": "5",
|
|
"randomUnits": "seconds",
|
|
"drop": false,
|
|
"allowrate": false,
|
|
"outputs": 1,
|
|
"x": 400,
|
|
"y": 20,
|
|
"wires": [
|
|
[
|
|
"d3881558e6fef33f"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "5621fbd41709d68e",
|
|
"type": "split",
|
|
"z": "a796bfad8ab76fe4",
|
|
"name": "",
|
|
"splt": "\\n",
|
|
"spltType": "str",
|
|
"arraySplt": 1,
|
|
"arraySpltType": "len",
|
|
"stream": false,
|
|
"addname": "",
|
|
"property": "payload",
|
|
"x": 250,
|
|
"y": 20,
|
|
"wires": [
|
|
[
|
|
"1c10577fa4beb771"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "d3881558e6fef33f",
|
|
"type": "change",
|
|
"z": "a796bfad8ab76fe4",
|
|
"name": "Generamos las referencias y la consulta de la calle",
|
|
"rules": [
|
|
{
|
|
"t": "set",
|
|
"p": "referencia_geocache",
|
|
"pt": "msg",
|
|
"to": "$join(\t $filter(\t [\t payload.TipoVia,\t payload.Calle,\t payload.numero_retirada,\t payload.Poblacion,\t payload.CP\t ],\t function($v){ $v != null and $v != \"\" }\t ),\t \",\"\t)",
|
|
"tot": "jsonata"
|
|
},
|
|
{
|
|
"t": "set",
|
|
"p": "consulta_calle",
|
|
"pt": "msg",
|
|
"to": "$join(\t $filter(\t [\t payload.TipoVia,\t payload.Calle,\t (payload.numero_retirada = \"sn\" or payload.numero_retirada = \"SN\" or payload.numero_retirada = \"0\") ? undefined : payload.numero_retirada,\t payload.Poblacion,\t payload.extra_calle\t ],\t function($v){ $v != null and $v != \"\" }\t ),\t \" \"\t)",
|
|
"tot": "jsonata"
|
|
}
|
|
],
|
|
"action": "",
|
|
"property": "",
|
|
"from": "",
|
|
"to": "",
|
|
"reg": false,
|
|
"x": 390,
|
|
"y": 80,
|
|
"wires": [
|
|
[
|
|
"3112772543b09bd9"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "3112772543b09bd9",
|
|
"type": "change",
|
|
"z": "a796bfad8ab76fe4",
|
|
"name": "Guardamos la dirección y creamos la consulta en el cache",
|
|
"rules": [
|
|
{
|
|
"t": "set",
|
|
"p": "direccion",
|
|
"pt": "msg",
|
|
"to": "payload",
|
|
"tot": "msg"
|
|
},
|
|
{
|
|
"t": "set",
|
|
"p": "operation",
|
|
"pt": "msg",
|
|
"to": "find",
|
|
"tot": "str"
|
|
},
|
|
{
|
|
"t": "set",
|
|
"p": "collection",
|
|
"pt": "msg",
|
|
"to": "geocache",
|
|
"tot": "str"
|
|
},
|
|
{
|
|
"t": "set",
|
|
"p": "payload",
|
|
"pt": "msg",
|
|
"to": "[{ \"referencia_geocache\": { \"$eq\": msg.referencia_geocache } }, { \"limit\" : msg.limit }]",
|
|
"tot": "jsonata"
|
|
}
|
|
],
|
|
"action": "",
|
|
"property": "",
|
|
"from": "",
|
|
"to": "",
|
|
"reg": false,
|
|
"x": 410,
|
|
"y": 140,
|
|
"wires": [
|
|
[
|
|
"67310a0b495f77a2"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "67310a0b495f77a2",
|
|
"type": "mongodb4",
|
|
"z": "a796bfad8ab76fe4",
|
|
"clientNode": "648a51546e4dadc6",
|
|
"mode": "collection",
|
|
"collection": "",
|
|
"operation": "",
|
|
"output": "toArray",
|
|
"maxTimeMS": "0",
|
|
"handleDocId": false,
|
|
"name": "",
|
|
"x": 270,
|
|
"y": 200,
|
|
"wires": [
|
|
[
|
|
"304f30478bb9e954"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "304f30478bb9e954",
|
|
"type": "switch",
|
|
"z": "a796bfad8ab76fe4",
|
|
"name": "Existe la calle en el cache?",
|
|
"property": "$count(payload)",
|
|
"propertyType": "jsonata",
|
|
"rules": [
|
|
{
|
|
"t": "eq",
|
|
"v": "0",
|
|
"vt": "num"
|
|
},
|
|
{
|
|
"t": "else"
|
|
}
|
|
],
|
|
"checkall": "true",
|
|
"repair": false,
|
|
"outputs": 2,
|
|
"x": 480,
|
|
"y": 200,
|
|
"wires": [
|
|
[
|
|
"b176ccfcb67d19a0"
|
|
],
|
|
[
|
|
"2432622b4a8371d9"
|
|
]
|
|
],
|
|
"outputLabels": [
|
|
"NO",
|
|
"SI"
|
|
]
|
|
},
|
|
{
|
|
"id": "3a02a4797e73bfe2",
|
|
"type": "switch",
|
|
"z": "a796bfad8ab76fe4",
|
|
"name": "Existen datos?",
|
|
"property": "payload.lat",
|
|
"propertyType": "msg",
|
|
"rules": [
|
|
{
|
|
"t": "istype",
|
|
"v": "undefined",
|
|
"vt": "undefined"
|
|
},
|
|
{
|
|
"t": "else"
|
|
}
|
|
],
|
|
"checkall": "true",
|
|
"repair": false,
|
|
"outputs": 2,
|
|
"x": 620,
|
|
"y": 340,
|
|
"wires": [
|
|
[
|
|
"74306aa17eeb2b5e",
|
|
"0b0d1db5adb29e98",
|
|
"6a58b6dfedf7cc13"
|
|
],
|
|
[
|
|
"25a80352d25475a2"
|
|
]
|
|
],
|
|
"outputLabels": [
|
|
"NO",
|
|
"SI"
|
|
]
|
|
},
|
|
{
|
|
"id": "2c1d536a860b099e",
|
|
"type": "change",
|
|
"z": "a796bfad8ab76fe4",
|
|
"name": "Guardamos lo datos de la referencia de cache en mongo",
|
|
"rules": [
|
|
{
|
|
"t": "set",
|
|
"p": "operation",
|
|
"pt": "msg",
|
|
"to": "insertOne",
|
|
"tot": "str"
|
|
},
|
|
{
|
|
"t": "set",
|
|
"p": "collection",
|
|
"pt": "msg",
|
|
"to": "geocache",
|
|
"tot": "str"
|
|
},
|
|
{
|
|
"t": "set",
|
|
"p": "payload",
|
|
"pt": "msg",
|
|
"to": "{ \"referencia_geocache\": referencia_geocache, \"lat\": payload.lat, \"lon\": payload.lon}",
|
|
"tot": "jsonata"
|
|
}
|
|
],
|
|
"action": "",
|
|
"property": "",
|
|
"from": "",
|
|
"to": "",
|
|
"reg": false,
|
|
"x": 370,
|
|
"y": 460,
|
|
"wires": [
|
|
[
|
|
"aa8980407983e089"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "aa8980407983e089",
|
|
"type": "mongodb4",
|
|
"z": "a796bfad8ab76fe4",
|
|
"clientNode": "648a51546e4dadc6",
|
|
"mode": "collection",
|
|
"collection": "",
|
|
"operation": "",
|
|
"output": "toArray",
|
|
"maxTimeMS": "0",
|
|
"handleDocId": false,
|
|
"name": "",
|
|
"x": 690,
|
|
"y": 460,
|
|
"wires": [
|
|
[]
|
|
]
|
|
},
|
|
{
|
|
"id": "a37d6875203d3cef",
|
|
"type": "mongodb4",
|
|
"z": "a796bfad8ab76fe4",
|
|
"clientNode": "648a51546e4dadc6",
|
|
"mode": "collection",
|
|
"collection": "",
|
|
"operation": "",
|
|
"output": "toArray",
|
|
"maxTimeMS": "0",
|
|
"handleDocId": false,
|
|
"name": "",
|
|
"x": 690,
|
|
"y": 540,
|
|
"wires": [
|
|
[]
|
|
]
|
|
},
|
|
{
|
|
"id": "ee3b382fec9125f9",
|
|
"type": "change",
|
|
"z": "a796bfad8ab76fe4",
|
|
"name": "Actualizamos los datos de todas las calles que sean iguales",
|
|
"rules": [
|
|
{
|
|
"t": "set",
|
|
"p": "operation",
|
|
"pt": "msg",
|
|
"to": "updateMany",
|
|
"tot": "str"
|
|
},
|
|
{
|
|
"t": "set",
|
|
"p": "collection",
|
|
"pt": "msg",
|
|
"to": "servicios_consolidado_calle_filtrado",
|
|
"tot": "str"
|
|
},
|
|
{
|
|
"t": "set",
|
|
"p": "payload",
|
|
"pt": "msg",
|
|
"to": "[\t {\t \"TipoVia\": msg.direccion.TipoVia,\t \"Calle\": msg.direccion.Calle,\t \"numero_retirada\": msg.direccion.numero_retirada,\t \"Poblacion\": msg.direccion.Poblacion,\t \"CP\": msg.direccion.CP \t\t },\t {\t \"$set\": {\t \"latitud\": msg.payload.lat,\t \"longitud\": msg.payload.lon,\t \"geocodingProcesado\": true\t } \t }\t]",
|
|
"tot": "jsonata"
|
|
}
|
|
],
|
|
"action": "",
|
|
"property": "",
|
|
"from": "",
|
|
"to": "",
|
|
"reg": false,
|
|
"x": 380,
|
|
"y": 540,
|
|
"wires": [
|
|
[
|
|
"a37d6875203d3cef"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "4063e875162c944d",
|
|
"type": "link out",
|
|
"z": "a796bfad8ab76fe4",
|
|
"name": "OUT - Procesar",
|
|
"mode": "link",
|
|
"links": [
|
|
"717811bdd780a620"
|
|
],
|
|
"x": 835,
|
|
"y": 200,
|
|
"wires": []
|
|
},
|
|
{
|
|
"id": "717811bdd780a620",
|
|
"type": "link in",
|
|
"z": "a796bfad8ab76fe4",
|
|
"name": "IN - Procesar",
|
|
"links": [
|
|
"4063e875162c944d"
|
|
],
|
|
"x": 105,
|
|
"y": 300,
|
|
"wires": [
|
|
[
|
|
"1fd044cbc45e1620"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "25a80352d25475a2",
|
|
"type": "link out",
|
|
"z": "a796bfad8ab76fe4",
|
|
"name": "OUT - Actualizar servicios",
|
|
"mode": "link",
|
|
"links": [
|
|
"a5b95491428a914b"
|
|
],
|
|
"x": 755,
|
|
"y": 380,
|
|
"wires": []
|
|
},
|
|
{
|
|
"id": "a5b95491428a914b",
|
|
"type": "link in",
|
|
"z": "a796bfad8ab76fe4",
|
|
"name": "IN - Actualizar servicios",
|
|
"links": [
|
|
"25a80352d25475a2"
|
|
],
|
|
"x": 105,
|
|
"y": 500,
|
|
"wires": [
|
|
[
|
|
"ee3b382fec9125f9",
|
|
"2c1d536a860b099e"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "74306aa17eeb2b5e",
|
|
"type": "debug",
|
|
"z": "a796bfad8ab76fe4",
|
|
"name": "Error de datos de cartociudad",
|
|
"active": true,
|
|
"tosidebar": true,
|
|
"console": false,
|
|
"tostatus": false,
|
|
"complete": "true",
|
|
"targetType": "full",
|
|
"statusVal": "",
|
|
"statusType": "auto",
|
|
"x": 1030,
|
|
"y": 420,
|
|
"wires": []
|
|
},
|
|
{
|
|
"id": "96d63073d4c3043e",
|
|
"type": "change",
|
|
"z": "a796bfad8ab76fe4",
|
|
"name": "Actualizamos los datos de la calle afectada por la memoria histórica",
|
|
"rules": [
|
|
{
|
|
"t": "set",
|
|
"p": "operation",
|
|
"pt": "msg",
|
|
"to": "updateMany",
|
|
"tot": "str"
|
|
},
|
|
{
|
|
"t": "set",
|
|
"p": "collection",
|
|
"pt": "msg",
|
|
"to": "servicios_consolidado_calle_filtrado",
|
|
"tot": "str"
|
|
},
|
|
{
|
|
"t": "set",
|
|
"p": "payload",
|
|
"pt": "msg",
|
|
"to": "[\t {\t \"TipoVia\": msg.direccion.TipoVia,\t \"Calle\": msg.direccion.Calle,\t \"numero_retirada\": msg.direccion.numero_retirada,\t \"Poblacion\": msg.direccion.Poblacion,\t \"CP\": msg.direccion.CP \t\t },\t {\t \"$set\": {\t \"Calle\": msg.cambio.calle\t } \t }\t]",
|
|
"tot": "jsonata"
|
|
}
|
|
],
|
|
"action": "",
|
|
"property": "",
|
|
"from": "",
|
|
"to": "",
|
|
"reg": false,
|
|
"x": 640,
|
|
"y": 660,
|
|
"wires": [
|
|
[
|
|
"5be9c850777e19f4"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "5be9c850777e19f4",
|
|
"type": "mongodb4",
|
|
"z": "a796bfad8ab76fe4",
|
|
"clientNode": "648a51546e4dadc6",
|
|
"mode": "collection",
|
|
"collection": "",
|
|
"operation": "",
|
|
"output": "toArray",
|
|
"maxTimeMS": "0",
|
|
"handleDocId": false,
|
|
"name": "",
|
|
"x": 970,
|
|
"y": 660,
|
|
"wires": [
|
|
[
|
|
"61bddcdd604826da"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "0b0d1db5adb29e98",
|
|
"type": "link out",
|
|
"z": "a796bfad8ab76fe4",
|
|
"name": "OUT - Fallos para Arreglar",
|
|
"mode": "link",
|
|
"links": [
|
|
"37f1c5b138623383",
|
|
"e795e6d956e3180e"
|
|
],
|
|
"x": 755,
|
|
"y": 300,
|
|
"wires": []
|
|
},
|
|
{
|
|
"id": "37f1c5b138623383",
|
|
"type": "link in",
|
|
"z": "a796bfad8ab76fe4",
|
|
"name": "IN - Memoria Historica",
|
|
"links": [
|
|
"0b0d1db5adb29e98"
|
|
],
|
|
"x": 105,
|
|
"y": 660,
|
|
"wires": [
|
|
[
|
|
"92e5a359bb49899f"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "92e5a359bb49899f",
|
|
"type": "function",
|
|
"z": "a796bfad8ab76fe4",
|
|
"name": "Calles con Memoria Histórica",
|
|
"func": "// Referencia : https://www.elmundo.es/madrid/2016/07/21/5791123146163fd3028b45a3.html\n\nmsg.cambio = msg.cambio || {};\n\n// Internet\nif (msg.consulta_calle === \"CALLE JOSE LUIS DE ARRESE MADRID\") {\n msg.cambio.calle = \"POETA BLAS DE OTERO\";\n return msg;\n}\n// 12\nif (msg.consulta_calle === \"CALLE CAPITAN CORTES MADRID\") {\n msg.cambio.calle = \"MANUEL CHAVES NOGALES\";\n return msg;\n}\n\n// \nif (msg.consulta_calle === \"CALLE GENERAL ROMERO BASART 27 MADRID\") {\n msg.cambio.calle = \"BLAS CABRERA\";\n return msg;\n}\n\nif (msg.consulta_calle === \"CALLE GENERAL ORGAZ 1 MADRID\") {\n msg.cambio.calle = \"FORTUNATA Y JACINTA\";\n return msg;\n}\n\nif (msg.consulta_calle === \"CALLE GENERAL SALIQUET MADRID\") {\n msg.cambio.calle = \"SOLEDAD CAZORLA\";\n return msg;\n}\n\nif (msg.consulta_calle === \"CALLE COMANDANTE ZORITA 2 MADRID\") {\n msg.cambio.calle = \"AVIADOR ZORITA\";\n return msg;\n}\n\nif (msg.consulta_calle === \"PLAZA FERNANDEZ LADREDA 2 MADRID\") {\n msg.cambio.calle = \"ELIPTICA\";\n return msg;\n}\n\nif (msg.consulta_calle === \"PLAZA FERNANDEZ LADREDA MADRID\") {\n msg.cambio.calle = \"ELIPTICA\";\n return msg;\n}\n\nif (msg.consulta_calle === \"GLORIETA PATINES MADRID\") {\n msg.cambio.calle = \"DE LOS NEVEROS\";\n return msg;\n}\n\nif (msg.consulta_calle === \"PLAZA HERMANOS FALCO Y ALVAREZ DE TOLEDO 13 MADRID\") {\n msg.cambio.calle = \"MAYOR DE BARAJAS\";\n return msg;\n}\n\nif (msg.consulta_calle === \"CALLE CAPITAN CORTES MADRID\") {\n msg.cambio.calle = \"MANUEL CHAVES NOGALES\";\n return msg;\n}\n\nif (msg.consulta_calle === \"CALLE GENERAL SALIQUET MADRID\") {\n msg.cambio.calle = \"SOLEDAD CAZORLA\";\n return msg;\n}\n\nif (msg.consulta_calle === \"PLAZA HERMANOS FALCO Y ALVAREZ DE TOLEDO 13 MADRID\") {\n msg.cambio.calle = \"MAYOR DE BARAJAS\";\n return msg;\n}\n\nif (msg.consulta_calle === \"PLAZA GENERAL SAGARDIA RAMOS 21 MADRID\") {\n msg.cambio.calle = \"PASEO DE LA MAESTRA MARIA SANCHEZ ARBOS\";\n return msg;\n}\n\nif (msg.consulta_calle === \"CALLE GARCIA MORATO MADRID\") {\n msg.cambio.calle = \"ROBERT CAPA\";\n return msg;\n}\n\nif (msg.consulta_calle === \"CALLE GENERAL YAGUE 5 MADRID\") {\n msg.cambio.calle = \"SAN GERMAN\";\n return msg;\n}\n\nif (msg.consulta_calle === \"CALLE GENERAL GARCIA DE LA HERRANZ MADRID\") {\n msg.cambio.calle = \"DE LA COOPERACION\";\n return msg;\n}\n\nif (msg.consulta_calle === \"CALLE GENERAL VARELA 3 MADRID\") {\n msg.cambio.calle = \"JULIÁN BESTEIRO\";\n return msg;\n}\n\nif (msg.consulta_calle === \"AVENIDA GENERAL FANJUL 2 MADRID\") {\n msg.cambio.calle = \"DE LAS AGUILAS\";\n return msg;\n}\n\nif (msg.consulta_calle === \"PLAZA HERMANOS FALCO Y ALVAREZ DE TOLEDO 15 MADRID\") {\n msg.cambio.calle = \"MAYOR DE BARAJAS\";\n return msg;\n}\n\nif (msg.consulta_calle === \"PASAJE GENERAL MOLA 4 MADRID\") {\n msg.cambio.calle = \"ENRIQUE RUANO\";\n return msg;\n}\n\nif (msg.consulta_calle === \"PASEO DOCTOR VALLEJO NAJERA 44 MADRID\" ||\n msg.consulta_calle === \"PASEO JUAN ANTONIO VALLEJO NAJERA BOTAS 44 MADRID\") {\n msg.cambio.calle = \"JUAN ANTONIO VALLEJO-NAJERA BOTAS\";\n return msg;\n}\n\nif (msg.consulta_calle === \"CALLE GENERAL ROMERO BASART 86 MADRID\") {\n msg.cambio.calle = \"BLAS CABRERA\";\n return msg;\n}",
|
|
"outputs": 1,
|
|
"timeout": 0,
|
|
"noerr": 0,
|
|
"initialize": "",
|
|
"finalize": "",
|
|
"libs": [],
|
|
"x": 260,
|
|
"y": 660,
|
|
"wires": [
|
|
[
|
|
"96d63073d4c3043e"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "63bf04cd67af12fd",
|
|
"type": "function",
|
|
"z": "a796bfad8ab76fe4",
|
|
"name": "Calles con Mala codificación",
|
|
"func": "msg.cambio = msg.cambio || {};\n\nconst cambios = {\n \"CAMINO SALOBRAL MADRID\": { tipovia: \"Carretera\", calle: \"Estación de Contenedores\", numero_retirada: \"4\" },\n \"CARRETERA VILLAVERDE KM 4.8 GETAFE\": { numero_retirada: \"4\" },\n \"GLORIETA SANDRO PERTINI MADRID\": { extra_calle: \"28043\" },\n \"PLAZA CIUDAD LINEAL MADRID\": { tipovia: \"CALLE\", calle: \"ALCALA\", numero_retirada: \"423\" },\n \"CAMINO CABESTREROS 9 MADRID\": { tipovia: \"CALLE\", calle: \"CABESTREROS\" },\n \"PLAZA CORREGIDOR CONDE DE MACEDA Y TABOADA MADRID\": { tipovia: \"CALLE\", calle: \"PICO DE LOS ARTILLEROS\", numero_retirada: \"150\" },\n \"AVENIDA AMERICA 2 FUENLABRADA\": { numero_retirada: \"SN\", extra_calle: \"2\" },\n \"AVENIDA AMERICA FUENLABRADA\": { numero_retirada: \"SN\", extra_calle: \"2\" },\n \"CALLE TACONA COMISARÍA MADRID\": { numero_retirada: \"33\" },\n \"CALLE DOCTOR TOLOSA LATOUR FAROLA 62 MADRID\": { numero_retirada: \"62\" },\n \"PLAZA BARICHARA 4 MADRID\": { tipovia: \"CALLE\" },\n \"PLAZA BARICHARA 2 MADRID\": { tipovia: \"CALLE\" },\n \"CALLE QUINTANAORTUÑO MADRID\": { calle: \"QUINTANAPALLA\" },\n \"CALLE GABRIEL MIRO 1 MADRID\": { tipovia: \"PLAZA\" },\n \"CAMINO CABESTROS 9 MADRID\": { tipovia: \"CALLE\", calle: \"CABESTREROS\" },\n \"CALLE BENIMAMET FRENTE 6 MADRID\": { tipovia: \"CALLE\", numero_retirada: \"6\" },\n \"GLORIETA DE LOS NEVEROS MADRID\": { tipovia: \"CALLE\", calle: \"PUERTA DEL ANGEL\", numero_retirada: \"10\" },\n \"GLORIETA DE LOS PATINES MADRID\": { tipovia: \"CALLE\", calle: \"PUERTA DEL ANGEL\", numero_retirada: \"10\" },\n \"PASEO GENERAL SAGARDIA RAMOS 21 MADRID\": { tipovia: \"PLAZA\" },\n \"PASEO GENERAL SAGARDIA RAMOS MADRID\": { tipovia: \"PLAZA\" },\n \"CALLE LUSCINDA FTE 7 MADRID\": { numero_retirada: \"7\" },\n \"CAMINO LEÑEROS MADRID\": { tipovia: \"CALLE\" },\n \"CALLE SANTIAGO RUISEÑOR MADRID\": { tipovia: \"SANTIAGO RUSIÑOL\" },\n \"CALLE PARQUE FERIAL JUAN CARLOS I MADRID\": { tipovia: \"VIA\", calle: \"DUBLIN\", numero_retirada: \"6\" },\n \"ACCESO PARKING PARQUE JUAN CARLOS I MADRID\": { tipovia: \"VIA\", calle: \"DUBLIN\", numero_retirada: \"6\" },\n \"PLAZA LIMA 2 MADRID\": { tipovia: \"PASEO\", calle: \"DE LA CASTELLANA\", numero_retirada: \"140\" },\n \"CALLE ROSALEDA S/N MADRID\": { calle: \"DE LA ROSALEDA\", numero_retirada: \"2\" },\n \"CALLE SEVERINO AZNAR EMBID FTE 3 MADRID\": { numero_retirada: \"3\" },\n \"ACCESO VILLAROSA MADRID\": { tipovia: \"CALLE\", calle: \"CHAPARRAL\", numero_retirada: \"47\" },\n \"CALLE PENELOPE ORION MADRID\": { tipovia: \"CALLE\", calle: \"PENELOPE\", numero_retirada: \"2\" },\n \"GLORIETA SU ALTEZA REAL JUAN CARLOS I 2 MADRID\": { tipovia: \"GLORIETA\", calle: \"SU ALTEZA REAL JUAN CARLOS\", numero_retirada: \"1\" },\n \"GLORIETA SU ALTEZA REAL JUAN CARLOS 1 MADRID\": { tipovia: \"VIA\", calle: \"DUBLIN\", numero_retirada: \"6\" },\n \"GLORIETA SU ALTE¡ZA REAL JUAN CARLOS I 1 MADRID\": { tipovia: \"GLORIETA\", calle: \"SU ALTEZA REAL JUAN CARLOS\", numero_retirada: \"1\" },\n \"ACCES VIRGEN FUENCISLA 5 MADRID\": { tipovia: \"CALLE\", calle: \"VIRGEN DE LA FUENCISLA\", numero_retirada: \"2\" },\n \"CALLE PASEO CASTELLANA MADRID\": { tipovia: \"PASEO\", calle: \"DE LA CASTELLANA\", numero_retirada: \"140\" },\n \"ACCESO AVENIDA DE LOS TOREROS MADRID\": { tipovia: \"AVENIDA\", calle: \"DE LOS TOREROS\", numero_retirada: \"4\" },\n \"ACCESO VELAZQUEZ 9 MADRID\": { tipovia: \"CALLE\", numero_retirada: \"9\" },\n \"ACCESO PLAZA ENCARNACIÓN 21 MADRID\": { tipovia: \"PLAZA\", calle: \"ENCARNACIÓN\", numero_retirada: \"21\" },\n \"ACCESO PLAZA MARINA ESPAÑOLA 7 MADRID\": { tipovia: \"PLAZA\", calle: \"MARINA ESPAÑOLA\", numero_retirada: \"7\" },\n \"CALLE RIBERA DE SAN FERMIN MADRID\": { tipovia: \"AVENIDA\", calle: \"SAN FERMIN\", numero_retirada: \"16\" },\n \"ACCESO NARCIS MONTURIOL 5 MADRID\": { calle: \"NARCISO MONTURIOL\" },\n \"CALLE AEROPUERTO MADRID\": { numero_retirada: \"10\" },\n \"ESTACION ATOCHA (TODA EXCEPTO CERCANÍAS) MADRID\": { tipovia: \"CALLE\", calle: \"MENDEZ ALVARO\", numero_retirada: \"1\" },\n \"ACCESO PARKIN ESTACION ATOCHA MADRID\": { tipovia: \"CALLE\", calle: \"MENDEZ ALVARO\", numero_retirada: \"1\" },\n \"CALLE RONDA DE ATOCHA MADRID\": { tipovia: \"CALLE\", calle: \"MENDEZ ALVARO\", numero_retirada: \"1\" },\n \"ACCESO PARKING ESTACION DE ATOCHA S/N MADRID\": { tipovia: \"CALLE\", calle: \"MENDEZ ALVARO\", numero_retirada: \"1\" },\n \"ACCESO PARKIN ESTACION ATOCHA S/N MADRID\": { tipovia: \"CALLE\", calle: \"MENDEZ ALVARO\", numero_retirada: \"1\" },\n \"AVENIDA MENDEZ ALVARO 1 MADRID\": { tipovia: \"CALLE\", calle: \"MENDEZ ALVARO\", numero_retirada: \"1\" },\n \"CALLE FARO DE MONCLOA MADRID\": { tipovia: \"AVENIDA\", calle: \"REYES CATÓLICOS\", numero_retirada: \"6\" },\n \"ACCES AEROPUERTO TI SALIDAS MADRID\": { tipovia: \"CAMINO\", calle: \"CUARTEL\", numero_retirada: \"11\" },\n \"ACCESO AEROPUERTO T-1 SALIDAS MADRID\": { tipovia: \"CAMINO\", calle: \"CUARTEL\", numero_retirada: \"11\" },\n \"ACCES AEROPUERTO BARAJAS 2 MADRID\": { tipovia: \"CAMINO\", calle: \"CUARTEL\", numero_retirada: \"11\" },\n \"ACCESO BARAJAS TI SALIDAS MADRID\": { tipovia: \"CAMINO\", calle: \"CUARTEL\", numero_retirada: \"11\" },\n \"ACCES BARAJAS MADRID\": { tipovia: \"CAMINO\", calle: \"CUARTEL\", numero_retirada: \"11\" },\n \"ZONA AEROPUERTO BARAJAS T1 LLEGADAS MADRID\": { tipovia: \"CAMINO\", calle: \"CUARTEL\", numero_retirada: \"11\" },\n \"ACCESO AEROPUERTO T2 SALIDAS 2 MADRID\": { tipovia: \"CAMINO\", calle: \"CUARTEL\", numero_retirada: \"11\" },\n \"ACCESO AEROPUERTO T2 SALIDAS MADRID\": { tipovia: \"CAMINO\", calle: \"CUARTEL\", numero_retirada: \"11\" },\n \"ACCESO BARAJAS T2 LLEGADAS MADRID\": { tipovia: \"CAMINO\", calle: \"CUARTEL\", numero_retirada: \"11\" },\n \"ACCESO AEROPUERTO CENTRO CARGA AEREA 2 MADRID\": { tipovia: \"CAMINO\", calle: \"CUARTEL\", numero_retirada: \"11\" },\n \"ACCESO AEROPUERTO DE BARAJAS T3 MADRID\": { tipovia: \"CAMINO\", calle: \"CUARTEL\", numero_retirada: \"11\" },\n \"CIRCUNVALACION M 30 KM9 MADRID\": { tipovia: \"CALLE\", calle: \"PICO CLAVERO\", numero_retirada: \"6\" },\n \"CIRCUNVALACION M 30 KM 10.500 MADRID\": { tipovia: \"CALLE\", calle: \"PICO CLAVERO\", numero_retirada: \"6\" },\n \"ACCES VILLA DE MARIN 1 MADRID\": { tipovia: \"CALLE\", calle: \"PICO CLAVERO\", numero_retirada: \"6\" },\n \"CALLE PARQUE AGUSTIN RODRIGUEZ SAHAGUN MADRID\": { tipovia: \"PASEO\", calle: \"DIRECCION\", numero_retirada: \"202\" },\n \"CALLE PARQUE AGUSTIN RODRIGUEZ SAHAGUN 227 MADRID\": { tipovia: \"PASEO\", calle: \"DIRECCION\", numero_retirada: \"202\" },\n \"ACCESO M30 C1ª PK 24800 MADRID\": { tipovia: \"CARRETERA\", calle: \"EL PARDO\", numero_retirada: \"25\" },\n \"CALLE EMILIO DE LA TEJADA MADRID\": { tipovia: \"CALLE\", calle: \"GRANJA DE TORREHERMOSA\", numero_retirada: \"1\" },\n \"CALLE PEDRO BOSCH, DEL 1 Y 2 AL PUENTE FERROCARRIL MADRID\": { tipovia: \"CALLE\", calle: \"PEDRO BOSCH\", numero_retirada: \"1\" },\n \"ACCESO M30 C2ª PK 5 MADRID\": { tipovia: \"CALLE\", calle: \"VIRGEN DE LA PAZ\", numero_retirada: \"24\" },\n \"ACCESO M30 C2ª KM 5.700 MADRID\": { tipovia: \"CALLE\", calle: \"VIRGEN DE LA PAZ\", numero_retirada: \"24\" },\n \"CARRETERA N11 SALIDA SOBRE PUENTE M30 MADRID\": { tipovia: \"AVENIDA\", calle: \"DE BURGOS\", numero_retirada: \"42\" },\n \"ACCES M - 11 MADRID\": { tipovia: \"AVENIDA\", calle: \"DE BURGOS\", numero_retirada: \"42\" },\n \"ACCES M-11 MADRID\": { tipovia: \"AVENIDA\", calle: \"DE BURGOS\", numero_retirada: \"42\" },\n \"CALLE SANTA CATALINA DE LOS DONADOS 2 MADRID\": { tipovia: \"CALLE\", calle: \"DE LOS DONADOS\", numero_retirada: \"3\" },\n \"CALLE SANTA CATALINA DE LOS DONADOS 4 MADRID\": { tipovia: \"CALLE\", calle: \"DE LOS DONADOS\", numero_retirada: \"3\" },\n \"PASEO VIRGEN DEL PUERTO, ALTO MADRID\": { tipovia: \"PASEO\", calle: \"VIRGEN DEL PUERTO\", numero_retirada: \"6\" },\n \"ACCESO M 30 SALIDA CASA DE CAMPO 2 MADRID\": { tipovia: \"PASEO\", calle: \"SAN POL DEL MAR\", numero_retirada: \"5\" },\n \"ACCESO M30 AVDA. DE LA PAZ MADRID\": { tipovia: \"CALLE\", calle: \"RETAMA\", numero_retirada: \"8\" },\n \"ACCES RONDA DEL SUR MADRID\": { tipovia: \"RONDA\", calle: \"DEL SUR\", numero_retirada: \"6\" },\n \"CALLE JOSE ORTEGA Y GASETT MADRID\": { calle: \"JOSE ORTEGA Y GASSET\", numero_retirada: \"6\" },\n \"CALLE JOSE ORTEGA Y GASETT 6 MADRID\": { calle: \"JOSE ORTEGA Y GASSET\", numero_retirada: \"6\" },\n \"CALLE JOSE ORTEGA Y GASETT 9 MADRID\": { calle: \"JOSE ORTEGA Y GASSET\", numero_retirada: \"6\" },\n \"AVENIDA CAPITAL DE ESPAÑA-MADRID MADRID\": { calle: \"CAPITAL DE ESPAÑA\" },\n \"CALLE CIUDAD UNIVERSITARIA MADRID\": { tipovia: \"AVENIDA\", calle: \"COMPLUTENSE\", numero_retirada: \"3\" },\n \"GLORIETA CTM MADRID\": { tipovia: \"CARRETERA\", calle: \"VILLAVERDE A VALLECAS\", numero_retirada: \"236\" },\n \"AVENIDA ANDALUCIA, DEL KM. 8,501 AL 12,000 MADRID\": { tipovia: \"AVENIDA\", calle: \"ANDALUCIA\", numero_retirada: \"9\" },\n \"ACCESO M40 C2ª TANATORIO MADRID\": { tipovia: \"AVENIDA\", calle: \"ROSALES\", numero_retirada: \"30\" },\n \"CIRCUNVALACION M30 KM. 6,00 MADRID\": { tipovia: \"AVENIDA\", calle: \"ROSALES\", numero_retirada: \"30\" },\n \"CIRCUNVALACION M30 MADRID\": { tipovia: \"AVENIDA\", calle: \"ROSALES\", numero_retirada: \"30\" },\n \"ACCESO M203 ENTRADA ERMITA MADRID\": { tipovia: \"CALLE\", calle: \"PIROTECNIA\", numero_retirada: \"83\" },\n \"CALLE SAN EDUARDO MADRID\": { tipovia: \"CALLE\", calle: \"GENERAL MARGALLO\", numero_retirada: \"6\" },\n \"CALLE ESTACIONAMIENTO ZOO CASA CAMPO MADRID\": { tipovia: \"PASEO\", calle: \"ZARZON\", numero_retirada: \"2\" },\n \"ACCESO CASA DE CAMPO - PARQUE ATRACCIONES MADRID\": { tipovia: \"PASEO\", calle: \"ZARZON\", numero_retirada: \"2\" },\n \"ACCESO CASA DE CAMPO-PARQUE ATRACCIONES MADRID\": { tipovia: \"PASEO\", calle: \"ZARZON\", numero_retirada: \"2\" },\n \"ACCESO M40 C1ª KM 31.00 MADRID\": { tipovia: \"CALLE\", calle: \"SAN BERNARDO\", numero_retirada: \"13\" },\n \"EDIFICIOS COMISARIA DE CHAMARTIN MADRID\": { tipovia: \"CALLE\", calle: \"AGUSTIN DE FOXA\", numero_retirada: \"52\" },\n \"PASEO MUÑOZ GRANDES 3 MADRID\": { tipovia: \"PASEO\", calle: \"MARCELINO CAMACHO\", numero_retirada: \"3\" },\n \"CALLE ARAGON (PROSPERIDAD) MADRID\": { tipovia: \"PASEO\", calle: \"ARAGON\", numero_retirada: \"29\" },\n \"CARRETERA A-3 ACCESO A VALDEMINGOMEZ 00 MADRID\": { tipovia: \"AVENIDA\", calle: \"LABORAL\", numero_retirada: \"3\" },\n \"CAMINO VERTEDERO/VALDEMINGOMEZ S/N MADRID\": { tipovia: \"AVENIDA\", calle: \"LABORAL\", numero_retirada: \"3\" },\n \"CARRETERA DEL VERTEDERO S/N MADRID\": { tipovia: \"AVENIDA\", calle: \"LABORAL\", numero_retirada: \"3\" },\n \"RONDA VALDEMINGOMEZ MADRID\": { tipovia: \"AVENIDA\", calle: \"LABORAL\", numero_retirada: \"3\" },\n \"CALLE LERIDA (TETUAN) 7 MADRID\": { tipovia: \"CALLE\", calle: \"LERIDA\", numero_retirada: \"3\" },\n \"EDIFICIO COMISARIA DE LATINA MADRID\": { tipovia: \"CALLE\", calle: \"ERIKA\", numero_retirada: \"3\" },\n \"CARRETERA CORUÑA, DE LA, DEL KM. 1 AL 7,500 MADRID\": { tipovia: \"AVENIDA\", calle: \"PADRE HUIDOBRO\", numero_retirada: \"7\" },\n \"ZONA TALLER DE ARGANDA MADRID\": { tipovia: \"CALLE\", calle: \"SIERRA CARBONERA\", numero_retirada: \"44\" },\n \"ACCESO AEROPUERTO BARAJAS T4 SALIDAS MADRID\": { tipovia: \"CALLE\", calle: \"JUPITER\", numero_retirada: \"29\" },\n \"ACCESO AEROPUERTO BARAJAS T-4 2 MADRID\": { tipovia: \"CALLE\", calle: \"JUPITER\", numero_retirada: \"29\" },\n \"CALLE ARROYO FRESNO 2 MADRID\": { tipovia: \"CALLE\", calle: \"ARROYO DEL MONTE\", numero_retirada: \"2\" },\n \"ACCESO ESTADIO VICENTE CALDERON MADRID\": { tipovia: \"PASEO\", calle: \"DE LOS MELANCOLICOS\", numero_retirada: \"50\" },\n \"ACCES ESTADIO VICENTE CALDERON 42 MADRID\": { tipovia: \"PASEO\", calle: \"DE LOS MELANCOLICOS\", numero_retirada: \"50\" },\n \"ACCES ESTADIO VICENTE CALDERON MADRID\": { tipovia: \"PASEO\", calle: \"DE LOS MELANCOLICOS\", numero_retirada: \"50\" },\n \"PLAZA HISPANIDAD MADRID\": { tipovia: \"CALLE\", calle: \"DEL GALEON\", numero_retirada: \"16\" },\n \"POBLADO CAÑADA REAL GALIANA MADRID\": { tipovia: \"CALLE\", calle: \"CHARCO ALTO\", numero_retirada: \"17\" },\n \"CAMINO CAÑADA REAL GALIANA 167 MADRID\": { tipovia: \"CALLE\", calle: \"CHARCO ALTO\", numero_retirada: \"17\" },\n \"CAMINO CAÑADA REAL GALIANA 137 MADRID\": { tipovia: \"CALLE\", calle: \"CHARCO ALTO\", numero_retirada: \"17\" },\n \"ACCES CAÑADA REAL MERINAS MADRID\": { tipovia: \"CALLE\", calle: \"CHARCO ALTO\", numero_retirada: \"17\" },\n \"CALLE CAÑADA REAL GALIANA 9 MADRID\": { tipovia: \"CALLE\", calle: \"CHARCO ALTO\", numero_retirada: \"17\" },\n \"CAÑADA REAL GALIANA S/N MADRID\": { tipovia: \"CALLE\", calle: \"CHARCO ALTO\", numero_retirada: \"17\" },\n \"POBLADO CAÑAVERAL 2 MADRID\": { tipovia: \"CALLE\", calle: \"CHARCO ALTO\", numero_retirada: \"17\" },\n \"LUGAR HOSPITAL RAMON Y CAJAL MADRID\": { tipovia: \"CALLE\", calle: \"ANTONIO ROBLES\", numero_retirada: \"1\" },\n \"PLAZA ESTORIL MADRID\": { tipovia: \"CALLE\" },\n \"CALLEJON RESINA MADRID\": { tipovia: \"CALLE\", numero_retirada: \"41\" },\n \"CALLE MARQUES DE VADILLO 1 MADRID\": { tipovia: \"CALLE\", calle: \"GENERAL RICARDOS\", numero_retirada: \"2\" },\n \"CAMINO MENESES MADRID\": { tipovia: \"CALLE\", numero_retirada: \"4\" },\n \"LUGAR VENTA DEL BATAN MADRID\": { tipovia: \"PASEO\", calle: \"DE LA VENTA\", numero_retirada: \"1\" },\n \"CALLE MIMBRERAS DE LATINA MADRID\": { tipovia: \"PLAZA\", calle: \"DE LA CEBADA\", numero_retirada: \"10\" },\n \"AUTOVIA M 30 19500 MADRID\": { tipovia: \"PASEO\", calle: \"DE LA FLORIDA\", numero_retirada: \"23\" },\n \"ACCES CDOR DIEGO VALDERRABANO MADRID\": { tipovia: \"CALLE\", calle: \"DEL CORREGIDOR DIEGO DE VALDERRABANO\", numero_retirada: \"4\" },\n \"TUNEL COSTA RICA M30 MADRID\": { tipovia: \"CALLE\", calle: \"ALBERTO ALCOCER\", numero_retirada: \"46\" },\n \"ACCES PASEO DE LA CASTELLANA MADRID\": { tipovia: \"PASEO\", calle: \"DE LA CASTELLANA\", numero_retirada: \"2\" },\n \"PASAJE MONTSERRAT MADRID\": { numero_retirada: \"6\" },\n \"ACCESO A-4 KM 5.100 MADRID\": { tipovia: \"CALLE\", calle: \"EMBAJADORES\", numero_retirada: \"286\" },\n \"CARRETERA CARABANCHEL-VILLAVERDE (MARGEN DERECHO) MADRID\": { calle: \"CARRETERA CARABANCHEL VILLAVERDE\", numero_retirada: \"135\" },\n \"CARRETERA CARABANCHEL-VILLAVERDE (MARGEN DERECHO) 135 MADRID\": { calle: \"CARRETERA CARABANCHEL VILLAVERDE\", numero_retirada: \"135\" },\n \"CALLE CASTALIA (PUENTE DE VALLECAS) MADRID\": { tipovia: \"CALLE\", calle: \"CASTALIA\", numero_retirada: \"5\" },\n \"CARRETERA A-5 KM 6 ENTRADA MADRID\": { tipovia: \"PASEO\", calle: \"EXTREMADURA\", numero_retirada: \"309\" },\n \"ACCES FELIX RODRIGUEZ FUENTE 9 MADRID\": { tipovia: \"PASEO\", calle: \"DE LOS CEREZOS\", numero_retirada: \"25\" },\n \"CARRETERA DE VALENCIA KM 7,300 MADRID\": { tipovia: \"CALLE\", calle: \"PROVISIONAL HOSPITAL DE VALLECAS\", numero_retirada: \"1\" },\n \"CALLE MADERA SB MADRID\": { numero_retirada: \"1\" },\n \"CARRETERA CORUÑA KM 4.500 2 MADRID\": { tipovia: \"CALLE\", calle: \"PROVISIONAL HOSPITAL DE VALLECAS\", numero_retirada: \"1\" },\n \"ACCESO M30 PK 12,300 MADRID\": { tipovia: \"PUERTO\", calle: \"DE LA CRUZ VERDE\", numero_retirada: \"31\" },\n \"CALLE BASAURI SB MADRID\": { numero_retirada: \"1\" },\n \"PLAZA GENERAL SAGARDIA RAMOS SN MADRID\": { tipovia: \"PLAZA\", calle: \"GENERAL SAGARDIA RAMOS\", numero_retirada: \"1\" },\n \"PLAZA GENERAL SAGARDIA RAMOS 1 MADRID\": { tipovia: \"PLAZA\", calle: \"GENERAL SAGARDIA RAMOS\", numero_retirada: \"1\" },\n \"GLORIETA BEATA ANA MARIA DE JESUS 3 MADRID\": { tipovia: \"GLORIETA\", calle: \"BEATA ANA MARÍA DE JESÚS\", numero_retirada: \"3\" },\n \"PLAZA REPUBLICA DE CHILE 0 MADRID\": { tipovia: \"PLAZA\", calle: \"REPÚBLICA DE CHILE\", numero_retirada: \"1\" },\n \"ACCESO M40 PROLONGACION ODONELL 0 MADRID\": { tipovia: \"GLORIETA\", calle: \"PADRE CARLOS DORESTE\", numero_retirada: \"1\" },\n \"ACCESO A4 STDO MADRID INCORPORACION M30 C 1 0 MADRID\": { tipovia: \"AVENIDA\", calle: \"DE ANDALUCÍA\", numero_retirada: \"120\" },\n \"CALLE MALAGA CHAMBERI 5 MADRID\": { tipovia: \"CALLE\", calle: \"MÁLAGA\", numero_retirada: \"5\" },\n \"CALLE MALAGA CHAMBERI 0 MADRID\": { tipovia: \"CALLE\", calle: \"MÁLAGA\", numero_retirada: \"5\" },\n \"ACCESO M30 C1 SALIDA LEGAZPI 0 MADRID\": { tipovia: \"GLORIETA\", calle: \"LEGAZPI\", numero_retirada: \"1\" },\n \"CALLE GABRIEL MIRO 8 MADRID\": { tipovia: \"CALLE\", calle: \"GABRIEL MIRÓ\", numero_retirada: \"8\" },\n \"CALLE GABRIEL MIRO 4 MADRID\": { tipovia: \"CALLE\", calle: \"GABRIEL MIRÓ\", numero_retirada: \"8\" },\n \"CALLE GABRIEL MIRO 3 MADRID\": { tipovia: \"CALLE\", calle: \"GABRIEL MIRÓ\", numero_retirada: \"8\" },\n \"CALLE GABRIEL MIRO 2 MADRID\": { tipovia: \"CALLE\", calle: \"GABRIEL MIRÓ\", numero_retirada: \"8\" },\n \"ACCES LA CELSA 0 MADRID\": { tipovia: \"CALLE\", calle: \"CELSA\", numero_retirada: \"1\" },\n \"CALLE PEÑA PRIETA 8 MADRID\": { tipovia: \"CALLE\", calle: \"PEÑA PRIETA\", numero_retirada: \"8\" },\n \"CALLE RICARDO LEON Y GENERAL MITRE SN MADRID\": { tipovia: \"CALLE\", calle: \"RICARDO LEÓN\", numero_retirada: \"25\" },\n \"GLORIETA VALDEPERDICES 0 MADRID\": { tipovia: \"GLORIETA\", calle: \"VALDEPERDICES\", numero_retirada: \"1\" },\n \"ZONA PARKING ESTACION DE SANTA EUGENIA 0 MADRID\": { tipovia: \"CALLE\", calle: \"SANTA EUGENIA\", numero_retirada: \"95\" },\n \"ACCES RONDA DE SEGOVIA 2 MADRID\": { tipovia: \"RONDA\", calle: \"DE SEGOVIA\", numero_retirada: \"2\" },\n \"ACCES RONDA DE SEGOVIA 7 MADRID\": { tipovia: \"RONDA\", calle: \"DE SEGOVIA\", numero_retirada: \"2\" },\n \"ACCES RONDA DE SEGOVIA SN MADRID\": { tipovia: \"RONDA\", calle: \"DE SEGOVIA\", numero_retirada: \"2\" },\n \"ACCES RONDA DE SEGOVIA 0 MADRID\": { tipovia: \"RONDA\", calle: \"DE SEGOVIA\", numero_retirada: \"2\" },\n \"ACCESO PARKING ATOCHA SN MADRID\": { tipovia: \"GLORIETA\", calle: \"CARLOS V\", numero_retirada: \"1\" },\n \"ACCESO PARKING ATOCHA 0 MADRID\": { tipovia: \"GLORIETA\", calle: \"CARLOS V\", numero_retirada: \"1\" },\n \"ACCES PARKIN ESTACION DE ATOCHA 00 MADRID\": { tipovia: \"GLORIETA\", calle: \"CARLOS V\", numero_retirada: \"1\" },\n \"ACCES PARKIN ESTACION DE ATOCHA 5 MADRID\": { tipovia: \"GLORIETA\", calle: \"CARLOS V\", numero_retirada: \"1\" },\n \"ACCES PARKIN ESTACION DE ATOCHA 21 MADRID\": { tipovia: \"GLORIETA\", calle: \"CARLOS V\", numero_retirada: \"1\" },\n \"ACCES PARKIN ESTACION DE ATOCHA SN MADRID\": { tipovia: \"GLORIETA\", calle: \"CARLOS V\", numero_retirada: \"1\" },\n \"ACCES PARKIN ESTACION DE ATOCHA 0 MADRID\": { tipovia: \"GLORIETA\", calle: \"CARLOS V\", numero_retirada: \"1\" },\n \"ACCESO PARKIN ESTACION ATOCHA 3 MADRID\": { tipovia: \"GLORIETA\", calle: \"CARLOS V\", numero_retirada: \"1\" },\n \"ACCESO PARKIN ESTACION ATOCHA 78 MADRID\": { tipovia: \"GLORIETA\", calle: \"CARLOS V\", numero_retirada: \"1\" },\n \"ACCESO PARKIN ESTACION ATOCHA 2 MADRID\": { tipovia: \"GLORIETA\", calle: \"CARLOS V\", numero_retirada: \"1\" },\n \"ACCESO PARKIN ESTACION ATOCHA 16 MADRID\": { tipovia: \"GLORIETA\", calle: \"CARLOS V\", numero_retirada: \"1\" },\n \"ACCESO PARKIN ESTACION ATOCHA 23 MADRID\": { tipovia: \"GLORIETA\", calle: \"CARLOS V\", numero_retirada: \"1\" },\n \"ACCESO PARKIN ESTACION ATOCHA 62 MADRID\": { tipovia: \"GLORIETA\", calle: \"CARLOS V\", numero_retirada: \"1\" },\n \"BARRIO VALDEMINGOMEZ 0 MADRID\": { tipovia: \"CALLE\", calle: \"VALDEMINGÓMEZ\", numero_retirada: \"1\" },\n \"BARRIO VALDEMINGOMEZ SN MADRID\": { tipovia: \"CALLE\", calle: \"VALDEMINGÓMEZ\", numero_retirada: \"1\" },\n \"RONDA VALDEMINGOMEZ 2 MADRID\": { tipovia: \"RONDA\", calle: \"VALDEMINGÓMEZ\", numero_retirada: \"2\" },\n \"ACCESO AVENIDA EL FERROL SN MADRID\": { tipovia: \"AVENIDA\", calle: \"DEL FERROL\", numero_retirada: \"7\" },\n \"ACCESO AVENIDA EL FERROL 7 MADRID\": { tipovia: \"AVENIDA\", calle: \"DEL FERROL\", numero_retirada: \"7\" },\n \"ACCESO M30 C1ª PK 8 00 0 MADRID\": { tipovia: \"CALLE\", calle: \"M-30\", numero_retirada: \"8\" },\n \"CALLE CASA LARREINA 3 MADRID\": { tipovia: \"CALLE\", calle: \"CASA LARREINA\", numero_retirada: \"3\" },\n \"CALLE CASA LARREINA 2 MADRID\": { tipovia: \"CALLE\", calle: \"CASA LARREINA\", numero_retirada: \"3\" },\n \"AUTOVIA M 203 SN MADRID\": { tipovia: \"CARRETERA\", calle: \"M-203\", numero_retirada: \"1\" },\n \"CALLE GENERAL ROMERO BASART 25 MADRID\": { tipovia: \"CALLE\", calle: \"GENERAL ROMERO BASARTE\", numero_retirada: \"25\" },\n \"CALLE GENERAL ROMERO BASART 54 MADRID\": { tipovia: \"CALLE\", calle: \"GENERAL ROMERO BASARTE\", numero_retirada: \"25\" },\n \"CALLE GENERAL ROMERO BASART 31 MADRID\": { tipovia: \"CALLE\", calle: \"GENERAL ROMERO BASARTE\", numero_retirada: \"25\" },\n \"CALLE GENERAL ROMERO BASART 72 MADRID\": { tipovia: \"CALLE\", calle: \"GENERAL ROMERO BASARTE\", numero_retirada: \"25\" },\n \"CALLE GENERAL ROMERO BASART 0 MADRID\": { tipovia: \"CALLE\", calle: \"GENERAL ROMERO BASARTE\", numero_retirada: \"25\" },\n \"VIA DE SERVICIO EL BOSCO 2 MADRID\": { tipovia: \"CALLE\", calle: \"EL BOSCO\", numero_retirada: \"2\" },\n \"PASAJE MONSERRAT 0 MADRID\": { tipovia: \"PASAJE\", calle: \"MONTSERRAT\", numero_retirada: \"1\" },\n \"PASAJE MONSERRAT SN MADRID\": { tipovia: \"PASAJE\", calle: \"MONTSERRAT\", numero_retirada: \"1\" },\n \"ZONA AEROPUERTO BARAJAS T1 LLEGADAS 2 MADRID\": { tipovia: \"TERMINAL\", calle: \"AEROPUERTO BARAJAS T1\", numero_retirada: \"1\" },\n \"ZONA AEROPUERTO BARAJAS T1 LLEGADAS 00 MADRID\": { tipovia: \"TERMINAL\", calle: \"AEROPUERTO BARAJAS T1\", numero_retirada: \"1\" },\n \"CALLE EDUARDO BARREIROS C V JOSE PEREZ SN MADRID\": { tipovia: \"CALLE\", calle: \"EDUARDO BARREIROS\", numero_retirada: \"1\" },\n \"CALLE EDUARDO BARREIROS C V JOSE PEREZ 0 MADRID\": { tipovia: \"CALLE\", calle: \"EDUARDO BARREIROS\", numero_retirada: \"1\" },\n \"EDIFICIO COMISARIA VILLA DE VALLECAS 0 MADRID\": { tipovia: \"CALLE\", calle: \"RIO GENIL\", numero_retirada: \"35\" },\n \"ACCES CAMINO ALTO SAN ISIDRO SN MADRID\": { tipovia: \"CAMINO\", calle: \"ALTO DE SAN ISIDRO\", numero_retirada: \"1\" },\n \"ACCES CAMINO ALTO DE SAN ISIDRO 0 MADRID\": { tipovia: \"CAMINO\", calle: \"ALTO DE SAN ISIDRO\", numero_retirada: \"1\" },\n \"ACCESO M 30 AVDA ENTREVIAS 0 MADRID\": { tipovia: \"AVENIDA\", calle: \"ENTREVÍAS\", numero_retirada: \"1\" },\n \"ACCESO M30 AVDA ENTREVIAS 6 MADRID\": { tipovia: \"AVENIDA\", calle: \"ENTREVÍAS\", numero_retirada: \"1\" },\n \"CALLE SERRANO C V HERMOSILLA SN MADRID\": { tipovia: \"CALLE\", calle: \"SERRANO\", numero_retirada: \"1\" },\n \"ACCES MARIA SEVILLA DIAGO 3 MADRID\": { tipovia: \"CALLE\", calle: \"MARÍA SEVILLA DIAGO\", numero_retirada: \"3\" },\n \"ACCES COMISARIA LEGAÑITOS 0 MADRID\": { tipovia: \"CALLE\", calle: \"LEGAÑITOS\", numero_retirada: \"7\" },\n \"CALLE GENERAL PALANCA S N MADRID\": { tipovia: \"CALLE\", calle: \"GENERAL PALANCA\", numero_retirada: \"25\" },\n \"ACCES AEROPUERTO BARAJAS 1 MADRID\": { tipovia: \"TERMINAL\", calle: \"AEROPUERTO BARAJAS T1\", numero_retirada: \"1\" },\n \"CAMINO BATAN S N MADRID\": { tipovia: \"CAMINO\", calle: \"BATÁN\", numero_retirada: \"1\" },\n \"CAMINO BATAN 0 MADRID\": { tipovia: \"CAMINO\", calle: \"BATÁN\", numero_retirada: \"1\" },\n \"CAMINO BATAN SN MADRID\": { tipovia: \"CAMINO\", calle: \"BATÁN\", numero_retirada: \"1\" },\n \"PLAZA HNOS FALCO Y ALVAREZ DE TOLEDO 16 MADRID\": { tipovia: \"PLAZA\", calle: \"HERMANOS FALCÓ\", numero_retirada: \"16\" },\n \"PLAZA HERMANOS FALCO Y ALVAREZ DE TOLEDO S N MADRID\": { tipovia: \"PLAZA\", calle: \"HERMANOS FALCÓ\", numero_retirada: \"16\" },\n \"PLAZA HERMANOS FALCO Y ALVAREZ DE TOLEDO 14 MADRID\": { tipovia: \"PLAZA\", calle: \"HERMANOS FALCÓ\", numero_retirada: \"16\" },\n \"PLAZA HERMANOS FALCO Y ALVAREZ DE TOLEDO 20 MADRID\": { tipovia: \"PLAZA\", calle: \"HERMANOS FALCÓ\", numero_retirada: \"16\" },\n \"PLAZA HERMANOS FALCO Y ALVAREZ DE TOLEDO 11 MADRID\": { tipovia: \"PLAZA\", calle: \"HERMANOS FALCÓ\", numero_retirada: \"16\" },\n \"AUTOVIA A 5 KM 7 800 0 MADRID\": { tipovia: \"CARRETERA\", calle: \"A-5\", numero_retirada: \"7\" },\n \"AUTOVIA A 5 KM 7 800 8 MADRID\": { tipovia: \"CARRETERA\", calle: \"A-5\", numero_retirada: \"7\" },\n \"AUTOVIA A 5 KM 7 800 6600 MADRID\": { tipovia: \"CARRETERA\", calle: \"A-5\", numero_retirada: \"7\" },\n \"AUTOVIA A 5 KM 7 800 7 600 MADRID\": { tipovia: \"CARRETERA\", calle: \"A-5\", numero_retirada: \"7\" },\n \"CALLE TOLEDO C V GASOMETRO SN MADRID\": { tipovia: \"CALLE\", calle: \"TOLEDO\", numero_retirada: \"1\" },\n \"CALLE TOLEDO C V GASOMETRO 0 MADRID\": { tipovia: \"CALLE\", calle: \"TOLEDO\", numero_retirada: \"1\" },\n \"CALLE CAPITAN HAYA S N MADRID\": { tipovia: \"CALLE\", calle: \"CAPITÁN HAYA\", numero_retirada: \"1\" },\n \"PASAJE REMONTA 0 MADRID\": { tipovia: \"PASAJE\", calle: \"REMONTA\", numero_retirada: \"1\" },\n \"PLAZA LEALTAD S N MADRID\": { tipovia: \"PLAZA\", calle: \"LEALTAD\", numero_retirada: \"1\" },\n \"CALLE NUÑEZ DE BALBOA S N MADRID\": { tipovia: \"CALLE\", calle: \"NUÑEZ DE BALBOA\", numero_retirada: \"1\" },\n \"CALLE DOCTOR ESQUERDO S N MADRID\": { tipovia: \"CALLE\", calle: \"DOCTOR ESQUERDO\", numero_retirada: \"1\" },\n \"AVENIDA BUENOS AIRES S N MADRID\": { tipovia: \"AVENIDA\", calle: \"BUENOS AIRES\", numero_retirada: \"1\" },\n \"CARRETERA CARABANCHEL VILLAVERDE MARGEN IZQUIERDO 103 MADRID\": { tipovia: \"CARRETERA\", calle: \"CARABANCHEL A VILLAVERDE\", numero_retirada: \"103\" },\n \"CALLE PARQUE ANA TUTOR 8 MADRID\": { tipovia: \"PARQUE\", calle: \"ANA TUTOR\", numero_retirada: \"8\" },\n \"GLORIETA GENERAL SAN MARTIN 3 MADRID\": { tipovia: \"GLORIETA\", calle: \"GENERAL SAN MARTÍN\", numero_retirada: \"3\" },\n \"CALLE MONTE IGUELDO S N MADRID\": { tipovia: \"CALLE\", calle: \"MONTE IGUELDO\", numero_retirada: \"1\" },\n \"PLAZA COLON S N MADRID\": { tipovia: \"PLAZA\", calle: \"COLÓN\", numero_retirada: \"1\" },\n \"BASE COLON MADRID\": { tipovia: \"PLAZA\", calle: \"COLÓN\", numero_retirada: \"1\" },\n \"ACCES BASE DE COLON SN MADRID\": { tipovia: \"PLAZA\", calle: \"COLÓN\", numero_retirada: \"1\" },\n \"ACCES BASE DE COLON 4 MADRID\": { tipovia: \"PLAZA\", calle: \"COLÓN\", numero_retirada: \"1\" },\n \"ACCES BASE DE COLON 0 MADRID\": { tipovia: \"PLAZA\", calle: \"COLÓN\", numero_retirada: \"1\" },\n \"ACCES BASE DE COLON F 31 MADRID\": { tipovia: \"PLAZA\", calle: \"COLÓN\", numero_retirada: \"1\" },\n \"ACCES BASE DE COLON 2 MADRID\": { tipovia: \"PLAZA\", calle: \"COLÓN\", numero_retirada: \"1\" },\n \"ACCES BASE DE COLON 141141 MADRID\": { tipovia: \"PLAZA\", calle: \"COLÓN\", numero_retirada: \"1\" },\n \"ACCES BASE DE COLON MADRID\": { tipovia: \"PLAZA\", calle: \"COLÓN\", numero_retirada: \"1\" },\n \"CALLE SANTA BERNARDINA S N MADRID\": { tipovia: \"CALLE\", calle: \"SANTA BERNARDINA\", numero_retirada: \"1\" },\n \"ACCES DEL ROBLEDAL 0 MADRID\": { tipovia: \"CALLE\", calle: \"ROBLEDAL\", numero_retirada: \"1\" },\n \"CALLE REAL DE PINTO 1 MADRID\": { tipovia: \"CALLE\", calle: \"REAL DE PINTO\", numero_retirada: \"1\" },\n \"AUTOVIA A3 VIA DE SERVICIO PK 7 MADRID\": { tipovia: \"CARRETERA\", calle: \"A-3\", numero_retirada: \"7\" },\n \"AUTOVIA A3 VIA DE SERVICIO 140000 MADRID\": { tipovia: \"CARRETERA\", calle: \"A-3\", numero_retirada: \"7\" },\n \"CALLE CHIMBO 23 1 A 0 MADRID\": { tipovia: \"CALLE\", calle: \"CHIMBO\", numero_retirada: \"23\" },\n \"CALLE AVDA MORATALAZ 0 MADRID\": { tipovia: \"AVENIDA\", calle: \"MORATALAZ\", numero_retirada: \"1\" },\n \"CALLE LOPEZ DE HOYOS S N MADRID\": { tipovia: \"CALLE\", calle: \"LÓPEZ DE HOYOS\", numero_retirada: \"1\" },\n \"AVENIDA RAFAEL FINAT S N MADRID\": { tipovia: \"AVENIDA\", calle: \"RAFAEL FINAT\", numero_retirada: \"1\" },\n \"AVENIDA RAFAEL FINAT 1 MADRID\": { tipovia: \"AVENIDA\", calle: \"RAFAEL FINAT\", numero_retirada: \"1\" },\n \"ACCESO DON RAMON DE LA CRUZ 2 MADRID\": { tipovia: \"CALLE\", calle: \"RAMÓN DE LA CRUZ\", numero_retirada: \"2\" },\n \"ACCESO DON RAMON DE LA CRUZ 3 MADRID\": { tipovia: \"CALLE\", calle: \"RAMÓN DE LA CRUZ\", numero_retirada: \"2\" },\n \"CALLE GENERAL MOSCARDO 1 MADRID\": { tipovia: \"CALLE\", calle: \"GENERAL MOSCARDO\", numero_retirada: \"1\" },\n \"CALLE ESTACION DEPURADORA SANTA CATALINA 65 MADRID\": { tipovia: \"CALLE\", calle: \"ESTACIÓN DEPURADORA\", numero_retirada: \"65\" },\n \"CALLE ESTACION DEPURADORA SANTA CATALINA 0 MADRID\": { tipovia: \"CALLE\", calle: \"ESTACIÓN DEPURADORA\", numero_retirada: \"65\" },\n \"CARRETERA PARDO EL DE PUERTA DE HIERRO AL KM 3 500 SN MADRID\": { tipovia: \"CARRETERA\", calle: \"M-612\", numero_retirada: \"3\" },\n \"CALLE RETAMA FAR 3 MADRID\": { tipovia: \"CALLE\", calle: \"RETAMA\", numero_retirada: \"3\" },\n \"GLORIETA REALES ACADEMIAS 0 MADRID\": { tipovia: \"GLORIETA\", calle: \"REALES ACADEMIAS\", numero_retirada: \"1\" },\n \"CALLE SEVILLA S N MADRID\": { tipovia: \"CALLE\", calle: \"SEVILLA\", numero_retirada: \"1\" },\n \"CALLE PRINCESA S N MADRID\": { tipovia: \"CALLE\", calle: \"PRINCESA\", numero_retirada: \"1\" },\n \"GLORIETA CADIZ S N MADRID\": { tipovia: \"GLORIETA\", calle: \"CÁDIZ\", numero_retirada: \"1\" },\n \"GLORIETA CADIZ 0 MADRID\": { tipovia: \"GLORIETA\", calle: \"CÁDIZ\", numero_retirada: \"1\" },\n \"GLORIETA RUBEN DARIO S N MADRID\": { tipovia: \"GLORIETA\", calle: \"RUBÉN DARÍO\", numero_retirada: \"1\" },\n \"CALLE RONDA SUR 0 MADRID\": { tipovia: \"RONDA\", calle: \"SUR\", numero_retirada: \"1\" },\n \"GLORIETA ARCENTALES 2 MADRID\": { tipovia: \"GLORIETA\", calle: \"ARCENTALES\", numero_retirada: \"2\" },\n \"CALLE PUENTE DE SEGOVIA 0000 MADRID\": { tipovia: \"PUENTE\", calle: \"DE SEGOVIA\", numero_retirada: \"1\" },\n \"CALLE PUENTE DE SEGOVIA 8 MADRID\": { tipovia: \"PUENTE\", calle: \"DE SEGOVIA\", numero_retirada: \"1\" },\n \"AVENIDA ARROYO DEL FRESNO 0 MADRID\": { tipovia: \"AVENIDA\", calle: \"ARROYO DEL FRESNO\", numero_retirada: \"1\" },\n \"CALLE ARROYO FRESNO 4 MADRID\": { tipovia: \"AVENIDA\", calle: \"ARROYO DEL FRESNO\", numero_retirada: \"1\" },\n \"CALLE ARROYO FRESNO 0 MADRID\": { tipovia: \"AVENIDA\", calle: \"ARROYO DEL FRESNO\", numero_retirada: \"1\" },\n \"PLAZA DOCTOR ALONSO AGUILAR 0 MADRID\": { tipovia: \"PLAZA\", calle: \"DOCTOR ALONSO AGUILAR\", numero_retirada: \"1\" },\n \"CALLE ALCALDE CONDE DE MAYALDE 0 MADRID\": { tipovia: \"CALLE\", calle: \"ALCALDE CONDE DE MAYALDE\", numero_retirada: \"1\" }\n};\n\nif (cambios.hasOwnProperty(msg.consulta_calle)) {\n Object.assign(msg.cambio, cambios[msg.consulta_calle]);\n return msg;\n}",
|
|
"outputs": 1,
|
|
"timeout": 0,
|
|
"noerr": 0,
|
|
"initialize": "",
|
|
"finalize": "",
|
|
"libs": [],
|
|
"x": 260,
|
|
"y": 720,
|
|
"wires": [
|
|
[
|
|
"ddc2820a375bb8f6"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "ddc2820a375bb8f6",
|
|
"type": "change",
|
|
"z": "a796bfad8ab76fe4",
|
|
"name": "Actualizamos los datos de las calles mal codificadas",
|
|
"rules": [
|
|
{
|
|
"t": "set",
|
|
"p": "operation",
|
|
"pt": "msg",
|
|
"to": "updateMany",
|
|
"tot": "str"
|
|
},
|
|
{
|
|
"t": "set",
|
|
"p": "collection",
|
|
"pt": "msg",
|
|
"to": "servicios_consolidado_calle_filtrado",
|
|
"tot": "str"
|
|
},
|
|
{
|
|
"t": "set",
|
|
"p": "payload",
|
|
"pt": "msg",
|
|
"to": "[\t {\t \"TipoVia\": msg.direccion.TipoVia,\t \"Calle\": msg.direccion.Calle,\t \"numero_retirada\": msg.direccion.numero_retirada,\t \"Poblacion\": msg.direccion.Poblacion,\t \"CP\": msg.direccion.CP \t },\t {\t \"$set\": {\t \"TipoVia\": msg.cambio.tipovia,\t \"Calle\": msg.cambio.calle,\t \"numero_retirada\": msg.cambio.numero_retirada,\t \"extra_calle\": msg.cambio.extra_calle\t }\t }\t]",
|
|
"tot": "jsonata"
|
|
}
|
|
],
|
|
"action": "",
|
|
"property": "",
|
|
"from": "",
|
|
"to": "",
|
|
"reg": false,
|
|
"x": 680,
|
|
"y": 720,
|
|
"wires": [
|
|
[
|
|
"c9dfd4a858aeb687"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "c9dfd4a858aeb687",
|
|
"type": "mongodb4",
|
|
"z": "a796bfad8ab76fe4",
|
|
"clientNode": "648a51546e4dadc6",
|
|
"mode": "collection",
|
|
"collection": "",
|
|
"operation": "",
|
|
"output": "toArray",
|
|
"maxTimeMS": "0",
|
|
"handleDocId": false,
|
|
"name": "",
|
|
"x": 970,
|
|
"y": 720,
|
|
"wires": [
|
|
[
|
|
"61bddcdd604826da"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "e795e6d956e3180e",
|
|
"type": "link in",
|
|
"z": "a796bfad8ab76fe4",
|
|
"name": "IN - Mala codificación",
|
|
"links": [
|
|
"0b0d1db5adb29e98"
|
|
],
|
|
"x": 105,
|
|
"y": 720,
|
|
"wires": [
|
|
[
|
|
"63bf04cd67af12fd"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "61bddcdd604826da",
|
|
"type": "debug",
|
|
"z": "a796bfad8ab76fe4",
|
|
"name": "Información de servicios procesados",
|
|
"active": false,
|
|
"tosidebar": true,
|
|
"console": false,
|
|
"tostatus": false,
|
|
"complete": "true",
|
|
"targetType": "full",
|
|
"statusVal": "",
|
|
"statusType": "auto",
|
|
"x": 1230,
|
|
"y": 720,
|
|
"wires": []
|
|
},
|
|
{
|
|
"id": "a1f0210367ec78c3",
|
|
"type": "debug",
|
|
"z": "a796bfad8ab76fe4",
|
|
"name": "debug 1",
|
|
"active": false,
|
|
"tosidebar": true,
|
|
"console": false,
|
|
"tostatus": false,
|
|
"complete": "true",
|
|
"targetType": "full",
|
|
"statusVal": "",
|
|
"statusType": "auto",
|
|
"x": 1360,
|
|
"y": 260,
|
|
"wires": []
|
|
},
|
|
{
|
|
"id": "b176ccfcb67d19a0",
|
|
"type": "function",
|
|
"z": "a796bfad8ab76fe4",
|
|
"name": "Calles a eliminar",
|
|
"func": "// Registro a eliminar sino procesamos\nif (msg.consulta_calle === \"CALLE SIN DETERMINAR MADRID\" ||\n msg.consulta_calle === \"BASE MEDIODIA 3 MADRID\" ||\n msg.consulta_calle === \"BASE COLON MADRID\" ||\n msg.consulta_calle === \"BASE MEDIODIA 2 1 MADRID\" ||\n msg.consulta_calle === \"CALLE No Codificada MADRID\" ||\n msg.consulta_calle === \"ACCESO POBLADO DE LAS BARRANQUILLAS sn MADRID\" ||\n msg.consulta_calle === \"BASE BARCELO MADRID\" ||\n msg.consulta_calle === \"EDIFICIO JUZGADO MADRID\" ||\n msg.consulta_calle === \"CALLE CAÑADA REAL GALIANA PARC 12 MADRID\" ||\n msg.consulta_calle === \"CALLE CAÑADA REAL GALIANA PARC. 127 MADRID\" ||\n msg.consulta_calle === \"CALLE No Codificada S / N MADRID\" ||\n msg.consulta_calle === \"CALLE No Codificada 8,400 MADRID\" ||\n msg.consulta_calle === \"CALLE No Codificada KM 12700 MADRID\" ||\n msg.consulta_calle === \"CALLE No Codificada KM 2.400 MADRID\" ||\n msg.consulta_calle === \"CALLE No Codificada - MADRID\" ||\n msg.consulta_calle === \"CALLE No Codificada S/N MADRID\" ||\n msg.consulta_calle === \"CALLE No Codificada FAROLA4 MADRID\" ||\n msg.consulta_calle === \"CALLE No Codificada 12500 MADRID\" ||\n msg.consulta_calle === \"CALLE No Codificada 6, 800 MADRID\" ||\n msg.consulta_calle === \"CALLE No Codificada 6, 500 MADRID\" ||\n msg.consulta_calle === \"CALLE No Codificada 6,800 MADRID\" ||\n msg.consulta_calle === \"CALLE No Codificada 6,500 MADRID\" ||\n msg.consulta_calle === \"CARRETERA A-3 ACCESO A VALDEMINGOMEZ MADRID\" ||\n msg.consulta_calle === \"CALLE No Codificada 2.200 MADRID\" ||\n msg.consulta_calle === \"CALLE No Codificada FAROLA 2 MADRID\" ||\n msg.consulta_calle === \"CALLE CAÑADA REAL GALIANA FAR. 31 MADRID\" ||\n msg.consulta_calle === \"ZONA COMISARIA HORTALEZA MADRID\" ||\n msg.consulta_calle === \"PASO PARTICULAR ELVIRA GOYA 12 MADRID\" ||\n msg.consulta_calle === \"PASO PARTICULAR ELVIRA GOYA 38 MADRID\" ||\n msg.consulta_calle === \"ACCESO AEROPUERTO DE BARAJAS T2 SALIDAS MADRID\" ||\n msg.consulta_calle === \"ACCESO CALZADA 1 PK 880 MADRID\" ||\n msg.consulta_calle === \"BASE ESCUADRON MADRID\" ||\n msg.consulta_calle === \"BASE VELAZQUEZ MADRID\" ||\n msg.consulta_calle === \"PASEO PINOS MADRID\" ||\n msg.consulta_calle === \"CALLE HERMANOS FERNANDEZ SHAW MADRID\"\n ) {\n return [msg, null]\n} else {\n return [null, msg]\n}\n\n",
|
|
"outputs": 2,
|
|
"timeout": 0,
|
|
"noerr": 0,
|
|
"initialize": "",
|
|
"finalize": "",
|
|
"libs": [],
|
|
"x": 720,
|
|
"y": 180,
|
|
"wires": [
|
|
[
|
|
"fa2e9116677470ca"
|
|
],
|
|
[
|
|
"4063e875162c944d"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "fa2e9116677470ca",
|
|
"type": "change",
|
|
"z": "a796bfad8ab76fe4",
|
|
"name": "Peparamos el identificador de calle a borrar",
|
|
"rules": [
|
|
{
|
|
"t": "set",
|
|
"p": "operation",
|
|
"pt": "msg",
|
|
"to": "deleteOne",
|
|
"tot": "str"
|
|
},
|
|
{
|
|
"t": "set",
|
|
"p": "collection",
|
|
"pt": "msg",
|
|
"to": "servicios_consolidado_calle_filtrado",
|
|
"tot": "str"
|
|
},
|
|
{
|
|
"t": "set",
|
|
"p": "payload",
|
|
"pt": "msg",
|
|
"to": "[\t {\t \"_id\": direccion._id\t }\t]",
|
|
"tot": "jsonata"
|
|
}
|
|
],
|
|
"action": "",
|
|
"property": "",
|
|
"from": "",
|
|
"to": "",
|
|
"reg": false,
|
|
"x": 990,
|
|
"y": 160,
|
|
"wires": [
|
|
[
|
|
"4eee84ac85459806"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "4eee84ac85459806",
|
|
"type": "mongodb4",
|
|
"z": "a796bfad8ab76fe4",
|
|
"clientNode": "648a51546e4dadc6",
|
|
"mode": "collection",
|
|
"collection": "",
|
|
"operation": "",
|
|
"output": "toArray",
|
|
"maxTimeMS": "0",
|
|
"handleDocId": false,
|
|
"name": "",
|
|
"x": 1250,
|
|
"y": 160,
|
|
"wires": [
|
|
[
|
|
"61bddcdd604826da"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "2432622b4a8371d9",
|
|
"type": "change",
|
|
"z": "a796bfad8ab76fe4",
|
|
"name": "Actualizamos los datos de todas las calles que sean iguales",
|
|
"rules": [
|
|
{
|
|
"t": "set",
|
|
"p": "operation",
|
|
"pt": "msg",
|
|
"to": "updateMany",
|
|
"tot": "str"
|
|
},
|
|
{
|
|
"t": "set",
|
|
"p": "collection",
|
|
"pt": "msg",
|
|
"to": "servicios_consolidado_calle_filtrado",
|
|
"tot": "str"
|
|
},
|
|
{
|
|
"t": "set",
|
|
"p": "payload",
|
|
"pt": "msg",
|
|
"to": "[\t {\t \"TipoVia\": direccion.TipoVia,\t \"Calle\": direccion.Calle,\t \"numero_retirada\": direccion.numero_retirada,\t \"Poblacion\": direccion.Poblacion,\t \"CP\": direccion.CP \t\t },\t {\t \"$set\": {\t \"latitud\": payload[0].lat,\t \"longitud\": payload[0].lon,\t \"geocodingProcesado\": true\t } \t }\t]",
|
|
"tot": "jsonata"
|
|
}
|
|
],
|
|
"action": "",
|
|
"property": "",
|
|
"from": "",
|
|
"to": "",
|
|
"reg": false,
|
|
"x": 900,
|
|
"y": 260,
|
|
"wires": [
|
|
[
|
|
"f33442e9c3fb97aa"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "f33442e9c3fb97aa",
|
|
"type": "mongodb4",
|
|
"z": "a796bfad8ab76fe4",
|
|
"clientNode": "648a51546e4dadc6",
|
|
"mode": "collection",
|
|
"collection": "",
|
|
"operation": "",
|
|
"output": "toArray",
|
|
"maxTimeMS": "0",
|
|
"handleDocId": false,
|
|
"name": "",
|
|
"x": 1210,
|
|
"y": 260,
|
|
"wires": [
|
|
[
|
|
"a1f0210367ec78c3"
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "919761f72ff72c12",
|
|
"type": "file",
|
|
"z": "a796bfad8ab76fe4",
|
|
"name": "guardar valores",
|
|
"filename": "direcciones",
|
|
"filenameType": "str",
|
|
"appendNewline": true,
|
|
"createDir": false,
|
|
"overwriteFile": "false",
|
|
"encoding": "none",
|
|
"x": 1080,
|
|
"y": 340,
|
|
"wires": [
|
|
[]
|
|
]
|
|
},
|
|
{
|
|
"id": "6a58b6dfedf7cc13",
|
|
"type": "change",
|
|
"z": "a796bfad8ab76fe4",
|
|
"name": "",
|
|
"rules": [
|
|
{
|
|
"t": "set",
|
|
"p": "payload",
|
|
"pt": "msg",
|
|
"to": "referencia_geocache",
|
|
"tot": "msg"
|
|
}
|
|
],
|
|
"action": "",
|
|
"property": "",
|
|
"from": "",
|
|
"to": "",
|
|
"reg": false,
|
|
"x": 880,
|
|
"y": 340,
|
|
"wires": [
|
|
[
|
|
"919761f72ff72c12"
|
|
]
|
|
]
|
|
}
|
|
] |