[Git][debian-gis-team/owslib][experimental] 4 commits: New upstream version 0.34.1
Bas Couwenberg (@sebastic)
gitlab at salsa.debian.org
Tue Jun 17 04:25:37 BST 2025
Bas Couwenberg pushed to branch experimental at Debian GIS Project / owslib
Commits:
08c875ab by Bas Couwenberg at 2025-06-17T05:21:21+02:00
New upstream version 0.34.1
- - - - -
c1178262 by Bas Couwenberg at 2025-06-17T05:21:25+02:00
Update upstream source from tag 'upstream/0.34.1'
Update to upstream version '0.34.1'
with Debian dir 16ba4a94d7de9c4d79c84595fc88fb1c6e7bb702
- - - - -
75ff16f9 by Bas Couwenberg at 2025-06-17T05:21:39+02:00
New upstream release.
- - - - -
bcbeaa40 by Bas Couwenberg at 2025-06-17T05:22:12+02:00
Set distribution to experimental.
- - - - -
8 changed files:
- debian/changelog
- docs/source/features.rst
- docs/source/usage.rst
- owslib/__init__.py
- owslib/iso.py
- owslib/iso3.py
- owslib/ogcapi/features.py
- tests/test_ogcapi_maps_cubewerx.py
Changes:
=====================================
debian/changelog
=====================================
@@ -1,3 +1,10 @@
+owslib (0.34.1-1~exp1) experimental; urgency=medium
+
+ * Team upload.
+ * New upstream release.
+
+ -- Bas Couwenberg <sebastic at debian.org> Tue, 17 Jun 2025 05:22:00 +0200
+
owslib (0.34.0-1~exp1) experimental; urgency=medium
* Team upload.
=====================================
docs/source/features.rst
=====================================
@@ -64,7 +64,7 @@ OGC API Support
+--------------------------------------------------------------------------------------+------------+
| `OGC API - Maps - Part 1: Core`_ | 1.0 |
+--------------------------------------------------------------------------------------+------------+
-| `OGC API - Records - Part 1: Core`_ | draft |
+| `OGC API - Records - Part 1: Core`_ | 1.0 |
+--------------------------------------------------------------------------------------+------------+
| `OGC API - Processes - Part 1: Core`_ | 1.0 |
+--------------------------------------------------------------------------------------+------------+
@@ -72,7 +72,7 @@ OGC API Support
+--------------------------------------------------------------------------------------+------------+
| `OGC API - Connected Systems - Part 2: Dynamic Data`_ | draft |
+--------------------------------------------------------------------------------------+------------+
-| `OGC API - Environmental Data Retrieval - Part 1: Core`_ | 1.0 |
+| `OGC API - Environmental Data Retrieval - Part 1: Core`_ | 1.0 , 1.1 |
+--------------------------------------------------------------------------------------+------------+
.. _`OGC WMS`: https://www.opengeospatial.org/standards/wms
=====================================
docs/source/usage.rst
=====================================
@@ -211,7 +211,7 @@ OGC API - Features - Part 1: Core 1.0
>>> w.url
'https://demo.pygeoapi.io/master'
>>> conformance = w.conformance()
- {u'conformsTo': [u'http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/core', u'http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/oas30', u'http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/html', u'http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/geojson']}
+ {'conformsTo': ['http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/core', 'http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/oas30', 'http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/html', 'http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/geojson']}
>>> api = w.api() # OpenAPI document/
>>> collections = w.collections()
>>> len(collections['collections'])
@@ -231,7 +231,11 @@ OGC API - Features - Part 1: Core 1.0
6
>>> lakes_query = w.collection_items('lakes')
>>> lakes_query['features'][0]['properties']
- {u'scalerank': 0, u'name_alt': None, u'admin': None, u'featureclass': u'Lake', u'id': 0, u'name': u'Lake Baikal'}
+ {'scalerank': 0, 'name_alt': None, 'admin': None, 'featureclass': 'Lake', 'id': 0, 'name': 'Lake Baikal'}
+ >>> lakes_query = w.collection_items('lakes', name='L. Ontario')
+ >>> len(lakes_querylakes_query['features'][0]['properties']
+ {'id': 0, 'scalerank': 0, 'name': 'Lake Baikal', 'name_alt': 'https://en.wikipedia.org/wiki/Lake_Baikal', 'admin': None, 'featureclass': 'Lake'}
+
OGC API - Coverages - Part 1: Core 1.0
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -275,7 +279,7 @@ OGC API - Records - Part 1: Core 1.0
>>> w.url
'https://example.org/records-api'
>>> conformance = w.conformance()
- {'conformsTo': [u'http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/core', u'http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/oas30', u'http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/html', u'http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/geojson', u'http://www.opengis.net/spec/ogcapi-records-1/1.0/req/core', u'http://www.opengis.net/spec/ogcapi-records/1.0/req/oas30', u'http://www.opengis.net/spec/ogcapi-records-1/1.0/req/json', u'http://www.opengis.net/spec/ogcapi-records-1/1.0/req/html']}
+ {'conformsTo': ['http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/core', 'http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/oas30', 'http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/html', 'http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/geojson', 'http://www.opengis.net/spec/ogcapi-records-1/1.0/req/core', 'http://www.opengis.net/spec/ogcapi-records/1.0/req/oas30', 'http://www.opengis.net/spec/ogcapi-records-1/1.0/req/json', 'http://www.opengis.net/spec/ogcapi-records-1/1.0/req/html']}
>>> api = w.api() # OpenAPI document
>>> collections = w.collections()
>>> len(collections)
@@ -295,9 +299,9 @@ OGC API - Records - Part 1: Core 1.0
8
>>> my_catalogue_query = w.collection_items('my-catalogue')
>>> my_catalogue_query['features'][0]['properties'].keys()
- [u'title', u'abstract', u'keywords']
+ ['title', 'abstract', 'keywords']
>>> my_catalogue_query['features'][0]['properties']['title']
- u'Roadrunner ambush locations'
+ 'Roadrunner ambush locations'
>>> my_catalogue_query2 = w.collection_items('my-catalogue', q='birds')
>>> msc_wis_dcpc_query2['numberMatched']
2
@@ -305,10 +309,10 @@ OGC API - Records - Part 1: Core 1.0
2
>>> my_catalogue_cql_text_query = w.collection_items('my-catalogue', filter="title LIKE 'Roadrunner%'")
>>> my_catalogue_cql_text_query['features'][0]['properties']['title']
- u'Roadrunner ambush locations'
+ 'Roadrunner ambush locations'
>>> my_catalogue_cql_json_query = w.collection_items('my-catalogue', limit=1, cql={'eq': [{ 'property': 'title' }, 'Roadrunner ambush locations']})
>>> my_catalogue_cql_json_query['features'][0]['properties']['title']
- u'Roadrunner ambush locations'
+ 'Roadrunner ambush locations'
>>> import json
=====================================
owslib/__init__.py
=====================================
@@ -1 +1 @@
-__version__ = '0.34.0'
+__version__ = '0.34.1'
=====================================
owslib/iso.py
=====================================
@@ -1278,6 +1278,8 @@ class MD_ImageDescription(object):
self.attribute_description = None
self.cloud_cover = None
self.processing_level = None
+ self.illumination_elevation_angle = None
+ self.illumination_azimuth_angle = None
else:
val = img_desc.find(util.nspath_eval('gmd:attributeDescription/gco:RecordType', namespaces))
self.attribute_description = util.testXMLValue(val)
@@ -1288,6 +1290,12 @@ class MD_ImageDescription(object):
val = img_desc.find(util.nspath_eval('gmd:cloudCoverPercentage/gco:Real', namespaces))
self.cloud_cover = util.testXMLValue(val)
+ val = img_desc.find(util.nspath_eval('gmd:illuminationElevationAngle/gco:Real', namespaces))
+ self.illumination_elevation_angle = util.testXMLValue(val)
+
+ val = img_desc.find(util.nspath_eval('gmd:illuminationAzimuthAngle/gco:Real', namespaces))
+ self.illumination_azimuth_angle = util.testXMLValue(val)
+
val = img_desc.find(util.nspath_eval(
'gmd:processingLevelCode/gmd:RS_Identifier/gmd:code/gco:CharacterString', namespaces))
self.processing_level = util.testXMLValue(val)
=====================================
owslib/iso3.py
=====================================
@@ -1509,6 +1509,8 @@ class MD_ImageDescription(printable):
self.attributedescription = None
self.cloudcover = None
self.processinglevel = None
+ self.illumination_elevation_angle = None
+ self.illumination_azimuth_angle = None
else:
attdesc = img_desc.find(util.nspath_eval('mrc:attributeDescription/gco:RecordType', self.namespaces))
self.attributedescription = util.testXMLValue(attdesc)
@@ -1519,6 +1521,12 @@ class MD_ImageDescription(printable):
cloudcov = img_desc.find(util.nspath_eval('mrc:cloudCoverPercentage/gco:Real', self.namespaces))
self.cloudcover = util.testXMLValue(cloudcov)
+ iea = img_desc.find(util.nspath_eval('mrc:illuminationElevationAngle/gco:Real', self.namespaces))
+ self.illumination_elevation_angle = util.testXMLValue(iea)
+
+ iaa = img_desc.find(util.nspath_eval('mrc:illuminationAzimuthAngle/gco:Real', self.namespaces))
+ self.illumination_azimuth_angle = util.testXMLValue(iaa)
+
proclvl = img_desc.find(util.nspath_eval(
'mrc:processingLevelCode/mcc:MD_Identifier/mcc:code/gco:CharacterString', self.namespaces))
self.processinglevel = util.testXMLValue(proclvl)
=====================================
owslib/ogcapi/features.py
=====================================
@@ -124,6 +124,8 @@ class Features(Collections):
@param filter: CQL TEXT expression
@type cql: dict
@param cql: CQL JSON payload
+ @type sortby: tuple
+ @param sortby: sort property and direction (`asc`, `desc`)
@returns: feature results
"""
@@ -131,7 +133,17 @@ class Features(Collections):
if 'bbox' in kwargs:
kwargs['bbox'] = ','.join(list(map(str, kwargs['bbox'])))
if 'datetime_' in kwargs:
- kwargs['datetime'] = kwargs['datetime_']
+ kwargs['datetime'] = kwargs.pop('datetime_')
+ if 'sortby' in kwargs:
+ try:
+ sort_property, sort_order = kwargs.pop('sortby')
+ if sort_order == 'desc':
+ sortby = f'-{sort_property}'
+ else:
+ sortby = sort_property
+ kwargs['sortby'] = sortby
+ except ValueError as err:
+ LOGGER.debug(f'Cannot handle sortby; skipping: {err}')
if 'cql' in kwargs:
LOGGER.debug('CQL query detected')
=====================================
tests/test_ogcapi_maps_cubewerx.py
=====================================
@@ -28,5 +28,5 @@ def test_ogcapi_maps_pygeoapi():
assert erm['id'] == 'erm'
assert erm['title'] == 'EuroRegionalMap'
- data = w.map('erm', width=1200, height=800, transparent=False)
+ data = w.map('erm', width=600, height=400, transparent=False)
assert isinstance(data, BytesIO)
View it on GitLab: https://salsa.debian.org/debian-gis-team/owslib/-/compare/892681643ab09cca78fd4080ef95c982f7481fa0...bcbeaa407156dd7ae06cf832208d58803c85944b
--
View it on GitLab: https://salsa.debian.org/debian-gis-team/owslib/-/compare/892681643ab09cca78fd4080ef95c982f7481fa0...bcbeaa407156dd7ae06cf832208d58803c85944b
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-grass-devel/attachments/20250617/099c7bb5/attachment-0001.htm>
More information about the Pkg-grass-devel
mailing list