f | { | f | { |
| "author": "", | | "author": "", |
| "author_email": "", | | "author_email": "", |
| "creator_user_id": "c028eea2-1878-47b8-843b-aa298066c249", | | "creator_user_id": "c028eea2-1878-47b8-843b-aa298066c249", |
| "data_owner": "Tampere", | | "data_owner": "Tampere", |
| "groups": [ | | "groups": [ |
| { | | { |
| "description": "This group collects together data related to the | | "description": "This group collects together data related to the |
| city of Tampere.", | | city of Tampere.", |
| "display_name": "Tampere", | | "display_name": "Tampere", |
| "id": "07adac22-b527-4417-82b9-41c7c24e6f4c", | | "id": "07adac22-b527-4417-82b9-41c7c24e6f4c", |
| "image_display_url": "", | | "image_display_url": "", |
| "name": "tampere", | | "name": "tampere", |
| "title": "Tampere" | | "title": "Tampere" |
| } | | } |
| ], | | ], |
| "id": "73444995-4438-4443-9402-b11cf84a7060", | | "id": "73444995-4438-4443-9402-b11cf84a7060", |
| "isopen": false, | | "isopen": false, |
| "license_id": "internal", | | "license_id": "internal", |
| "license_title": "For internal research and education use", | | "license_title": "For internal research and education use", |
| "maintainer": "Ville Heikkil\u00e4", | | "maintainer": "Ville Heikkil\u00e4", |
| "maintainer_email": "ville.heikkila@tuni.fi", | | "maintainer_email": "ville.heikkila@tuni.fi", |
| "metadata_created": "2022-10-17T08:24:38.547680", | | "metadata_created": "2022-10-17T08:24:38.547680", |
n | "metadata_modified": "2024-03-05T08:43:53.365681", | n | "metadata_modified": "2024-03-08T11:23:09.625079", |
| "name": "tampere-street-lights", | | "name": "tampere-street-lights", |
n | "notes": "Data from the street lights in Tampere including | n | "notes": "Data from the street light system of Tampere including |
| electrical measurements. See the | | electricity consumption,\r\nambient illuminance data and door sensor |
| | | data. There are 3 different control\r\ncabinets and 317 different |
| | | street light groups which together manage about 40000\r\nstreetlights. |
| | | Each control cabinet provides illuminance measurements. The |
| | | data\r\nalso contains the limit values at which the streetlights are |
| | | supposed to turn on\r\n or off. These limits can be different for each |
| | | control cabinet. Each street\r\nlight group provides electrical |
| | | intensity (electrical current) and voltage\r\nmeasurements. The |
| | | electrical data is given separately for each of the three\r\nphases. |
| | | The door sensor data relates to the street light groups. The data |
| | | also\r\ncontains information on which control cabinet controls which |
| | | street light group\r\n(each street light group can have either 1 or 2 |
| | | control cabinets). See |
| [CityIoT](https://ckan.energydata.rd.tuni.fi/organization/cityiot) | | \r\n[CityIoT](https://ckan.energydata.rd.tuni.fi/organization/cityiot) |
| project for general information about how the measurements are stored | | project for\r\ngeneral information about how the measurements are |
| and can be used. ", | | stored and can be used.\r\n\r\n## Data model\r\n\r\nThe FIWARE entity |
| | | types used in this data set are from |
| | | amodels.readthedocs.io/en/latest/Weather/doc/introduction.html)\r\nand |
| | | readthedocs.io/en/latest/StreetLighting/doc/introduction.html)\r\ndata |
| | | models. However some changes had to be made to the entity attributes |
| | | to\r\nfit them to the original data. The following entity types are |
| | | used.\r\n\r\n- |
| | | en/latest/StreetLighting/StreetlightControlCabinet/doc/spec.html):\r\n |
| | | Controllers of the street light groups. IlluminanceOn and |
| | | IlluminanceOff\r\n attributes were added to this type to represent |
| | | the values when the street\r\n lights should be turned on and |
| | | off.\r\n- |
| | | edocs.io/en/latest/StreetLighting/StreetlightGroup/doc/spec.html):\r\n |
| | | Represents a group of street lights . In this data set contains the |
| | | electrical\r\n measurements which in the original data model are part |
| | | of the control cabinet.\r\n- |
| | | amodels.readthedocs.io/en/latest/Device/Device/doc/spec.html):\r\nUsed |
| | | to represent door sensors and illuminance sensors. The illuminance |
| | | sensors\r\nare related to control cabinets and the door sensors to |
| | | street light groups. As\r\na change from the standard device data |
| | | model, The\r\nowner attribute is used to model these |
| | | relationships.\r\n- |
| | | s.readthedocs.io/en/latest/Weather/WeatherObserved/doc/spec.html):\r\n |
| | | Is used to model the illuminance measurements from the control |
| | | cabinets.\r\n\r\n## Notes about the data\r\n\r\n- The data was |
| | | originally stored in a different database system with its own\r\n |
| | | data model. From there it was then transfered and converted to the |
| | | CityIoT platform.\r\n- In the original data, locations were given only |
| | | as street addresses. For this\r\ndata set, the free service |
| | | <https://nominatim.openstreetmap.org/> was used to\r\nget the |
| | | corresponding latitude and longitude coordinates.\r\n- The illuminance |
| | | data contained only measurement values close to the point when\r\n |
| | | the streetlights were supposed to turn on or off. This means that |
| | | there is no\r\n measurements from midday or midnight. This was |
| | | intentional by the data\r\n provider, since the data was originally |
| | | meant to test whether the streetlight\r\n control system worked |
| | | properly.\r\n- Time resolution for illuminance measurements is about 4 |
| | | minutes. For the\r\n electrical intensity it is 2 or 3 hours though |
| | | there can be cases where\r\n measurements for one phase are reported |
| | | first then few minutes after there are\r\n measurements for the other |
| | | phases for example. Voltage is reported only couple\r\n times a |
| | | day.\r\n- UTC time is used with the timestamps.\r\n\r\n## Accessing |
| | | the data\r\n\r\nThe data is stored in the Tampere University CityIoT |
| | | platform. The used FIWARR\r\nservice is streetlight and all entities |
| | | there are under the service path\r\n/Tampere.\r\n\r\n### |
| | | Examples\r\n\r\nfind out the streetlight group entity ids which has |
| | | KV-0446 as a controller cabinet:\r\n\r\n curl -X GET |
| | | StreetlightGroup&q=refStreetlightCabinetController~=KV-0446&attrs=id\" |
| | | --header \"Fiware-Service: streetlight\" --header |
| | | \"Fiware-Servicepath: /Tampere\" --header \"apikey: |
| | | your_apikey\"\r\n\r\nFind out which streetlight groups have all phases |
| | | for intensity and voltage set with all values for intensity being |
| | | above 10 A:\r\n\r\n curl -X GET |
| | | e.L1!=null;voltage.L2!=null;voltage.L3!=null&attrs=intensity,voltage\" |
| | | --header \"Fiware-Service: streetlight\" --header |
| | | \"Fiware-Servicepath: /Tampere\" --header \"apikey: |
| | | your_apikey\"\r\n\r\nGet daily maximum illuminance values for street |
| | | light control cabinet KV-0217 between 4 January 2019 and 7 January |
| | | 2019:\r\n\r\n curl -X GET |
| | | T00:00:00Z&toDate=2019-01-07T23:59:59Z&aggrMethod=max&aggrPeriod=day\" |
| | | --header \"Fiware-Service: streetlight\" --header |
| | | \"Fiware-Servicepath: /Tampere\" --header \"apikey: |
| | | your_apikey\"\r\n", |
| "num_resources": 1, | | "num_resources": 1, |
| "num_tags": 3, | | "num_tags": 3, |
| "organization": { | | "organization": { |
| "approval_status": "approved", | | "approval_status": "approved", |
| "created": "2022-10-17T09:15:18.177419", | | "created": "2022-10-17T09:15:18.177419", |
| "description": "The [CityIoT project](https://www.cityiot.fi/) | | "description": "The [CityIoT project](https://www.cityiot.fi/) |
| collected smart city related data\r\nin Tampere about street lights, | | collected smart city related data\r\nin Tampere about street lights, |
| electric buses and bus passenger analytics. This\r\ndata is stored in | | electric buses and bus passenger analytics. This\r\ndata is stored in |
| a [FIWARE](https://www.fiware.org/) based platform. FIWARE is\r\na | | a [FIWARE](https://www.fiware.org/) based platform. FIWARE is\r\na |
| collection of standards and components for creating smart solutions. | | collection of standards and components for creating smart solutions. |
| The\r\nplatform is available at the URL | | The\r\nplatform is available at the URL |
| https://tlt-cityiot.rd.tuni.fi/. The data is\r\navailable via the HTTP | | https://tlt-cityiot.rd.tuni.fi/. The data is\r\navailable via the HTTP |
| based APIs offered by the platform. To access any of the\r\ndata sets | | based APIs offered by the platform. To access any of the\r\ndata sets |
| an API key is required. If you are interested in using any of | | an API key is required. If you are interested in using any of |
| the\r\nCityIoT data sets, contact the person marked as the maintainer | | the\r\nCityIoT data sets, contact the person marked as the maintainer |
| of the data set. \r\n\r\nIn order to get the data and make use of it | | of the data set. \r\n\r\nIn order to get the data and make use of it |
| some understanding is required about\r\nthe following 3 aspects of the | | some understanding is required about\r\nthe following 3 aspects of the |
| CityIoT platform:\r\n\r\n1. The [NGSI v2 | | CityIoT platform:\r\n\r\n1. The [NGSI v2 |
| pecification](https://fiware.github.io/specifications/ngsiv2/stable/): | | pecification](https://fiware.github.io/specifications/ngsiv2/stable/): |
| defines the API used by the main FIWARE component\r\nthe Orion context | | defines the API used by the main FIWARE component\r\nthe Orion context |
| broker and also the entity based data model used by all | | broker and also the entity based data model used by all |
| FIWARE\r\ncomponents.\r\n2. The [Orion context | | FIWARE\r\ncomponents.\r\n2. The [Orion context |
| broker](https://fiware-orion.readthedocs.io/en/master/): Has the most | | broker](https://fiware-orion.readthedocs.io/en/master/): Has the most |
| recent version of the data i.e. NGSI v2\r\nentities. This data can be | | recent version of the data i.e. NGSI v2\r\nentities. This data can be |
| queried or subscribed to so that you get notified\r\nwhen the data | | queried or subscribed to so that you get notified\r\nwhen the data |
| changes.\r\n3. | | changes.\r\n3. |
| [QuantumLeap](https://quantumleap.readthedocs.io/en/latest/): Stores | | [QuantumLeap](https://quantumleap.readthedocs.io/en/latest/): Stores |
| NGSI v2 entity data into a timeseries data base. It allows\r\nthen the | | NGSI v2 entity data into a timeseries data base. It allows\r\nthen the |
| querying of this historic data via an HTTP API.\r\n\r\nSo in short, | | querying of this historic data via an HTTP API.\r\n\r\nSo in short, |
| understand the NGSI v2 data model so you know what kind of | | understand the NGSI v2 data model so you know what kind of |
| data\r\nstructures you are dealing with. Use Orion if you want a | | data\r\nstructures you are dealing with. Use Orion if you want a |
| programmatic way to\r\nlist all available data entities, query their | | programmatic way to\r\nlist all available data entities, query their |
| current state or subscribe to\r\nchanges in their state. Use | | current state or subscribe to\r\nchanges in their state. Use |
| QuantumLeap if you want to explore how the entities\r\nhave changed | | QuantumLeap if you want to explore how the entities\r\nhave changed |
| over time.\r\n\r\n## The data model\r\n\r\nIn FIWARe NGSI v2 data is | | over time.\r\n\r\n## The data model\r\n\r\nIn FIWARe NGSI v2 data is |
| modelled as context entities. Entities can represent\r\nlogical of | | modelled as context entities. Entities can represent\r\nlogical of |
| physical things such as a sensor, a person or a weather | | physical things such as a sensor, a person or a weather |
| observation.\r\nEntities have a id and a type indicating what the | | observation.\r\nEntities have a id and a type indicating what the |
| entity represents. Entities\r\nthen can have various attributes | | entity represents. Entities\r\nthen can have various attributes |
| providing information about them. The entity\r\ntype determines what | | providing information about them. The entity\r\ntype determines what |
| attributes an entity should have. This way domain specific\r\ndata | | attributes an entity should have. This way domain specific\r\ndata |
| models can be created by defining the needed entity types and | | models can be created by defining the needed entity types and |
| their\r\nattributes. For example weather observation could have | | their\r\nattributes. For example weather observation could have |
| attributes for\r\ntemperature, humidity and the location for the | | attributes for\r\ntemperature, humidity and the location for the |
| observation. An attribute has a\r\nname and a value including data | | observation. An attribute has a\r\nname and a value including data |
| type for the value. An attribute can also have\r\nmetadata such as | | type for the value. An attribute can also have\r\nmetadata such as |
| timestamp for when the value was acquired or what is | | timestamp for when the value was acquired or what is |
| the\r\nmeasurement accuracy for the value. The documentation for each | | the\r\nmeasurement accuracy for the value. The documentation for each |
| CityIoT data set\r\nexplains what entity types the data consists of | | CityIoT data set\r\nexplains what entity types the data consists of |
| and what attributes the entities have.\r\n\r\nThe entities are | | and what attributes the entities have.\r\n\r\nThe entities are |
| represented as JSON. For example an entity representing an\r\nelectric | | represented as JSON. For example an entity representing an\r\nelectric |
| bus from one of the CityIoT data sets looks like this with only part | | bus from one of the CityIoT data sets looks like this with only part |
| of\r\nthe attributes included:\r\n\r\n {\r\n \"id\": | | of\r\nthe attributes included:\r\n\r\n {\r\n \"id\": |
| \"Vehicle:TKL16\",\r\n \"type\": \"Vehicle\",\r\n | | \"Vehicle:TKL16\",\r\n \"type\": \"Vehicle\",\r\n |
| \"vehicleType\": {\r\n \"value\": \"bus\"\r\n },\r\n | | \"vehicleType\": {\r\n \"value\": \"bus\"\r\n },\r\n |
| \"name\": {\r\n \"value\": \"TKL16\"\r\n },\r\n | | \"name\": {\r\n \"value\": \"TKL16\"\r\n },\r\n |
| \"location\": {\r\n \"type\": \"geo:json\",\r\n | | \"location\": {\r\n \"type\": \"geo:json\",\r\n |
| \"value\": {\r\n \"type\": \"Point\",\r\n | | \"value\": {\r\n \"type\": \"Point\",\r\n |
| \"coordinates\": [23.769203333333333, 61.49531666666667]\r\n | | \"coordinates\": [23.769203333333333, 61.49531666666667]\r\n |
| },\r\n \"metadata\": {\r\n \"timestamp\": | | },\r\n \"metadata\": {\r\n \"timestamp\": |
| {\r\n \"type\": \"DateTime\",\r\n | | {\r\n \"type\": \"DateTime\",\r\n |
| \"value\": \"2019-04-03T14:52:18.192881Z\"\r\n }\r\n | | \"value\": \"2019-04-03T14:52:18.192881Z\"\r\n }\r\n |
| }\r\n },\r\n \"speed\": {\r\n \"value\": | | }\r\n },\r\n \"speed\": {\r\n \"value\": |
| 34.5,\r\n \"metadata\": {\r\n \"timestamp\": | | 34.5,\r\n \"metadata\": {\r\n \"timestamp\": |
| {\r\n \"type\": \"DateTime\",\r\n | | {\r\n \"type\": \"DateTime\",\r\n |
| \"value\": \"2019-04-03T14:52:19.867419Z\"\r\n }\r\n | | \"value\": \"2019-04-03T14:52:19.867419Z\"\r\n }\r\n |
| }\r\n }, \r\n \"power\": {\r\n | | }\r\n }, \r\n \"power\": {\r\n |
| \"value\": 75.70000000000027,\r\n \"metadata\": {\r\n | | \"value\": 75.70000000000027,\r\n \"metadata\": {\r\n |
| \"timestamp\": {\r\n \"type\": \"DateTime\",\r\n | | \"timestamp\": {\r\n \"type\": \"DateTime\",\r\n |
| \"value\": \"2019-04-03T14:52:20.218114Z\"\r\n }\r\n | | \"value\": \"2019-04-03T14:52:20.218114Z\"\r\n }\r\n |
| }\r\n },\r\n \"chargeState\": {\r\n | | }\r\n },\r\n \"chargeState\": {\r\n |
| \"value\": 87,\r\n \"metadata\": {\r\n | | \"value\": 87,\r\n \"metadata\": {\r\n |
| \"timestamp\": {\r\n \"type\": \"DateTime\",\r\n | | \"timestamp\": {\r\n \"type\": \"DateTime\",\r\n |
| \"value\": \"2019-04-03T14:52:16.938936Z\"\r\n }\r\n | | \"value\": \"2019-04-03T14:52:16.938936Z\"\r\n }\r\n |
| }\r\n }\r\n }\r\n\r\n\r\n## The Orion context | | }\r\n }\r\n }\r\n\r\n\r\n## The Orion context |
| broker\r\n\r\nThe Orion context broker stores the latest versions of | | broker\r\n\r\nThe Orion context broker stores the latest versions of |
| all entities. Its API is\r\nused to query information about the | | all entities. Its API is\r\nused to query information about the |
| entities or subscribe to changes in their\r\nattributes. The Tampere | | entities or subscribe to changes in their\r\nattributes. The Tampere |
| CityIoT Orion API is available at the | | CityIoT Orion API is available at the |
| URL\r\nhttps://tlt-cityiot.rd.tuni.fi/orion/\r\n\r\nTo separate the | | URL\r\nhttps://tlt-cityiot.rd.tuni.fi/orion/\r\n\r\nTo separate the |
| entities of the different data sets, Orions multi tenancy\r\nfeature | | entities of the different data sets, Orions multi tenancy\r\nfeature |
| is used. Data is separated into different services and under a | | is used. Data is separated into different services and under a |
| service\r\nhierarchical service paths can be used for more | | service\r\nhierarchical service paths can be used for more |
| fine-grained data organization.\r\nIn API calls the service and | | fine-grained data organization.\r\nIn API calls the service and |
| service path are given in HTTP headers:\r\n`Fiware-Service` for the | | service path are given in HTTP headers:\r\n`Fiware-Service` for the |
| service and `Fiware-ServicePath` for the service path. For\r\naccess | | service and `Fiware-ServicePath` for the service path. For\r\naccess |
| control API keys are used. The API key is given in the `apikey` HTTP | | control API keys are used. The API key is given in the `apikey` HTTP |
| header.\r\nDocumentation for each data set tells what service is used | | header.\r\nDocumentation for each data set tells what service is used |
| and how service paths\r\nare used. You can get an API key by | | and how service paths\r\nare used. You can get an API key by |
| requesting access to a data set from the\r\nmaintainer of the data | | requesting access to a data set from the\r\nmaintainer of the data |
| set. As an example how all this works in practice, the\r\n[Tampere | | set. As an example how all this works in practice, the\r\n[Tampere |
| electric | | electric |
| ckan.energydata.rd.tuni.fi/dataset/tampere-electric-bus-pilot)\r\ndata | | ckan.energydata.rd.tuni.fi/dataset/tampere-electric-bus-pilot)\r\ndata |
| set has entities representing electric buses in service | | set has entities representing electric buses in service |
| public_transport\r\nunder the service path /Tampere/electric_bus. | | public_transport\r\nunder the service path /Tampere/electric_bus. |
| Using the command line HTTP client\r\ncurl, this is how to get all the | | Using the command line HTTP client\r\ncurl, this is how to get all the |
| electric bus entities and their attributes from\r\nOrion:\r\n\r\n | | electric bus entities and their attributes from\r\nOrion:\r\n\r\n |
| curl -H 'Fiware-Service: public_transport' -H 'Fiware-ServicePath: | | curl -H 'Fiware-Service: public_transport' -H 'Fiware-ServicePath: |
| /Tampere/electric_bus' -H 'apikey: your_apikey' | | /Tampere/electric_bus' -H 'apikey: your_apikey' |
| \"https://tlt-cityiot.rd.tuni.fi/orion/v2/entities\"\r\n\r\n## | | \"https://tlt-cityiot.rd.tuni.fi/orion/v2/entities\"\r\n\r\n## |
| QuantumLeap\r\n\r\nQuantumLeap stores the change history of the | | QuantumLeap\r\n\r\nQuantumLeap stores the change history of the |
| entities in a timeseries database.\r\nThis can then be queried via its | | entities in a timeseries database.\r\nThis can then be queried via its |
| API. The Tampere CityIoT QuantumLeap is\r\navailable at the URL: | | API. The Tampere CityIoT QuantumLeap is\r\navailable at the URL: |
| https://tlt-cityiot.rd.tuni.fi/quantumleap/\r\n\r\nIt uses the same | | https://tlt-cityiot.rd.tuni.fi/quantumleap/\r\n\r\nIt uses the same |
| service and service path\r\nsystem to organize entities as Orion. The | | service and service path\r\nsystem to organize entities as Orion. The |
| same API key based authentication\r\nsystem is also used. See the | | same API key based authentication\r\nsystem is also used. See the |
| Orion section for more details. For example to Get\r\nall values for | | Orion section for more details. For example to Get\r\nall values for |
| power and speed for electric bus entity TKL15 between 14:01 and 14:02 | | power and speed for electric bus entity TKL15 between 14:01 and 14:02 |
| on\r\n28th of October 2019 with curl the following command would be | | on\r\n28th of October 2019 with curl the following command would be |
| used:\r\n\r\n curl -H 'Fiware-Service: public_transport' -H | | used:\r\n\r\n curl -H 'Fiware-Service: public_transport' -H |
| 'Fiware-ServicePath: /Tampere/electric_bus' -H 'apikey: your_apikey' | | 'Fiware-ServicePath: /Tampere/electric_bus' -H 'apikey: your_apikey' |
| ed,power&&fromDate=2019-10-28T12:01:00&&toDate=2019-10-28T12:02:00\"", | | ed,power&&fromDate=2019-10-28T12:01:00&&toDate=2019-10-28T12:02:00\"", |
| "id": "ede7b870-2dff-4a89-889e-1bb3980ffa6f", | | "id": "ede7b870-2dff-4a89-889e-1bb3980ffa6f", |
| "image_url": "", | | "image_url": "", |
| "is_organization": true, | | "is_organization": true, |
| "name": "cityiot", | | "name": "cityiot", |
| "state": "active", | | "state": "active", |
| "title": "CityIoT", | | "title": "CityIoT", |
| "type": "organization" | | "type": "organization" |
| }, | | }, |
| "owner_org": "ede7b870-2dff-4a89-889e-1bb3980ffa6f", | | "owner_org": "ede7b870-2dff-4a89-889e-1bb3980ffa6f", |
| "private": false, | | "private": false, |
| "relationships_as_object": [], | | "relationships_as_object": [], |
| "relationships_as_subject": [], | | "relationships_as_subject": [], |
| "resources": [ | | "resources": [ |
| { | | { |
| "cache_last_updated": null, | | "cache_last_updated": null, |
| "cache_url": null, | | "cache_url": null, |
| "created": "2022-10-17T08:25:30.444938", | | "created": "2022-10-17T08:25:30.444938", |
| "datastore_active": false, | | "datastore_active": false, |
| "description": "Placeholder for the actual documentation.", | | "description": "Placeholder for the actual documentation.", |
| "format": "text/markdown", | | "format": "text/markdown", |
| "hash": "", | | "hash": "", |
| "id": "850611d5-2b4b-4849-8a4c-bcf1e46d1c96", | | "id": "850611d5-2b4b-4849-8a4c-bcf1e46d1c96", |
| "last_modified": "2022-10-17T08:25:30.411018", | | "last_modified": "2022-10-17T08:25:30.411018", |
| "metadata_modified": "2022-10-17T08:25:31.107827", | | "metadata_modified": "2022-10-17T08:25:31.107827", |
| "mimetype": "text/markdown", | | "mimetype": "text/markdown", |
| "mimetype_inner": null, | | "mimetype_inner": null, |
| "name": "dummy_spec.md", | | "name": "dummy_spec.md", |
| "package_id": "73444995-4438-4443-9402-b11cf84a7060", | | "package_id": "73444995-4438-4443-9402-b11cf84a7060", |
| "position": 0, | | "position": 0, |
| "resource_type": null, | | "resource_type": null, |
| "size": 19685, | | "size": 19685, |
| "state": "active", | | "state": "active", |
| "url": | | "url": |
| e/850611d5-2b4b-4849-8a4c-bcf1e46d1c96/download/electric_bus_spec.md", | | e/850611d5-2b4b-4849-8a4c-bcf1e46d1c96/download/electric_bus_spec.md", |
| "url_type": "upload" | | "url_type": "upload" |
| } | | } |
| ], | | ], |
| "state": "active", | | "state": "active", |
| "tags": [ | | "tags": [ |
| { | | { |
| "display_name": "electricity", | | "display_name": "electricity", |
| "id": "0c58cb6b-5845-4112-9871-6adda7eaac59", | | "id": "0c58cb6b-5845-4112-9871-6adda7eaac59", |
| "name": "electricity", | | "name": "electricity", |
| "state": "active", | | "state": "active", |
| "vocabulary_id": null | | "vocabulary_id": null |
| }, | | }, |
| { | | { |
| "display_name": "street light", | | "display_name": "street light", |
| "id": "90cb5931-2582-4ea0-a5dd-c0aa32bea5a4", | | "id": "90cb5931-2582-4ea0-a5dd-c0aa32bea5a4", |
| "name": "street light", | | "name": "street light", |
| "state": "active", | | "state": "active", |
| "vocabulary_id": null | | "vocabulary_id": null |
| }, | | }, |
| { | | { |
| "display_name": "tampere", | | "display_name": "tampere", |
| "id": "c4067e38-120f-428f-8175-6e7196e617b8", | | "id": "c4067e38-120f-428f-8175-6e7196e617b8", |
| "name": "tampere", | | "name": "tampere", |
| "state": "active", | | "state": "active", |
| "vocabulary_id": null | | "vocabulary_id": null |
| } | | } |
| ], | | ], |
| "temporal_end": "2020-05-04", | | "temporal_end": "2020-05-04", |
t | "temporal_resolution": "", | t | "temporal_resolution": "varies between the various types of data", |
| "temporal_start": "2018-10-01", | | "temporal_start": "2018-10-01", |
| "title": "Tampere street lights", | | "title": "Tampere street lights", |
| "type": "dataset", | | "type": "dataset", |
| "url": "", | | "url": "", |
| "version": "" | | "version": "" |
| } | | } |