示例#1
0
class TimeExtensionDecoder(kvp.Decoder):
    start = kvp.Parameter(num="?", type=parse_iso8601)
    end = kvp.Parameter(num="?", type=parse_iso8601)
    relation = kvp.Parameter(
        num="?",
        type=enum(("intersects", "contains", "disjoint", "equals"), False),
        default="intersects")
示例#2
0
class WCS11GetCapabilitiesKVPDecoder(kvp.Decoder):
    sections = kvp.Parameter(type=typelist(lower, ","), num="?")
    updatesequence = kvp.Parameter(num="?")
    acceptversions = kvp.Parameter(type=typelist(str, ","), num="?")
    acceptformats = kvp.Parameter(type=typelist(str, ","),
                                  num="?",
                                  default=["text/xml"])
    acceptlanguages = kvp.Parameter(type=typelist(str, ","), num="?")
示例#3
0
class WCS20GetEOCoverageSetKVPDecoder(kvp.Decoder):
    eo_ids = kvp.Parameter("eoid",
                           type=typelist(str, ","),
                           num=1,
                           locator="eoid")
    subsets = kvp.Parameter("subset", type=parse_subset_kvp, num="*")
    containment = kvp.Parameter(type=containment_enum, num="?")
    count = kvp.Parameter(type=pos_int, num="?", default=MAXSIZE)
    format = kvp.Parameter(num=1, type=parse_format)
示例#4
0
class WCS20DescribeEOCoverageSetKVPDecoder(kvp.Decoder, SectionsMixIn):
    eo_ids = kvp.Parameter("eoid",
                           type=typelist(str, ","),
                           num=1,
                           locator="eoid")
    subsets = kvp.Parameter("subset", type=parse_subset_kvp, num="*")
    containment = kvp.Parameter(type=containment_enum, num="?")
    count = kvp.Parameter(type=pos_int, num="?", default=sys.maxsize)
    sections = kvp.Parameter(type=typelist(sections_enum, ","), num="?")
示例#5
0
class WMS13GetMapDecoder(kvp.Decoder):
    layers = kvp.Parameter(type=typelist(str, ","), num=1)
    styles = kvp.Parameter(num="?")
    bbox   = kvp.Parameter(type=parse_bbox, num=1)
    time   = kvp.Parameter(type=parse_time, num="?")
    crs    = kvp.Parameter(num=1)
    width  = kvp.Parameter(num=1)
    height = kvp.Parameter(num=1)
    format = kvp.Parameter(num=1)
    dim_bands = kvp.Parameter(type=typelist(int_or_str, ","), num="?")
    elevation = kvp.Parameter(type=float, num="?")
    dimensions = kvp.MultiParameter(lambda s: s.startswith("dim_"), locator="dimension", num="*")
示例#6
0
class WMS13GetMapDecoder(kvp.Decoder):
    layers = kvp.Parameter(type=typelist(str, ","), num=1)
    styles = kvp.Parameter(type=typelist(str, ","), num=1)
    bbox = kvp.Parameter(type=parse_bbox, num=1)
    crs = kvp.Parameter(num=1)
    width = kvp.Parameter(type=int, num=1)
    height = kvp.Parameter(type=int, num=1)
    format = kvp.Parameter(num=1)
    time = kvp.Parameter(type=parse_time, num="?")
    elevation = kvp.Parameter(type=float, num="?")
示例#7
0
class WMS13GetFeatureInfoDecoder(kvp.Decoder):
    layers = kvp.Parameter(type=typelist(str, ","), num=1)
    styles = kvp.Parameter(num="?")
    bbox = kvp.Parameter(type=parse_bbox, num=1)
    time = kvp.Parameter(type=parse_time, num="?")
    crs = kvp.Parameter(num=1)
    width = kvp.Parameter(num=1)
    height = kvp.Parameter(num=1)
    format = kvp.Parameter(num=1)
    dim_bands = kvp.Parameter(type=typelist(int_or_str, ","), num="?")
