Esta herramienta ha sido realizada para poder insertar la información de los sensores recibida de un Context Broker en una cuenta de ArcGIS Online o ArcGIS Server.
A continuación se explica como instalar el conector.
Para instalar Fiware-ArcGIS tan solo hay que ejecutar las siguientes órdenes:
$ git clone [email protected]:esri-es/fiware_arcgis.git
$ cd fiware_arcgis
$ npm install
$ node fiware_arcgis.js
Con esta orden lanzamos el servidor y queda a la espera de recibir peticiones del Context Broker para procesar la información y añadirla a ArcGIS Online/Server.
Vamos el fichero de configuraciones del servidor (config.json):
{
"debug": false,
"port": 4003,
"username": "<tu usuario>",
"password": "<tu password>",
"root_url": "www.arcgis.com",
"services_url": "services1.arcgis.com",
"account_id": "<tu id de cuenta>",
"sensors":{
"traffic" : {
"serviceName": "Sensores tipo TRAFFIC de Santander",
"route": "/santander_traffic",
"fields": [
["TimeInstant", "esriFieldTypeDate"],
["id", "esriFieldTypeString"],
["Latitud", "esriFieldTypeDouble"],
["Longitud", "esriFieldTypeDouble"],
["average_speed", "esriFieldTypeDouble"],
["median_speed", "esriFieldTypeDouble"],
["occupancy", "esriFieldTypeDouble"],
["trafficIntensity", "esriFieldTypeDouble"]
]
},
"lux" : {
"serviceName": "Sensores tipo LUX de Santander",
"route": "/santander_lux",
"fields": [
["TimeInstant", "esriFieldTypeDate"],
["id", "esriFieldTypeString"],
["Latitud", "esriFieldTypeDouble"],
["Longitud", "esriFieldTypeDouble"],
["temperature", "esriFieldTypeDouble"],
["luminousFlux", "esriFieldTypeDouble"],
["batteryCharge", "esriFieldTypeDouble"],
["acceleration", "esriFieldTypeDouble"]
]
},
"sound" : {
"serviceName": "Sensores tipo SOUND Santander",
"route": "/santander_sound",
"fields": [
["TimeInstant", "esriFieldTypeDate"],
["id", "esriFieldTypeString"],
["Latitud", "esriFieldTypeDouble"],
["Longitud", "esriFieldTypeDouble"],
["sound", "esriFieldTypeDouble"],
["batteryCharge", "esriFieldTypeDouble"]
]
},
"soundacc" : {
"serviceName": "Sensores tipo SOUNDACC Santander",
"route": "/santander_soundacc",
"fields": [
["TimeInstant", "esriFieldTypeDate"],
["id", "esriFieldTypeString"],
["Latitud", "esriFieldTypeDouble"],
["Longitud", "esriFieldTypeDouble"],
["sound", "esriFieldTypeDouble"],
["batteryCharge", "esriFieldTypeDouble"],
["acceleration", "esriFieldTypeDouble"]
]
},
"bus" : {
"serviceName": "Sensores tipo BUS Santander",
"route": "/santander_bus",
"fields": [
["TimeInstant", "esriFieldTypeDate"],
["TimeInstantModified", "esriFieldTypeDate"],
["id", "esriFieldTypeString"],
["index", "esriFieldTypeString"],
["line", "esriFieldTypeString"],
["position", "esriFieldTypeString"],
["service", "esriFieldTypeDouble"],
["speed", "esriFieldTypeDouble"],
["status", "esriFieldTypeDouble"],
["vehicle", "esriFieldTypeDouble"]
]
}
}
}
Veamos a continuación las variables contenidas en el fichero:
- debug: Si está establecida a False indicará que no queremos que imprima por consola las trazas del programa.
- port: indica el puerto en el que queremos que corra el servidor
- username: usuario nominal
- password: password del usuario nominal
- root_url: www.arcgis.com en caso de usar ArcGIS Online; o la url donde se encuentre tu Portal en caso de ArcGIS Server. Es necesario para las llamadas a generateToken, isServiceNameAvailable y createService
- services_url: url del servicio donde se alojan tus features services (en caso de ArcGIS Online es normalmente: services1.arcgis.com). Es necesario para la llamada a addFeatures
- account_id: Identificador a continuación de la root_url. Necesario para la llamada a isServiceNameAvailable
- sensors: es un objecto que incluye tantos objetos como sensores vayamos a recibir (dependerá de las suscripciones realizadas al context broker), por cada sensor deberemos indicar:
- serviceName: nombre que queremos que tenga el servicio en el que alojaremos los datos
- route: ruta en la que queremos que el servicio quede a la escucha de la información del sensor
- fields: un array de arrays con el nombre de los atributos y el tipo del sensor que deseamos almacenar en la capa
En la siguiente imagen se muestran dónde se pueden encontrar los valores de services_url y account_id en ArcGIS Online: