diff --git a/pygeoapi/provider/sensorthings.py b/pygeoapi/provider/sensorthings.py index 367d1c9..4f50abb 100644 --- a/pygeoapi/provider/sensorthings.py +++ b/pygeoapi/provider/sensorthings.py @@ -93,7 +93,11 @@ class SensorThingsProvider(BaseProvider): self.entity = provider_def['entity'] self._url = url_join(self.data, self.entity) except KeyError: - raise RuntimeError('name/type/data are required') + if self.data.split('/').pop() in ENTITY: + self.entity = self.data.split('/').pop() + self._url = self.data + else: + raise RuntimeError('Entity type required') # Default id if self.id_field is None or not self.id_field: diff --git a/tests/test_sensorthings_provider.py b/tests/test_sensorthings_provider.py index 49c5dbd..c268f08 100644 --- a/tests/test_sensorthings_provider.py +++ b/tests/test_sensorthings_provider.py @@ -37,9 +37,8 @@ def config(): return { 'name': 'SensorThings', 'type': 'feature', - 'data': 'http://localhost:8888/FROST-Server/v1.1/', + 'data': 'http://localhost:8888/FROST-Server/v1.1/Datastreams', 'rel_link': 'http://localhost:5000', - 'entity': 'Datastreams', 'intralink': True, 'time_field': 'phenomenonTime' } @@ -88,6 +87,7 @@ def test_query_datastreams(config): def test_query_observations(config): config['properties'] = ['Datastream', 'phenomenonTime', 'FeatureOfInterest', 'result'] + config['data'] = 'http://localhost:8888/FROST-Server/v1.1/' config['entity'] = 'Observations' p = SensorThingsProvider(config)