示例#8
0
class WCS11GetCoverageKVPDecoder(kvp.Decoder):
    coverage_id = kvp.Parameter("identifier", num=1)
    boundingbox = kvp.Parameter(type=parse_bbox_kvp, num=1)
    format = kvp.Parameter(num=1)
    gridcs = kvp.Parameter(num="?")
    gridbasecrs = kvp.Parameter(num="?")
    gridtype = kvp.Parameter(num="?")
    gridorigin = kvp.Parameter(type=parse_origin_kvp, num="?")
    gridoffsets = kvp.Parameter(type=parse_offsets_kvp, num="?")
示例#9
0
class WCS20GeoTIFFEncodingExtensionKVPDecoder(kvp.Decoder):
    compression = kvp.Parameter("geotiff:compression", num="?", type=compression_enum)
    jpeg_quality = kvp.Parameter("geotiff:jpeg_quality", num="?", type=int)
    predictor   = kvp.Parameter("geotiff:predictor", num="?", type=predictor_enum)
    interleave  = kvp.Parameter("geotiff:interleave", num="?", type=interleave_enum)
    tiling      = kvp.Parameter("geotiff:tiling", num="?", type=boolean)
    tileheight  = kvp.Parameter("geotiff:tileheight", num="?", type=parse_multiple_16)
    tilewidth   = kvp.Parameter("geotiff:tilewidth", num="?", type=parse_multiple_16)
示例#10
0
class WMS10GetMapDecoder(kvp.Decoder):
    layers = kvp.Parameter(type=typelist(str, ","), num=1)
    styles = kvp.Parameter(num="?")
    bbox   = kvp.Parameter(type=parse_bbox, num=1)
    srs    = kvp.Parameter(num=1)
    width  = kvp.Parameter(num=1)
    height = kvp.Parameter(num=1)
    format = kvp.Parameter(num=1)
示例#11
0
class WMS13GetMapDecoder(WMSBaseGetMapDecoder):
    _bbox = kvp.Parameter('bbox', type=parse_bbox, num=1)

    @property
    def bbox(self):
        bbox = self._bbox
        crs = self.crs
        srid = crss.parseEPSGCode(
            self.crs, (crss.fromShortCode, crss.fromURN, crss.fromURL))
        if srid is None:
            raise InvalidCRS(crs, "crs")

        if crss.hasSwappedAxes(srid):
            miny, minx, maxy, maxx = bbox
        else:
            minx, miny, maxx, maxy = bbox

        return (minx, miny, maxx, maxy)

    crs = kvp.Parameter(num=1)

    srs = property(lambda self: self.crs)
示例#12
0
class GeoExtensionDecoder(kvp.Decoder):
    box = kvp.Parameter(num="?", type=parse_bbox)
    radius = kvp.Parameter(num="?", type=float)
    geometry = kvp.Parameter(num="?", type=GEOSGeometry)
    lon = kvp.Parameter(num="?", type=float)
    lat = kvp.Parameter(num="?", type=float)
    relation = kvp.Parameter(num="?",
                             type=enum(("intersects", "contains", "disjoint"),
                                       False),
                             default="intersects")
    uid = kvp.Parameter(num="?")
示例#13
0
class WCS20GetCapabilitiesKVPDecoder(kvp.Decoder, SectionsMixIn):
    sections = kvp.Parameter(type=typelist(lower, ","),
                             num="?",
                             default=["all"])
    updatesequence = kvp.Parameter(num="?")
    acceptversions = kvp.Parameter(type=typelist(str, ","), num="?")
    acceptformats = kvp.Parameter(type=typelist(str, ","),
                                  num="?",
                                  default=["text/xml"])
    acceptlanguages = kvp.Parameter(type=typelist(str, ","), num="?")
    cql = kvp.Parameter(num="?")
    datasetseriescql = kvp.Parameter(num="?")
