OWS 工具
项目描述
pyows
pyows
是一个库,用于帮助构建OWS兼容的服务或客户端。它帮助构建请求并解析它们,并提供要序列化和发送作为响应的对象类型。
安装
使用包管理器pip安装pyows。
pip install pyows
用法
pyows
可用于解析/编码OWS请求,也可用于解析/编码各种服务的对象。
示例:解析WCS 2.0 GetCoverage请求
>>> from ows.wcs.v20.decoders import xml_decode_get_coverage
>>>
>>> request = b"""<?xml version="1.0" encoding="UTF-8"?>
... <wcs:GetCoverage
... xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
... xsi:schemaLocation="http://www.opengis.net/wcs/2.0 http://schemas.opengis.net/wcs/2.0/wcsAll.xsd"
... xmlns="http://www.opengis.net/wcs/2.0"
... xmlns:wcs="http://www.opengis.net/wcs/2.0"
... service="WCS"
... version="2.0.1">
... <wcs:CoverageId>a</wcs:CoverageId>
... </wcs:GetCoverage>
... """
>>> print(xml_decode_get_coverage(request))
GetCoverageRequest(coverage_id='a', format=None, mediatype=None, subsetting_crs=None, output_crs=None, subsets=[], scalefactor=None, scales=[], interpolation=None, axis_interpolations=[], range_subset=None)
反过来操作
>>> from ows.wcs.v20 import GetCoverageRequest, Trim, Slice
>>> request = GetCoverageRequest(
... coverage_id='a',
... subsets=[
... Trim(dimension='x', low=1.2, high=2.2),
... Trim(dimension='y', low=3),
... Slice(dimension='time', point='2018-05-07')
... ]
... )
>>> print(xml_encode_get_coverage(request, pretty_print=True).value.decode('utf-8'))
<wcs:GetCoverage xmlns:crs="http://www.opengis.net/wcs/crs/1.0" xmlns:eop="http://www.opengis.net/eop/2.0" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:gmlcov="http://www.opengis.net/gmlcov/1.0" xmlns:int="http://www.opengis.net/wcs/interpolation/1.0" xmlns:ogc="http://www.opengis.net/ogc" xmlns:om="http://www.opengis.net/om/2.0" xmlns:ows="http://www.opengis.net/ows/2.0" xmlns:rsub="http://www.opengis.net/wcs/range-subsetting/1.0" xmlns:scal="http://www.opengis.net/wcs/scaling/1.0" xmlns:swe="http://www.opengis.net/swe/2.0" xmlns:wcs="http://www.opengis.net/wcs/2.0" xmlns:wcseo="http://www.opengis.net/wcs/wcseo/1.0" xmlns:xlink="http://www.w3.org/1999/xlink" service="WCS" version="2.0.1">
<wcs:CoverageId>a</wcs:CoverageId>
<wcs:DimensionTrim>
<wcs:Dimension>x</wcs:Dimension>
<wcs:TrimLow>1.2</wcs:TrimLow>
<wcs:TrimHigh>2.2</wcs:TrimHigh>
</wcs:DimensionTrim>
<wcs:DimensionTrim>
<wcs:Dimension>y</wcs:Dimension>
<wcs:TrimLow>3</wcs:TrimLow>
</wcs:DimensionTrim>
<wcs:DimensionSlice>
<wcs:Dimension>time</wcs:Dimension>
<wcs:SlicePoint>2018-05-07</wcs:SlicePoint>
</wcs:DimensionSlice>
</wcs:GetCoverage>
当前支持的OWS
- OWS通用
- 2.0:
- 能力相关编码
- 2.0:
- WCS
- 2.0:
- (XML/KVP)请求编码/解码
- GetCapabilities
- DescribeCoverage
- GetCoverage
- 响应编码
- 能力
- 覆盖描述
- (XML/KVP)请求编码/解码
- 2.1
- 为以下内容提供响应编码
- 覆盖描述
- 为以下内容提供响应编码
- 2.0:
- WMS
- 1.3:
- 请求编码/解码KVP
- GetCapabilities
- GetMap
- GetFeatureInfo
- 响应编码
- 能力
- 请求编码/解码KVP
- 1.3:
路线图
- 完全支持WCS 2.x,包括EO-WCS应用程序配置文件和所有扩展
- 支持WPS 2.0请求和响应
- 支持所有版本的WMS请求和响应
贡献
欢迎拉取请求。对于重大更改,请首先打开一个问题以讨论您想要更改的内容。
请确保根据需要更新测试。
许可
关闭
pyows-0.3.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b53d179d5cce2c217dfc3e7832f7f3d20e619c40ef6dd33525495537b972d887 |
|
MD5 | 6c98be97f34abf542db3008956ce0d40 |
|
BLAKE2b-256 | 1fe1c469bd62299bc9801a5bc808cadc36de06ceee83260a10366f54fd4bd178 |
关闭
pyows-0.3.1-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 24172e2ec597f664490e7bb390e22bdc4a326062ec7dfddd891ecd5f7910efa2 |
|
MD5 | 345f70133ff2b537cd986fc0503a71cc |
|
BLAKE2b-256 | a2befad0cdf6c3eea820356dfac4b3384202823a9ce7ab2631d8590e7502a11c |