{"id":13506086,"url":"https://github.com/esri-es/Fiware-ArcGIS","last_synced_at":"2025-03-30T03:30:32.188Z","repository":{"id":79949910,"uuid":"41743527","full_name":"esri-es/Fiware-ArcGIS","owner":"esri-es","description":"Middleware that allows Fiware Context Broker notifications to be stored in ArcGIS Online or ArcGIS Server","archived":false,"fork":false,"pushed_at":"2017-08-03T14:51:11.000Z","size":400,"stargazers_count":2,"open_issues_count":6,"forks_count":3,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-03-17T09:03:38.125Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/esri-es.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-09-01T14:30:12.000Z","updated_at":"2015-09-25T13:43:21.000Z","dependencies_parsed_at":"2023-05-24T11:30:29.316Z","dependency_job_id":null,"html_url":"https://github.com/esri-es/Fiware-ArcGIS","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esri-es%2FFiware-ArcGIS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esri-es%2FFiware-ArcGIS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esri-es%2FFiware-ArcGIS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esri-es%2FFiware-ArcGIS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/esri-es","download_url":"https://codeload.github.com/esri-es/Fiware-ArcGIS/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246273533,"owners_count":20750904,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T01:00:34.350Z","updated_at":"2025-03-30T03:30:32.182Z","avatar_url":"https://github.com/esri-es.png","language":"JavaScript","funding_links":[],"categories":["Open-Source FIWARE from third parties"],"sub_categories":["Processing"],"readme":"[README en Español](README_ES.md)\r\n\r\nThis tool allows you to add sensor information received from a Context Broker into an ArcGIS Online or ArcGIS Server account.\r\n\r\n# Fiware-ArcGIS\r\n\r\n## How to\r\nTo install Fiware-ArcGIS you just need to execute the following commands:\r\n\r\n``` \r\n$ git clone git@github.com:esri-es/fiware_arcgis.git\r\n$ cd fiware_arcgis\r\n$ npm install\r\n$ node fiware_arcgis.js \r\n```\r\n\r\nWith these commands we launched the server and waits until we receive any requests from the Context Broker to process the information and add it to ArcGIS Online / Server.\r\n\r\n## Configuration file\r\n\r\nLet's review the configuration file (*config.json*):\r\n```javascript\r\n{\r\n    \"debug\": false,\r\n    \"port\": 4003,\r\n    \"username\": \"\u003cyour user\u003e\",\r\n    \"password\": \"\u003cyour password\u003e\",\r\n    \"root_url\": \"www.arcgis.com\",\r\n    \"services_url\": \"services1.arcgis.com\",\r\n    \"account_id\": \"\u003cyour account id\u003e\",\r\n    \"sensors\":{\r\n\r\n        \"traffic\" : {\r\n            \"serviceName\": \"Traffic sensors\",\r\n            \"route\": \"/santander_traffic\",\r\n            \"fields\": [\r\n                [\"TimeInstant\", \"esriFieldTypeDate\"],\r\n                [\"id\", \"esriFieldTypeString\"],\r\n                [\"Latitud\", \"esriFieldTypeDouble\"],\r\n                [\"Longitud\", \"esriFieldTypeDouble\"],\r\n                [\"average_speed\", \"esriFieldTypeDouble\"],\r\n                [\"median_speed\", \"esriFieldTypeDouble\"],\r\n                [\"occupancy\", \"esriFieldTypeDouble\"],\r\n                [\"trafficIntensity\", \"esriFieldTypeDouble\"]\r\n            ]\r\n        },\r\n\r\n        \"lux\" : {\r\n            \"serviceName\": \"Lux sensors\",\r\n            \"route\": \"/santander_lux\",\r\n            \"fields\": [\r\n                [\"TimeInstant\", \"esriFieldTypeDate\"],\r\n                [\"id\", \"esriFieldTypeString\"],\r\n                [\"Latitud\", \"esriFieldTypeDouble\"],\r\n                [\"Longitud\", \"esriFieldTypeDouble\"],\r\n                [\"temperature\", \"esriFieldTypeDouble\"],\r\n                [\"luminousFlux\", \"esriFieldTypeDouble\"],\r\n                [\"batteryCharge\", \"esriFieldTypeDouble\"],\r\n                [\"acceleration\", \"esriFieldTypeDouble\"]\r\n            ]\r\n        },\r\n\r\n        \"sound\" : {\r\n            \"serviceName\": \"Sound sensors\",\r\n            \"route\": \"/santander_sound\",\r\n            \"fields\": [\r\n                [\"TimeInstant\", \"esriFieldTypeDate\"],\r\n                [\"id\", \"esriFieldTypeString\"],\r\n                [\"Latitud\", \"esriFieldTypeDouble\"],\r\n                [\"Longitud\", \"esriFieldTypeDouble\"],\r\n                [\"sound\", \"esriFieldTypeDouble\"],\r\n                [\"batteryCharge\", \"esriFieldTypeDouble\"]\r\n            ]\r\n        },\r\n\r\n        \"soundacc\" : {\r\n            \"serviceName\": \"Soundacc sensors\",\r\n            \"route\": \"/santander_soundacc\",\r\n            \"fields\": [\r\n                [\"TimeInstant\", \"esriFieldTypeDate\"],\r\n                [\"id\", \"esriFieldTypeString\"],\r\n                [\"Latitud\", \"esriFieldTypeDouble\"],\r\n                [\"Longitud\", \"esriFieldTypeDouble\"],\r\n                [\"sound\", \"esriFieldTypeDouble\"],\r\n                [\"batteryCharge\", \"esriFieldTypeDouble\"],\r\n                [\"acceleration\", \"esriFieldTypeDouble\"]\r\n            ]\r\n        },\r\n\r\n        \"bus\" : {\r\n            \"serviceName\": \"Bus sensors\",\r\n            \"route\": \"/santander_bus\",\r\n            \"fields\": [\r\n                [\"TimeInstant\", \"esriFieldTypeDate\"],\r\n                [\"TimeInstantModified\", \"esriFieldTypeDate\"],\r\n                [\"id\", \"esriFieldTypeString\"],\r\n                [\"index\", \"esriFieldTypeString\"],\r\n                [\"line\", \"esriFieldTypeString\"],\r\n                [\"position\", \"esriFieldTypeString\"],\r\n                [\"service\", \"esriFieldTypeDouble\"],\r\n                [\"speed\", \"esriFieldTypeDouble\"],\r\n                [\"status\", \"esriFieldTypeDouble\"],\r\n                [\"vehicle\", \"esriFieldTypeDouble\"]\r\n            ]\r\n        }\r\n    }\r\n}\r\n```\r\n\r\nLet's see the configurations variables:\r\n\r\n* **debug**: *True/False* if we want to activate/desactivate the verbose mode.\r\n* **port**: Listening port\r\n* **username**: nominal user\r\n* **password**: nominal user's password\r\n* **root_url**: *www.arcgis.com* if we want to user ArcGIS Online; or the url where the *Portal for ArcGIS* is located in case you want to use *ArcGIS Server*. It's neccesary to call the [*generateToken*](http://resources.arcgis.com/en/help/arcgis-rest-api/index.html#/Generate_Token/02r3000000m5000000/), [*isServiceNameAvailable*](http://resources.arcgis.com/en/help/arcgis-rest-api/index.html#//02r300000076000000) and [*createService*](http://resources.arcgis.com/en/help/arcgis-rest-api/index.html#//02r30000027r000000) methods\r\n* **services_url**: url where the app is going to hostyour features services (en caso de ArcGIS Online es normalmente: *services1.arcgis.com*). It's neccesary to call the [*addFeatures*](http://resources.arcgis.com/en/help/arcgis-rest-api/index.html#/Add_Features/02r30000010m000000/) method.\r\n* **account_id**: Identifier after the *root_url*. Neccesary to call the [*isServiceNameAvailable*](http://resources.arcgis.com/en/help/arcgis-rest-api/index.html#//02r300000076000000) method.\r\n* **sensors**: It's a JSON object that includes as many sensor descriptions as you need (normally you will add one for each Context Broker suscription), for each sensor we must specify:\r\n  * **serviceName**: name we want to use to host the data\r\n  * **route**: path where the app is going to be listening\r\n  * **fields**: it's an array of arrays with two elements: the attribute name and the field type\r\n\r\nThe next image shows where you will find the **services_url** and **account_id** values in ArcGIS Online:\r\n\u003cimg src=\"/docs/fiware_agol_params.png\" style=\"width:100%\"\u003e\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fesri-es%2FFiware-ArcGIS","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fesri-es%2FFiware-ArcGIS","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fesri-es%2FFiware-ArcGIS/lists"}