示例#14
0
class WPS10ExecuteKVPDecoder(kvp.Decoder):
    """ WPS 1.0 Execute HTTP/GET KVP request decoder. """
    #pylint: disable=too-few-public-methods
    identifier = kvp.Parameter()
    inputs = kvp.Parameter("DataInputs",
                           type=_parse_inputs,
                           num="?",
                           default={})
    outputs = kvp.Parameter("ResponseDocument",
                            type=_parse_outputs,
                            num="?",
                            default=[])
    raw_response = kvp.Parameter("RawDataOutput",
                                 type=_parse_raw_output,
                                 num="?")
    status = kvp.Parameter("status", type=parse_bool, num="?", default=False)
    lineage = kvp.Parameter("lineage", type=parse_bool, num="?", default=False)
    store_response = kvp.Parameter("storeExecuteResponse",
                                   type=parse_bool,
                                   num="?",
                                   default=False)

    @property
    def response_form(self):
        """ Get response unified form parsed either from ResponseDocument or
        RawDataOutput parameters.
        """
        raw_response = self.raw_response
        if raw_response:
            return raw_response

        resp_doc = ResponseDocument(lineage=self.lineage,
                                    status=self.status,
                                    store_response=self.store_response)
        for output in self.outputs:  # pylint: disable=not-an-iterable
            resp_doc.set_output(output)
        return resp_doc
示例#15
0
class OpenSearch11BaseDecoder(kvp.Decoder):
    search_terms = kvp.Parameter("q", num="?")
    start_index = kvp.Parameter("startIndex", pos_int_zero, num="?", default=0)
    count = kvp.Parameter("count", pos_int_zero, num="?", default=None)
    output_encoding = kvp.Parameter("outputEncoding", num="?", default="UTF-8")
示例#16
0
class WMS11GetMapDecoder(WMSCommonGetMapDecoder):
    version = (1, 1)
    crs = kvp.Parameter('srs', num=1, type=upper)
示例#17
0
class WMS13GetMapDecoder(WMSCommonGetMapDecoder):
    version = (1, 3)
    crs = kvp.Parameter(num=1, type=upper)
示例#18
0
class GetProductKVPDecoder(kvp.Decoder):
    product_uri = kvp.Parameter('producturi', num=1)
示例#19
0
class WMSCommonGetMapDecoder(kvp.Decoder):
    layers = kvp.Parameter(type=typelist(str, ","), num=1)
    styles = kvp.Parameter(num="?")
    bbox = kvp.Parameter(type=parse_bbox, num=1)
    time = kvp.Parameter(type=parse_time, num="?")
    width = kvp.Parameter(num=1)
    height = kvp.Parameter(num=1)
    format = kvp.Parameter(num=1)
    bgcolor = kvp.Parameter(num='?')
    transparent = kvp.Parameter(num='?', default=False, type=parse_transparent)

    dim_bands = kvp.Parameter(type=typelist(str, ","), num='?')
    dim_wavelengths = kvp.Parameter(type=typelist(str, ","), num='?')

    maxcc = kvp.Parameter(type=float, num='?')
    order = kvp.Parameter(type=str, num='?')
示例#20
0
class WCS20GetCoverageKVPDecoder(kvp.Decoder):
    coverage_id = kvp.Parameter("coverageid", num=1)
    subsets = kvp.Parameter("subset", type=parse_subset_kvp, num="*")
    scalefactor = kvp.Parameter("scalefactor", type=float, num="?")
    scaleaxes = kvp.Parameter("scaleaxes",
                              type=typelist(parse_scaleaxis_kvp, ","),
                              default=(),
                              num="?")
    scalesize = kvp.Parameter("scalesize",
                              type=typelist(parse_scalesize_kvp, ","),
                              default=(),
                              num="?")
    scaleextent = kvp.Parameter("scaleextent",
                                type=typelist(parse_scaleextent_kvp, ","),
                                default=(),
                                num="?")
    rangesubset = kvp.Parameter("rangesubset",
                                type=parse_range_subset_kvp,
                                num="?")
    format = kvp.Parameter("format", num="?")
    subsettingcrs = kvp.Parameter("subsettingcrs", num="?")
    outputcrs = kvp.Parameter("outputcrs", num="?")
    mediatype = kvp.Parameter("mediatype", num="?")
    interpolation = kvp.Parameter("interpolation",
                                  type=parse_interpolation,
                                  num="?")
