Changes
On March 25, 2024 at 3:09:47 PM +0200, hylli:
-
Added resource data model documentation to Tampere bus passenger analytics pilot
f | 1 | { | f | 1 | { |
2 | "author": "", | 2 | "author": "", | ||
3 | "author_email": "", | 3 | "author_email": "", | ||
4 | "creator_user_id": "c028eea2-1878-47b8-843b-aa298066c249", | 4 | "creator_user_id": "c028eea2-1878-47b8-843b-aa298066c249", | ||
5 | "data_owner": "Tampere", | 5 | "data_owner": "Tampere", | ||
6 | "groups": [], | 6 | "groups": [], | ||
7 | "id": "c24a59a7-62eb-4807-ae97-e00bf5b698db", | 7 | "id": "c24a59a7-62eb-4807-ae97-e00bf5b698db", | ||
8 | "isopen": false, | 8 | "isopen": false, | ||
9 | "license_id": "internal", | 9 | "license_id": "internal", | ||
10 | "license_title": "For internal research and education use", | 10 | "license_title": "For internal research and education use", | ||
11 | "maintainer": "Otto Hylli", | 11 | "maintainer": "Otto Hylli", | ||
12 | "maintainer_email": "otto.hylli@tuni.fi", | 12 | "maintainer_email": "otto.hylli@tuni.fi", | ||
13 | "metadata_created": "2024-03-25T13:06:08.677152", | 13 | "metadata_created": "2024-03-25T13:06:08.677152", | ||
n | 14 | "metadata_modified": "2024-03-25T13:06:08.677160", | n | 14 | "metadata_modified": "2024-03-25T13:09:47.193773", |
15 | "name": "tampere-bus-passenger-analytics-pilot", | 15 | "name": "tampere-bus-passenger-analytics-pilot", | ||
16 | "notes": "Bus passenger analytics data from a small city of Tampere | 16 | "notes": "Bus passenger analytics data from a small city of Tampere | ||
17 | pilot project. The\r\ntechnology including the original backend system | 17 | pilot project. The\r\ntechnology including the original backend system | ||
18 | was by the Spanish company\r\n[Counterest](https://counterest.net/). | 18 | was by the Spanish company\r\n[Counterest](https://counterest.net/). | ||
19 | In the pilot 3D character recognition\r\nsensors were installed to one | 19 | In the pilot 3D character recognition\r\nsensors were installed to one | ||
20 | bus operating on a single line between\r\nPyynikintori and Rauhaniemi. | 20 | bus operating on a single line between\r\nPyynikintori and Rauhaniemi. | ||
21 | The sensors were\r\nused to count people entering and leaving the bus. | 21 | The sensors were\r\nused to count people entering and leaving the bus. | ||
22 | This sensor data together\r\nwith location and bus route information | 22 | This sensor data together\r\nwith location and bus route information | ||
23 | was then used to create various\r\nanalytics in the system backend. | 23 | was then used to create various\r\nanalytics in the system backend. | ||
24 | These include line level statistics, stop level\r\nstatistics, | 24 | These include line level statistics, stop level\r\nstatistics, | ||
25 | statistics for travels between specific stops on a line | 25 | statistics for travels between specific stops on a line | ||
26 | and\r\nstatistics showing passenger amounts for each hour during | 26 | and\r\nstatistics showing passenger amounts for each hour during | ||
27 | different weekdays.\r\nThe data could be inspected with a web | 27 | different weekdays.\r\nThe data could be inspected with a web | ||
28 | dashboard. The data was collected between\r\nFebruary and April 2019. | 28 | dashboard. The data was collected between\r\nFebruary and April 2019. | ||
29 | During this period there were some occasional | 29 | During this period there were some occasional | ||
30 | technical\r\ndifficulties so not all possible data was collected. A | 30 | technical\r\ndifficulties so not all possible data was collected. A | ||
31 | subset of this data was\r\ntransfered into the Tampere University | 31 | subset of this data was\r\ntransfered into the Tampere University | ||
32 | FIWARE platform and is the only part of\r\nthe data that is currently | 32 | FIWARE platform and is the only part of\r\nthe data that is currently | ||
33 | available. See | 33 | available. See | ||
34 | \r\n[CityIoT](https://ckan.energydata.rd.tuni.fi/organization/cityiot) | 34 | \r\n[CityIoT](https://ckan.energydata.rd.tuni.fi/organization/cityiot) | ||
35 | project for\r\ngeneral information about how the measurements are | 35 | project for\r\ngeneral information about how the measurements are | ||
36 | stored and can be used.\r\n\r\n## Data model\r\n\r\nThe data model is | 36 | stored and can be used.\r\n\r\n## Data model\r\n\r\nThe data model is | ||
37 | based on the official FIWARe | 37 | based on the official FIWARe | ||
38 | dels.readthedocs.io/en/latest/UrbanMobility/doc/introduction.html)\r\n | 38 | dels.readthedocs.io/en/latest/UrbanMobility/doc/introduction.html)\r\n | ||
39 | data model which in turn is based on the [General Transit Feed | 39 | data model which in turn is based on the [General Transit Feed | ||
40 | Specification](https://gtfs.org/).\r\nThe General Transit Feed | 40 | Specification](https://gtfs.org/).\r\nThe General Transit Feed | ||
41 | Specification (GTFS), also known as GTFS static or\r\nstatic transit, | 41 | Specification (GTFS), also known as GTFS static or\r\nstatic transit, | ||
42 | defines a common format for public transportation schedules | 42 | defines a common format for public transportation schedules | ||
43 | and\r\nassociated geographic information. GTFS \"feeds\" let public | 43 | and\r\nassociated geographic information. GTFS \"feeds\" let public | ||
44 | transit agencies\r\npublish their transit data and developers write | 44 | transit agencies\r\npublish their transit data and developers write | ||
45 | applications that consume that\r\ndata in an interoperable | 45 | applications that consume that\r\ndata in an interoperable | ||
46 | way.\r\n\r\nHowever this data model does not contain schedule | 46 | way.\r\n\r\nHowever this data model does not contain schedule | ||
47 | information and thus is not fully compatible with the Urban Transport | 47 | information and thus is not fully compatible with the Urban Transport | ||
48 | data model. Attributes for passenger amounts have been added and some | 48 | data model. Attributes for passenger amounts have been added and some | ||
49 | mandatory attributes such as arrival and departure times are not used | 49 | mandatory attributes such as arrival and departure times are not used | ||
50 | since that information is not available from the original data | 50 | since that information is not available from the original data | ||
51 | source.\r\n\r\nThe model consists of the following entity | 51 | source.\r\n\r\nThe model consists of the following entity | ||
52 | types:\r\n\r\n- GtfsRoute): Represents a bus route or line that | 52 | types:\r\n\r\n- GtfsRoute): Represents a bus route or line that | ||
53 | consists of trips.\r\n- GtfsTrip: Concrete implementations of the | 53 | consists of trips.\r\n- GtfsTrip: Concrete implementations of the | ||
54 | route with for example two trips representing the route to both | 54 | route with for example two trips representing the route to both | ||
55 | directions.\r\n- GtfsShape: GtfsShapes describe the physical path that | 55 | directions.\r\n- GtfsShape: GtfsShapes describe the physical path that | ||
56 | a vehicle takes. Shapes are associated with individual trips.\r\n- | 56 | a vehicle takes. Shapes are associated with individual trips.\r\n- | ||
57 | GtfsStop: Represents a bus stop i.e a location where buses pick up and | 57 | GtfsStop: Represents a bus stop i.e a location where buses pick up and | ||
58 | drop off passengers. \r\n- GtfsStopTime: Represents the bus stopping | 58 | drop off passengers. \r\n- GtfsStopTime: Represents the bus stopping | ||
59 | on a stop as a part of a trip. In other words these tell what stops a | 59 | on a stop as a part of a trip. In other words these tell what stops a | ||
60 | trip consists of.\r\n\r\nSee the attached documentation for detailed | 60 | trip consists of.\r\n\r\nSee the attached documentation for detailed | ||
61 | descriptions of the data model\r\nincluding used attributes.\r\n\r\n## | 61 | descriptions of the data model\r\nincluding used attributes.\r\n\r\n## | ||
62 | Notes about the data\r\n\r\nThe data is quite limited. It was | 62 | Notes about the data\r\n\r\nThe data is quite limited. It was | ||
63 | collected only from one line (GtfsRoute) and\r\nonly from one vehicle | 63 | collected only from one line (GtfsRoute) and\r\nonly from one vehicle | ||
64 | on that route. There were also some technical difficulties\r\nduring | 64 | on that route. There were also some technical difficulties\r\nduring | ||
65 | the data collection period so there is some missing data.\r\n\r\n## | 65 | the data collection period so there is some missing data.\r\n\r\n## | ||
66 | Accessing the data\r\n\r\nThe data is stored in the Tampere University | 66 | Accessing the data\r\n\r\nThe data is stored in the Tampere University | ||
67 | CityIoT platform. The used FIWARR\r\nservice is public_transport and | 67 | CityIoT platform. The used FIWARR\r\nservice is public_transport and | ||
68 | all entities there are under the service | 68 | all entities there are under the service | ||
69 | path\r\n/Tampere/passenger_analytics.\r\n\r\n### Example | 69 | path\r\n/Tampere/passenger_analytics.\r\n\r\n### Example | ||
70 | requests\r\n\r\nA few example curl commands for getting the data. | 70 | requests\r\n\r\nA few example curl commands for getting the data. | ||
71 | Replace your_apikey with a api key that has at least read access to | 71 | Replace your_apikey with a api key that has at least read access to | ||
72 | public_transport service.\r\n\r\nGet all GtfsTrip entities i.e. | 72 | public_transport service.\r\n\r\nGet all GtfsTrip entities i.e. | ||
73 | information about the route for both directions from Orion:\r\n\r\n | 73 | information about the route for both directions from Orion:\r\n\r\n | ||
74 | curl -H 'Fiware-Service: public_transport' -H 'Fiware-ServicePath: | 74 | curl -H 'Fiware-Service: public_transport' -H 'Fiware-ServicePath: | ||
75 | /Tampere/passenger_analytics' -H 'apikey: your_apikey' | 75 | /Tampere/passenger_analytics' -H 'apikey: your_apikey' | ||
76 | ://tlt-cityiot.rd.tuni.fi/orion/v2/entities?type=GtfsTrip\"\r\n\r\nGet | 76 | ://tlt-cityiot.rd.tuni.fi/orion/v2/entities?type=GtfsTrip\"\r\n\r\nGet | ||
77 | daily passenger statistics for the trip from Pyynikintori to | 77 | daily passenger statistics for the trip from Pyynikintori to | ||
78 | Rauhaniemi from Quantumleap for the 10 most recent days:\r\n\r\n | 78 | Rauhaniemi from Quantumleap for the 10 most recent days:\r\n\r\n | ||
79 | curl -H 'Fiware-Service: public_transport' -H 'Fiware-ServicePath: | 79 | curl -H 'Fiware-Service: public_transport' -H 'Fiware-ServicePath: | ||
80 | /Tampere/passenger_analytics' -H 'apikey: your_apikey' | 80 | /Tampere/passenger_analytics' -H 'apikey: your_apikey' | ||
81 | 2/entities/urn:ngsi-ld:GtfsTrip:1:2?lastN=10&attrs=dailyPassengers\"", | 81 | 2/entities/urn:ngsi-ld:GtfsTrip:1:2?lastN=10&attrs=dailyPassengers\"", | ||
n | 82 | "num_resources": 0, | n | 82 | "num_resources": 1, |
83 | "num_tags": 1, | 83 | "num_tags": 1, | ||
84 | "organization": { | 84 | "organization": { | ||
85 | "approval_status": "approved", | 85 | "approval_status": "approved", | ||
86 | "created": "2022-10-17T09:15:18.177419", | 86 | "created": "2022-10-17T09:15:18.177419", | ||
87 | "description": "The [CityIoT project](https://www.cityiot.fi/) | 87 | "description": "The [CityIoT project](https://www.cityiot.fi/) | ||
88 | collected smart city related data\r\nin Tampere about street lights, | 88 | collected smart city related data\r\nin Tampere about street lights, | ||
89 | electric buses and bus passenger analytics. This\r\ndata is stored in | 89 | electric buses and bus passenger analytics. This\r\ndata is stored in | ||
90 | a [FIWARE](https://www.fiware.org/) based platform. FIWARE is\r\na | 90 | a [FIWARE](https://www.fiware.org/) based platform. FIWARE is\r\na | ||
91 | collection of standards and components for creating smart solutions. | 91 | collection of standards and components for creating smart solutions. | ||
92 | The\r\nplatform is available at the URL | 92 | The\r\nplatform is available at the URL | ||
93 | https://tlt-cityiot.rd.tuni.fi/. The data is\r\navailable via the HTTP | 93 | https://tlt-cityiot.rd.tuni.fi/. The data is\r\navailable via the HTTP | ||
94 | based APIs offered by the platform. To access any of the\r\ndata sets | 94 | based APIs offered by the platform. To access any of the\r\ndata sets | ||
95 | an API key is required. If you are interested in using any of | 95 | an API key is required. If you are interested in using any of | ||
96 | the\r\nCityIoT data sets, contact the person marked as the maintainer | 96 | the\r\nCityIoT data sets, contact the person marked as the maintainer | ||
97 | of the data set. \r\n\r\nIn order to get the data and make use of it | 97 | of the data set. \r\n\r\nIn order to get the data and make use of it | ||
98 | some understanding is required about\r\nthe following 3 aspects of the | 98 | some understanding is required about\r\nthe following 3 aspects of the | ||
99 | CityIoT platform:\r\n\r\n1. The [NGSI v2 | 99 | CityIoT platform:\r\n\r\n1. The [NGSI v2 | ||
100 | pecification](https://fiware.github.io/specifications/ngsiv2/stable/): | 100 | pecification](https://fiware.github.io/specifications/ngsiv2/stable/): | ||
101 | defines the API used by the main FIWARE component\r\nthe Orion context | 101 | defines the API used by the main FIWARE component\r\nthe Orion context | ||
102 | broker and also the entity based data model used by all | 102 | broker and also the entity based data model used by all | ||
103 | FIWARE\r\ncomponents.\r\n2. The [Orion context | 103 | FIWARE\r\ncomponents.\r\n2. The [Orion context | ||
104 | broker](https://fiware-orion.readthedocs.io/en/master/): Has the most | 104 | broker](https://fiware-orion.readthedocs.io/en/master/): Has the most | ||
105 | recent version of the data i.e. NGSI v2\r\nentities. This data can be | 105 | recent version of the data i.e. NGSI v2\r\nentities. This data can be | ||
106 | queried or subscribed to so that you get notified\r\nwhen the data | 106 | queried or subscribed to so that you get notified\r\nwhen the data | ||
107 | changes.\r\n3. | 107 | changes.\r\n3. | ||
108 | [QuantumLeap](https://quantumleap.readthedocs.io/en/latest/): Stores | 108 | [QuantumLeap](https://quantumleap.readthedocs.io/en/latest/): Stores | ||
109 | NGSI v2 entity data into a timeseries data base. It allows\r\nthen the | 109 | NGSI v2 entity data into a timeseries data base. It allows\r\nthen the | ||
110 | querying of this historic data via an HTTP API.\r\n\r\nSo in short, | 110 | querying of this historic data via an HTTP API.\r\n\r\nSo in short, | ||
111 | understand the NGSI v2 data model so you know what kind of | 111 | understand the NGSI v2 data model so you know what kind of | ||
112 | data\r\nstructures you are dealing with. Use Orion if you want a | 112 | data\r\nstructures you are dealing with. Use Orion if you want a | ||
113 | programmatic way to\r\nlist all available data entities, query their | 113 | programmatic way to\r\nlist all available data entities, query their | ||
114 | current state or subscribe to\r\nchanges in their state. Use | 114 | current state or subscribe to\r\nchanges in their state. Use | ||
115 | QuantumLeap if you want to explore how the entities\r\nhave changed | 115 | QuantumLeap if you want to explore how the entities\r\nhave changed | ||
116 | over time.\r\n\r\n## The data model\r\n\r\nIn FIWARe NGSI v2 data is | 116 | over time.\r\n\r\n## The data model\r\n\r\nIn FIWARe NGSI v2 data is | ||
117 | modelled as context entities. Entities can represent\r\nlogical of | 117 | modelled as context entities. Entities can represent\r\nlogical of | ||
118 | physical things such as a sensor, a person or a weather | 118 | physical things such as a sensor, a person or a weather | ||
119 | observation.\r\nEntities have a id and a type indicating what the | 119 | observation.\r\nEntities have a id and a type indicating what the | ||
120 | entity represents. Entities\r\nthen can have various attributes | 120 | entity represents. Entities\r\nthen can have various attributes | ||
121 | providing information about them. The entity\r\ntype determines what | 121 | providing information about them. The entity\r\ntype determines what | ||
122 | attributes an entity should have. This way domain specific\r\ndata | 122 | attributes an entity should have. This way domain specific\r\ndata | ||
123 | models can be created by defining the needed entity types and | 123 | models can be created by defining the needed entity types and | ||
124 | their\r\nattributes. For example weather observation could have | 124 | their\r\nattributes. For example weather observation could have | ||
125 | attributes for\r\ntemperature, humidity and the location for the | 125 | attributes for\r\ntemperature, humidity and the location for the | ||
126 | observation. An attribute has a\r\nname and a value including data | 126 | observation. An attribute has a\r\nname and a value including data | ||
127 | type for the value. An attribute can also have\r\nmetadata such as | 127 | type for the value. An attribute can also have\r\nmetadata such as | ||
128 | timestamp for when the value was acquired or what is | 128 | timestamp for when the value was acquired or what is | ||
129 | the\r\nmeasurement accuracy for the value. The documentation for each | 129 | the\r\nmeasurement accuracy for the value. The documentation for each | ||
130 | CityIoT data set\r\nexplains what entity types the data consists of | 130 | CityIoT data set\r\nexplains what entity types the data consists of | ||
131 | and what attributes the entities have.\r\n\r\nThe entities are | 131 | and what attributes the entities have.\r\n\r\nThe entities are | ||
132 | represented as JSON. For example an entity representing an\r\nelectric | 132 | represented as JSON. For example an entity representing an\r\nelectric | ||
133 | bus from one of the CityIoT data sets looks like this with only part | 133 | bus from one of the CityIoT data sets looks like this with only part | ||
134 | of\r\nthe attributes included:\r\n\r\n {\r\n \"id\": | 134 | of\r\nthe attributes included:\r\n\r\n {\r\n \"id\": | ||
135 | \"Vehicle:TKL16\",\r\n \"type\": \"Vehicle\",\r\n | 135 | \"Vehicle:TKL16\",\r\n \"type\": \"Vehicle\",\r\n | ||
136 | \"vehicleType\": {\r\n \"value\": \"bus\"\r\n },\r\n | 136 | \"vehicleType\": {\r\n \"value\": \"bus\"\r\n },\r\n | ||
137 | \"name\": {\r\n \"value\": \"TKL16\"\r\n },\r\n | 137 | \"name\": {\r\n \"value\": \"TKL16\"\r\n },\r\n | ||
138 | \"location\": {\r\n \"type\": \"geo:json\",\r\n | 138 | \"location\": {\r\n \"type\": \"geo:json\",\r\n | ||
139 | \"value\": {\r\n \"type\": \"Point\",\r\n | 139 | \"value\": {\r\n \"type\": \"Point\",\r\n | ||
140 | \"coordinates\": [23.769203333333333, 61.49531666666667]\r\n | 140 | \"coordinates\": [23.769203333333333, 61.49531666666667]\r\n | ||
141 | },\r\n \"metadata\": {\r\n \"timestamp\": | 141 | },\r\n \"metadata\": {\r\n \"timestamp\": | ||
142 | {\r\n \"type\": \"DateTime\",\r\n | 142 | {\r\n \"type\": \"DateTime\",\r\n | ||
143 | \"value\": \"2019-04-03T14:52:18.192881Z\"\r\n }\r\n | 143 | \"value\": \"2019-04-03T14:52:18.192881Z\"\r\n }\r\n | ||
144 | }\r\n },\r\n \"speed\": {\r\n \"value\": | 144 | }\r\n },\r\n \"speed\": {\r\n \"value\": | ||
145 | 34.5,\r\n \"metadata\": {\r\n \"timestamp\": | 145 | 34.5,\r\n \"metadata\": {\r\n \"timestamp\": | ||
146 | {\r\n \"type\": \"DateTime\",\r\n | 146 | {\r\n \"type\": \"DateTime\",\r\n | ||
147 | \"value\": \"2019-04-03T14:52:19.867419Z\"\r\n }\r\n | 147 | \"value\": \"2019-04-03T14:52:19.867419Z\"\r\n }\r\n | ||
148 | }\r\n }, \r\n \"power\": {\r\n | 148 | }\r\n }, \r\n \"power\": {\r\n | ||
149 | \"value\": 75.70000000000027,\r\n \"metadata\": {\r\n | 149 | \"value\": 75.70000000000027,\r\n \"metadata\": {\r\n | ||
150 | \"timestamp\": {\r\n \"type\": \"DateTime\",\r\n | 150 | \"timestamp\": {\r\n \"type\": \"DateTime\",\r\n | ||
151 | \"value\": \"2019-04-03T14:52:20.218114Z\"\r\n }\r\n | 151 | \"value\": \"2019-04-03T14:52:20.218114Z\"\r\n }\r\n | ||
152 | }\r\n },\r\n \"chargeState\": {\r\n | 152 | }\r\n },\r\n \"chargeState\": {\r\n | ||
153 | \"value\": 87,\r\n \"metadata\": {\r\n | 153 | \"value\": 87,\r\n \"metadata\": {\r\n | ||
154 | \"timestamp\": {\r\n \"type\": \"DateTime\",\r\n | 154 | \"timestamp\": {\r\n \"type\": \"DateTime\",\r\n | ||
155 | \"value\": \"2019-04-03T14:52:16.938936Z\"\r\n }\r\n | 155 | \"value\": \"2019-04-03T14:52:16.938936Z\"\r\n }\r\n | ||
156 | }\r\n }\r\n }\r\n\r\n\r\n## The Orion context | 156 | }\r\n }\r\n }\r\n\r\n\r\n## The Orion context | ||
157 | broker\r\n\r\nThe Orion context broker stores the latest versions of | 157 | broker\r\n\r\nThe Orion context broker stores the latest versions of | ||
158 | all entities. Its API is\r\nused to query information about the | 158 | all entities. Its API is\r\nused to query information about the | ||
159 | entities or subscribe to changes in their\r\nattributes. The Tampere | 159 | entities or subscribe to changes in their\r\nattributes. The Tampere | ||
160 | CityIoT Orion API is available at the | 160 | CityIoT Orion API is available at the | ||
161 | URL\r\nhttps://tlt-cityiot.rd.tuni.fi/orion/\r\n\r\nTo separate the | 161 | URL\r\nhttps://tlt-cityiot.rd.tuni.fi/orion/\r\n\r\nTo separate the | ||
162 | entities of the different data sets, Orions multi tenancy\r\nfeature | 162 | entities of the different data sets, Orions multi tenancy\r\nfeature | ||
163 | is used. Data is separated into different services and under a | 163 | is used. Data is separated into different services and under a | ||
164 | service\r\nhierarchical service paths can be used for more | 164 | service\r\nhierarchical service paths can be used for more | ||
165 | fine-grained data organization.\r\nIn API calls the service and | 165 | fine-grained data organization.\r\nIn API calls the service and | ||
166 | service path are given in HTTP headers:\r\n`Fiware-Service` for the | 166 | service path are given in HTTP headers:\r\n`Fiware-Service` for the | ||
167 | service and `Fiware-ServicePath` for the service path. For\r\naccess | 167 | service and `Fiware-ServicePath` for the service path. For\r\naccess | ||
168 | control API keys are used. The API key is given in the `apikey` HTTP | 168 | control API keys are used. The API key is given in the `apikey` HTTP | ||
169 | header.\r\nDocumentation for each data set tells what service is used | 169 | header.\r\nDocumentation for each data set tells what service is used | ||
170 | and how service paths\r\nare used. You can get an API key by | 170 | and how service paths\r\nare used. You can get an API key by | ||
171 | requesting access to a data set from the\r\nmaintainer of the data | 171 | requesting access to a data set from the\r\nmaintainer of the data | ||
172 | set. As an example how all this works in practice, the\r\n[Tampere | 172 | set. As an example how all this works in practice, the\r\n[Tampere | ||
173 | electric | 173 | electric | ||
174 | ckan.energydata.rd.tuni.fi/dataset/tampere-electric-bus-pilot)\r\ndata | 174 | ckan.energydata.rd.tuni.fi/dataset/tampere-electric-bus-pilot)\r\ndata | ||
175 | set has entities representing electric buses in service | 175 | set has entities representing electric buses in service | ||
176 | public_transport\r\nunder the service path /Tampere/electric_bus. | 176 | public_transport\r\nunder the service path /Tampere/electric_bus. | ||
177 | Using the command line HTTP client\r\ncurl, this is how to get all the | 177 | Using the command line HTTP client\r\ncurl, this is how to get all the | ||
178 | electric bus entities and their attributes from\r\nOrion:\r\n\r\n | 178 | electric bus entities and their attributes from\r\nOrion:\r\n\r\n | ||
179 | curl -H 'Fiware-Service: public_transport' -H 'Fiware-ServicePath: | 179 | curl -H 'Fiware-Service: public_transport' -H 'Fiware-ServicePath: | ||
180 | /Tampere/electric_bus' -H 'apikey: your_apikey' | 180 | /Tampere/electric_bus' -H 'apikey: your_apikey' | ||
181 | \"https://tlt-cityiot.rd.tuni.fi/orion/v2/entities\"\r\n\r\n## | 181 | \"https://tlt-cityiot.rd.tuni.fi/orion/v2/entities\"\r\n\r\n## | ||
182 | QuantumLeap\r\n\r\nQuantumLeap stores the change history of the | 182 | QuantumLeap\r\n\r\nQuantumLeap stores the change history of the | ||
183 | entities in a timeseries database.\r\nThis can then be queried via its | 183 | entities in a timeseries database.\r\nThis can then be queried via its | ||
184 | API. The Tampere CityIoT QuantumLeap is\r\navailable at the URL: | 184 | API. The Tampere CityIoT QuantumLeap is\r\navailable at the URL: | ||
185 | https://tlt-cityiot.rd.tuni.fi/quantumleap/\r\n\r\nIt uses the same | 185 | https://tlt-cityiot.rd.tuni.fi/quantumleap/\r\n\r\nIt uses the same | ||
186 | service and service path\r\nsystem to organize entities as Orion. The | 186 | service and service path\r\nsystem to organize entities as Orion. The | ||
187 | same API key based authentication\r\nsystem is also used. See the | 187 | same API key based authentication\r\nsystem is also used. See the | ||
188 | Orion section for more details. For example to Get\r\nall values for | 188 | Orion section for more details. For example to Get\r\nall values for | ||
189 | power and speed for electric bus entity TKL15 between 14:01 and 14:02 | 189 | power and speed for electric bus entity TKL15 between 14:01 and 14:02 | ||
190 | on\r\n28th of October 2019 with curl the following command would be | 190 | on\r\n28th of October 2019 with curl the following command would be | ||
191 | used:\r\n\r\n curl -H 'Fiware-Service: public_transport' -H | 191 | used:\r\n\r\n curl -H 'Fiware-Service: public_transport' -H | ||
192 | 'Fiware-ServicePath: /Tampere/electric_bus' -H 'apikey: your_apikey' | 192 | 'Fiware-ServicePath: /Tampere/electric_bus' -H 'apikey: your_apikey' | ||
193 | ed,power&&fromDate=2019-10-28T12:01:00&&toDate=2019-10-28T12:02:00\"", | 193 | ed,power&&fromDate=2019-10-28T12:01:00&&toDate=2019-10-28T12:02:00\"", | ||
194 | "id": "ede7b870-2dff-4a89-889e-1bb3980ffa6f", | 194 | "id": "ede7b870-2dff-4a89-889e-1bb3980ffa6f", | ||
195 | "image_url": "", | 195 | "image_url": "", | ||
196 | "is_organization": true, | 196 | "is_organization": true, | ||
197 | "name": "cityiot", | 197 | "name": "cityiot", | ||
198 | "state": "active", | 198 | "state": "active", | ||
199 | "title": "CityIoT", | 199 | "title": "CityIoT", | ||
200 | "type": "organization" | 200 | "type": "organization" | ||
201 | }, | 201 | }, | ||
202 | "owner_org": "ede7b870-2dff-4a89-889e-1bb3980ffa6f", | 202 | "owner_org": "ede7b870-2dff-4a89-889e-1bb3980ffa6f", | ||
203 | "private": false, | 203 | "private": false, | ||
204 | "relationships_as_object": [], | 204 | "relationships_as_object": [], | ||
205 | "relationships_as_subject": [], | 205 | "relationships_as_subject": [], | ||
t | 206 | "resources": [], | t | 206 | "resources": [ |
207 | { | ||||
208 | "cache_last_updated": null, | ||||
209 | "cache_url": null, | ||||
210 | "created": "2024-03-25T13:09:47.207549", | ||||
211 | "datastore_active": false, | ||||
212 | "description": "Detailed data model documentation. Includes | ||||
213 | documentation for each entity and their attributes.", | ||||
214 | "format": "ZIP", | ||||
215 | "hash": "", | ||||
216 | "id": "a4dae937-291a-409e-9e5a-eb329cb2de5b", | ||||
217 | "last_modified": "2024-03-25T13:09:47.186023", | ||||
218 | "metadata_modified": "2024-03-25T13:09:47.199303", | ||||
219 | "mimetype": "application/zip", | ||||
220 | "mimetype_inner": null, | ||||
221 | "name": "data model documentation", | ||||
222 | "package_id": "c24a59a7-62eb-4807-ae97-e00bf5b698db", | ||||
223 | "position": 0, | ||||
224 | "resource_type": null, | ||||
225 | "size": 175429, | ||||
226 | "state": "active", | ||||
227 | "url": | ||||
228 | 91a-409e-9e5a-eb329cb2de5b/download/passengeranalytics_datamodel.zip", | ||||
229 | "url_type": "upload" | ||||
230 | } | ||||
231 | ], | ||||
207 | "state": "draft", | 232 | "state": "draft", | ||
208 | "tags": [ | 233 | "tags": [ | ||
209 | { | 234 | { | ||
210 | "display_name": "public transport", | 235 | "display_name": "public transport", | ||
211 | "id": "d10aeaed-4911-4ce7-be2f-dc8858a4c02c", | 236 | "id": "d10aeaed-4911-4ce7-be2f-dc8858a4c02c", | ||
212 | "name": "public transport", | 237 | "name": "public transport", | ||
213 | "state": "active", | 238 | "state": "active", | ||
214 | "vocabulary_id": null | 239 | "vocabulary_id": null | ||
215 | } | 240 | } | ||
216 | ], | 241 | ], | ||
217 | "temporal_end": "2019-04-30", | 242 | "temporal_end": "2019-04-30", | ||
218 | "temporal_resolution": "1 day", | 243 | "temporal_resolution": "1 day", | ||
219 | "temporal_start": "2019-02-20", | 244 | "temporal_start": "2019-02-20", | ||
220 | "title": "Tampere bus passenger analytics pilot", | 245 | "title": "Tampere bus passenger analytics pilot", | ||
221 | "type": "dataset", | 246 | "type": "dataset", | ||
222 | "url": "", | 247 | "url": "", | ||
223 | "version": "" | 248 | "version": "" | ||
224 | } | 249 | } |