示例#21
0
class WMS13GetLegendGraphicDecoder(kvp.Decoder):
    layer    = kvp.Parameter(num=1)
    coverage = kvp.Parameter(num="?")
示例#22
0
class WCS11DescribeCoverageKVPDecoder(kvp.Decoder):
    coverage_ids = kvp.Parameter("identifier",
                                 type=typelist(separator=","),
                                 num=1)
示例#23
0
class CQLExtensionDecoder(kvp.Decoder):
    cql = kvp.Parameter(num="?", type=str)
示例#24
0
class WCS20DescribeCoverageKVPDecoder(kvp.Decoder):
    coverage_ids = kvp.Parameter("coverageid", type=typelist(str, ","), num=1)
示例#25
0
class WCS10GetCoverageKVPDecoder(kvp.Decoder):
    coverage_id = kvp.Parameter("coverage", num=1)
    crs = kvp.Parameter(num=1)
    response_crs = kvp.Parameter(num="?")
    bbox = kvp.Parameter(type=parse_bbox_kvp)
    width = kvp.Parameter(type=int, num="?")
    height = kvp.Parameter(type=int, num="?")
    resx = kvp.Parameter(type=float, num="?")
    resy = kvp.Parameter(type=float, num="?")
    format = kvp.Parameter(num=1)
    interpolation = kvp.Parameter(num="?")
    exceptions = kvp.Parameter(num="?")
示例#26
0
class WMS13Decoder(kvp.Decoder):
    width = kvp.Parameter(type=int, num="?")
    height = kvp.Parameter(type=int, num="?")
    format = kvp.Parameter(num="?")
    bgcolor = kvp.Parameter(num="?")
    exceptions = kvp.Parameter(num="?", type=lower, default="xml")
示例#27
0
class WPS10GetCapabilitiesKVPDecoder(kvp.Decoder):
    """ WPS 1.0 GetCapabilities HTTP/GET KVP request decoder. """
    #pylint: disable=too-few-public-methods
    #acceptversions = kvp.Parameter(type=typelist(str, ","), num="?")
    language = kvp.Parameter(num="?")
示例#28
0
class WPS10DescribeProcessKVPDecoder(kvp.Decoder):
    """ WPS 1.0 DescribeProcess HTTP/GET KVP request decoder. """
    #pylint: disable=too-few-public-methods
    identifiers = kvp.Parameter("identifier", type=typelist(str, ","))
示例#29
0
class EarthObservationExtensionDecoder(kvp.Decoder):
    productType = kvp.Parameter(num="?", type=str)
    doi = kvp.Parameter(num="?", type=str)
    platform = kvp.Parameter(num="?", type=str)
    platformSerialIdentifier = kvp.Parameter(num="?", type=str)
    instrument = kvp.Parameter(num="?", type=str)
    sensorType = kvp.Parameter(
        num="?",
        type=enum(('OPTICAL', 'RADAR', 'ALTIMETRIC', 'ATMOSPHERIC', 'LIMB'),
                  False))
    compositeType = kvp.Parameter(num="?", type=str)
    processingLevel = kvp.Parameter(num="?", type=str)
    orbitType = kvp.Parameter(num="?", type=str)
    spectralRange = kvp.Parameter(num="?", type=str)
    wavelength = kvp.Parameter(num="?", type=parse_float_range)
    hasSecurityConstraints = kvp.Parameter(num="?",
                                           type=enum(('TRUE', 'FALSE'), False))
    dissemination = kvp.Parameter(num="?", type=str)
    recordSchema = kvp.Parameter(num="?", type=str)

    parentIdentifier = kvp.Parameter(num="?", type=str)
    productionStatus = kvp.Parameter(num="?", type=str)
    acquisitionType = kvp.Parameter(num="?",
                                    type=enum(
                                        ('NOMINAL', 'CALIBRATION', 'OTHER'),
                                        False))
    orbitNumber = kvp.Parameter(num="?", type=parse_int_range)
    orbitDirection = kvp.Parameter(num="?",
                                   type=enum(('ASCENDING', 'DESCENDING'),
                                             False))
    track = kvp.Parameter(num="?", type=str)
    frame = kvp.Parameter(num="?", type=str)
    swathIdentifier = kvp.Parameter(num="?", type=str)
    cloudCover = kvp.Parameter(num="?", type=parse_int_range)
    snowCover = kvp.Parameter(num="?", type=parse_int_range)
    lowestLocation = kvp.Parameter(num="?", type=parse_float_range)
    highestLocation = kvp.Parameter(num="?", type=parse_float_range)
    productVersion = kvp.Parameter(num="?", type=str)
    productQualityStatus = kvp.Parameter(num="?",
                                         type=enum(('NOMINAL', 'DEGRADED'),
                                                   False))
    productQualityDegradationTag = kvp.Parameter(num="?", type=str)
    processorName = kvp.Parameter(num="?", type=str)
    processingCenter = kvp.Parameter(num="?", type=str)
    creationDate = kvp.Parameter(num="?", type=parse_datetime_range)
    modificationDate = kvp.Parameter(num="?", type=parse_datetime_range)
    processingDate = kvp.Parameter(num="?", type=parse_datetime_range)
    sensorMode = kvp.Parameter(num="?", type=str)
    archivingCenter = kvp.Parameter(num="?", type=str)
    processingMode = kvp.Parameter(num="?", type=str)

    availabilityTime = kvp.Parameter(num="?", type=parse_datetime_range)
    acquisitionStation = kvp.Parameter(num="?", type=str)
    acquisitionSubType = kvp.Parameter(num="?", type=str)
    startTimeFromAscendingNode = kvp.Parameter(num="?", type=parse_int_range)
    completionTimeFromAscendingNode = kvp.Parameter(num="?",
                                                    type=parse_int_range)
    illuminationAzimuthAngle = kvp.Parameter(num="?", type=parse_float_range)
    illuminationZenithAngle = kvp.Parameter(num="?", type=parse_float_range)
    illuminationElevationAngle = kvp.Parameter(num="?", type=parse_float_range)
    polarisationMode = kvp.Parameter(num="?",
                                     type=enum(
                                         ('S', 'D', 'T', 'Q', 'UNDEFINED'),
                                         False))
    polarizationChannels = kvp.Parameter(num="?", type=str)
    antennaLookDirection = kvp.Parameter(num="?", type=str)
    minimumIncidenceAngle = kvp.Parameter(num="?", type=parse_float_range)
    maximumIncidenceAngle = kvp.Parameter(num="?", type=parse_float_range)
    dopplerFrequency = kvp.Parameter(num="?", type=parse_float_range)
    incidenceAngleVariation = kvp.Parameter(num="?", type=parse_float_range)
示例#30
0
class WMSBaseGetMapDecoder(kvp.Decoder):
    layers = kvp.Parameter(type=typelist(str, ","), num=1)
    styles = kvp.Parameter(num="?")
    width = kvp.Parameter(num=1)
    height = kvp.Parameter(num=1)
    format = kvp.Parameter(num=1)
    bgcolor = kvp.Parameter(num='?')
    transparent = kvp.Parameter(num='?', default=False, type=parse_transparent)

    bbox = kvp.Parameter('bbox', type=parse_bbox, num=1)
    srs = kvp.Parameter(num=1)

    time = kvp.Parameter(type=parse_time, num="?")
    elevation = kvp.Parameter(type=float, num="?")
    dim_bands = kvp.Parameter(type=typelist(int_or_str, ","), num="?")
    dim_wavelengths = kvp.Parameter(type=typelist(float, ","), num="?")
    dim_range = kvp.Parameter(type=parse_ranges, num="?")

    cql = kvp.Parameter(num="?")

    sort_by = kvp.Parameter('sortBy', type=parse_sort_by, num="?")