Пример #1
0
class NativeFormatDecoder(xml.Decoder):
    identifier = xml.Parameter("EOID/text()")
    begin_time = xml.Parameter("BeginTime/text()", type=parse_iso8601)
    end_time = xml.Parameter("EndTime/text()", type=parse_iso8601)
    polygons = xml.Parameter("Footprint/Polygon",
                             type=parse_polygon_xml,
                             num="+")
Пример #2
0
class EOOMFormatDecoder(xml.Decoder):
    identifier = xml.Parameter("eop:metaDataProperty/eop:EarthObservationMetaData/eop:identifier/text()", type=str, num=1)
    begin_time = xml.Parameter("om:phenomenonTime/gml:TimePeriod/gml:beginPosition/text()", type=parse_iso8601, num=1)
    end_time = xml.Parameter("om:phenomenonTime/gml:TimePeriod/gml:endPosition/text()", type=parse_iso8601, num=1)
    polygons = xml.Parameter("om:featureOfInterest/eop:Footprint/eop:multiExtentOf/gml:MultiSurface/gml:surfaceMember/gml:Polygon", type=parse_polygon_xml, num="+")

    namespaces = nsmap
Пример #3
0
class InspireFormatDecoder(xml.Decoder):
    identifier = xml.Parameter("gmd:fileIdentifier/gco:CharacterString/text()", type=str, num=1)
    begin_time = xml.Parameter("gmd:dataQualityInfo/gmd:DQ_DataQuality/gmd:lineage/gmd:LI_Lineage/gmd:source/gmd:LI_Source/gmd:sourceExtent/gmd:EX_Extent/gmd:temporalElement/gmd:EX_TemporalExtent/gmd:extent/gml:TimePeriod/gml:beginPosition/text()", type=parse_iso8601, num=1)
    end_time = xml.Parameter("gmd:dataQualityInfo/gmd:DQ_DataQuality/gmd:lineage/gmd:LI_Lineage/gmd:source/gmd:LI_Source/gmd:sourceExtent/gmd:EX_Extent/gmd:temporalElement/gmd:EX_TemporalExtent/gmd:extent/gml:TimePeriod/gml:endPosition/text()", type=parse_iso8601, num=1)
    footprint = xml.Parameter("gmd:identificationInfo/gmd:MD_DataIdentification/gmd:extent/gmd:EX_Extent/gmd:geographicElement/gmd:EX_BoundingPolygon/gmd:polygon/gml:LineString/gml:posList/text()", type=parse_line_string, num=1)

    namespaces = nsmap
Пример #4
0
class WCS20DescribeEOCoverageSetXMLDecoder(xml.Decoder, SectionsMixIn):
    eo_ids      = xml.Parameter("wcseo:eoId/text()", num="+", locator="eoid")
    subsets     = xml.Parameter("wcs:DimensionTrim", type=parse_subset_xml, num="*")
    containment = xml.Parameter("wcseo:containment/text()", type=containment_enum, locator="containment")
    count       = xml.Parameter("@count", type=pos_int, num="?", default=MAXSIZE, locator="count")
    sections    = xml.Parameter("wcseo:sections/wcseo:section/text()", type=sections_enum, num="*", locator="sections")

    namespaces = nsmap
Пример #5
0
class WCS20GetCapabilitiesXMLDecoder(xml.Decoder, SectionsMixIn):
    sections            = xml.Parameter("ows:Sections/ows:Section/text()", num="*", default=["all"])
    updatesequence      = xml.Parameter("@updateSequence", num="?")
    acceptversions      = xml.Parameter("ows:AcceptVersions/ows:Version/text()", num="*")
    acceptformats       = xml.Parameter("ows:AcceptFormats/ows:OutputFormat/text()", num="*", default=["text/xml"])
    acceptlanguages     = xml.Parameter("ows:AcceptLanguages/ows:Language/text()", num="*")

    namespaces = nsmap
Пример #6
0
class WCS20GetEOCoverageSetXMLDecoder(xml.Decoder):
    eo_ids      = xml.Parameter("/wcseo:EOID/text()", num="+", locator="eoid")
    subsets     = xml.Parameter("/wcs:DimensionTrim", type=parse_subset_xml, num="*")
    containment = xml.Parameter("/wcseo:containment/text()", type=containment_enum, locator="containment")
    count       = xml.Parameter("/@count", type=pos_int, num="?", default=sys.maxint, locator="count")
    format      = xml.Parameter("/wcs:format/text()", type=parse_format, num=1, locator="format")

    namespaces = nsmap
Пример #7
0
class OWSCommonXMLDecoder(xml.Decoder):
    service = xml.Parameter("@service", type=upper, num="?")
    version = xml.Parameter("@version", type=parse_version_string, num="?")
    request = xml.Parameter("local-name()", type=upper)
    acceptversions = xml.Parameter(
        "ows10:AcceptVersions/ows10:Version/text() "
        "| ows11:AcceptVersions/ows11:Version/text() "
        "| ows20:AcceptVersions/ows20:Version/text()",
        type=parse_version_string,
        num="*")

    namespaces = nsmap
Пример #8
0
class EOOMCollectionMetadataDecoder(EOOMNamespaceMixIn, xml.Decoder):
    spectral_range = xml.Parameter("om:procedure/eop:EarthObservationEquipment/eop:sensor/eop:Sensor/ eop:wavelengthInformation/eop:WavelengthInformation/eop:spectralRange/text()", type=str, num="?")
    wavelengths = xml.Parameter("om:procedure/eop:EarthObservationEquipment/eop:sensor/eop:Sensor/ eop:wavelengthInformation/eop:WavelengthInformation/eop:discreteWavelengths/text()", type=str, num="?")
    platform = xml.Parameter("om:procedure/eop:EarthObservationEquipment/eop:platform/eop:Platform/eop:shortName/text()", type=str, num="?")
    platform_serial_identifier = xml.Parameter("om:procedure/eop:EarthObservationEquipment/eop:platform/eop:Platform/eop:serialIdentifier/text()", type=str, num="?")
    instrument = xml.Parameter("om:procedure/eop:EarthObservationEquipment/eop:instrument/eop:Instrument/eop:shortName/text()", type=str, num="?")
    sensor_type = xml.Parameter("om:procedure/eop:EarthObservationEquipment/eop:sensor/eop:Sensor/eop:sensorType/text()", type=str, num="?")
    composite_type = xml.Parameter("eop:metaDataProperty/eop:EarthObservationMetaData/eop:processing/eop:ProcessingInformation/eop:compositeType/text()", type=str, num="?")
    processing_level = xml.Parameter("eop:metaDataProperty/eop:EarthObservationMetaData/eop:processing/eop:ProcessingInformation/eop:processingLevel/text()", type=str, num="?")
    orbit_type = xml.Parameter("om:procedure/eop:EarthObservationEquipment/eop:platform/eop:Platform/eop:orbitType/text()", type=str, num="?")
Пример #9
0
class WCS10GetCapabilitiesXMLDecoder(xml.Decoder):
    sections = xml.Parameter("/ows:Sections/ows:Section/text()", num="*")
    updatesequence = xml.Parameter("/@updateSequence", num="?")
    acceptversions = xml.Parameter("/ows:AcceptVersions/ows:Version/text()",
                                   num="*")
    acceptformats = xml.Parameter("/ows:AcceptFormats/ows:OutputFormat/text()",
                                  num="*",
                                  default=["text/xml"])
    acceptlanguages = xml.Parameter("/ows:AcceptLanguages/ows:Language/text()",
                                    num="*")

    # TODO: find suitable place in XML to pass CQL queries
    cql = None

    namespaces = nsmap
Пример #10
0
class WPS10GetCapabilitiesXMLDecoder(xml.Decoder):
    """ WPS 1.0 DescribeProcess HTTP/POST XML request decoder. """
    #pylint: disable=too-few-public-methods
    #acceptversions = xml.Parameter("/ows:AcceptVersions/ows:Version/text()", num="*")
    language = xml.Parameter("/ows:AcceptLanguages/ows:Language/text()",
                             num="*")
    namespaces = nsmap
Пример #11
0
class SiteFormatDecoder(xml.Decoder):
    identifier = xml.Parameter("siteName/text()", type=str, num=1)
    latitude = xml.Parameter("siteLatitude/text()", type=float, num=1)
    longitude = xml.Parameter("siteLongitude/text()", type=float, num=1)
    elevation = xml.Parameter("siteElevation/text()", type=float, num=1)
    size = xml.Parameter("count(data)", type=int, num=1)
    start_times = xml.Parameter("data/timeStart/text()",
                                type=parse_iso8601,
                                num="+")
    end_times = xml.Parameter("data/timeEnd/text()",
                              type=parse_iso8601,
                              num="+")
Пример #12
0
class WCS20GeoTIFFEncodingExtensionXMLDecoder(xml.Decoder):
    compression = xml.Parameter("wcs:Extension/geotiff:parameters/geotiff:compression/text()", num="?", type=compression_enum, locator="geotiff:compression")
    jpeg_quality = xml.Parameter("wcs:Extension/geotiff:parameters/geotiff:jpeg_quality/text()", num="?", type=int, locator="geotiff:jpeg_quality")
    predictor   = xml.Parameter("wcs:Extension/geotiff:parameters/geotiff:predictor/text()", num="?", type=predictor_enum, locator="geotiff:predictor")
    interleave  = xml.Parameter("wcs:Extension/geotiff:parameters/geotiff:interleave/text()", num="?", type=interleave_enum, locator="geotiff:interleave")
    tiling      = xml.Parameter("wcs:Extension/geotiff:parameters/geotiff:tiling/text()", num="?", type=boolean, locator="geotiff:tiling")
    tileheight  = xml.Parameter("wcs:Extension/geotiff:parameters/geotiff:tileheight/text()", num="?", type=parse_multiple_16, locator="geotiff:tileheight")
    tilewidth   = xml.Parameter("wcs:Extension/geotiff:parameters/geotiff:tilewidth/text()", num="?", type=parse_multiple_16, locator="geotiff:tilewidth")

    namespaces = NameSpaceMap(
        ns_wcs, NameSpace("http://www.opengis.net/gmlcov/geotiff/1.0", "geotiff")
    )
Пример #13
0
class WPS10ExecuteXMLDecoder(xml.Decoder):
    """ WPS 1.0 POST/XML Execute request decoder class. """
    identifier = xml.Parameter("ows:Identifier/text()")
    _inputs = xml.Parameter("wps:DataInputs/wps:Input",
                            type=_parse_input,
                            num="*",
                            default=[])
    _response_form = xml.Parameter("wps:ResponseForm",
                                   type=_parse_response_form,
                                   num="?")

    @property
    def response_form(self):
        """ Get the unified response form object. """
        resp_form = self._response_form
        return resp_form if resp_form is not None else ResponseDocument()

    @property
    def inputs(self):
        """ Get the raw data inputs as a dictionary. """
        return dict(self._inputs)

    namespaces = nsmap
Пример #14
0
class GSCFormatDecoder(xml.Decoder):
    namespaces = nsmap

    identifier = xml.Parameter(
        "(gsc:sar_metadata|gsc:opt_metadata)/gml:metaDataProperty/gsc:EarthObservationMetaData/eop:identifier/text()",
        type=str,
        num=1)
    begin_time = xml.Parameter(
        "(gsc:sar_metadata|gsc:opt_metadata)/gml:validTime/gml:TimePeriod/gml:beginPosition/text()",
        type=parse_iso8601,
        num=1)
    end_time = xml.Parameter(
        "(gsc:sar_metadata|gsc:opt_metadata)/gml:validTime/gml:TimePeriod/gml:endPosition/text()",
        type=parse_iso8601,
        num=1)
    polygons = xml.Parameter(
        "(gsc:sar_metadata|gsc:opt_metadata)/gml:target/eop:Footprint/gml:multiExtentOf/gml:MultiSurface/gml:surfaceMembers/gml:Polygon",
        type=parse_polygon_xml,
        num="+")

    @property
    def footprint(self):
        return MultiPolygon(*self.polygons)
Пример #15
0
class DimapGeneralFormat11Decoder(xml.Decoder):
    identifier = xml.Parameter("Dataset_Id/DATASET_NAME/text()")
    begin_time = xml.Parameter("Production/DATASET_PRODUCTION_DATE/text()",
                               type=parse_date_or_datetime_11,
                               num="?")
    end_time = xml.Parameter("Production/DATASET_PRODUCTION_DATE/text()",
                             type=parse_date_or_datetime_11,
                             num="?")
    footprint = xml.Parameter("Dataset_Frame",
                              type=parse_footprint_11,
                              num="?")
    size = xml.Parameter("Raster_Dimensions", type=parse_size_11, num="?")
    geotransform = xml.Parameter("Geoposition/Geoposition_Insert",
                                 type=parse_geotransform_11,
                                 num="?")
    projection = xml.Parameter("Coordinate_Reference_System/Horizontal_CS",
                               type=parse_projection_11,
                               num="?")  # TODO
Пример #16
0
class WCS11GetCoverageXMLDecoder(xml.Decoder):
    coverage_id = xml.Parameter("ows:Identifier/text()", type=str, num=1)
    boundingbox = xml.Parameter("wcs:DomainSubset/ows:BoundingBox",
                                type=parse_bbox_xml,
                                num=1)
    format = xml.Parameter("wcs:Output/@format", num=1)
    gridcs = xml.Parameter("wcs:Output/wcs:GridCRS/wcs:GridCS/text()", num="?")
    gridbasecrs = xml.Parameter(
        "wcs:Output/wcs:GridCRS/wcs:GridBaseCRS/text()", num="?")
    gridtype = xml.Parameter("wcs:Output/wcs:GridCRS/wcs:GridType/text()",
                             num="?")
    gridorigin = xml.Parameter("wcs:Output/wcs:GridCRS/wcs:GridOrigin/text()",
                               type=parse_origin_xml,
                               num="?")
    gridoffsets = xml.Parameter(
        "wcs:Output/wcs:GridCRS/wcs:GridOffsets/text()",
        type=parse_offsets_xml,
        num="?")

    # TODO
    #interpolation = xml.Parameter("wcs:RangeSubset/wcs:InterpolationType/text()", num="?")
    #fields = xml.Parameter("wcs:RangeSubset/ows:Identifier/text()", num="*")

    namespaces = nsmap
Пример #17
0
class DimapGeneralFormat20Decoder(xml.Decoder):
    identifier = xml.Parameter("Dataset_Identification/DATASET_ID/text()")
Пример #18
0
class WCS20GetCoverageXMLDecoder(xml.Decoder):
    coverage_id = xml.Parameter("wcs:CoverageId/text()",
                                num=1,
                                locator="coverageid")
    subsets = xml.Parameter("wcs:DimensionTrim",
                            type=parse_subset_xml,
                            num="*",
                            locator="subset")
    scalefactor = xml.Parameter(
        "wcs:Extension/scal:ScaleByFactor/scal:scaleFactor/text()",
        type=float,
        num="?",
        locator="scalefactor")
    scaleaxes = xml.Parameter(
        "wcs:Extension/scal:ScaleByAxesFactor/scal:ScaleAxis",
        type=parse_scaleaxis_xml,
        num="*",
        default=(),
        locator="scaleaxes")
    scalesize = xml.Parameter(
        "wcs:Extension/scal:ScaleToSize/scal:TargetAxisSize",
        type=parse_scalesize_xml,
        num="*",
        default=(),
        locator="scalesize")
    scaleextent = xml.Parameter(
        "wcs:Extension/scal:ScaleToExtent/scal:TargetAxisExtent",
        type=parse_scaleextent_xml,
        num="*",
        default=(),
        locator="scaleextent")
    rangesubset = xml.Parameter("wcs:Extension/rsub:RangeSubset",
                                type=parse_range_subset_xml,
                                num="?",
                                locator="rangesubset")
    format = xml.Parameter("wcs:format/text()", num="?", locator="format")
    subsettingcrs = xml.Parameter("wcs:Extension/crs:subsettingCrs/text()",
                                  num="?",
                                  locator="subsettingcrs")
    outputcrs = xml.Parameter("wcs:Extension/crs:outputCrs/text()",
                              num="?",
                              locator="outputcrs")
    mediatype = xml.Parameter("wcs:mediaType/text()",
                              num="?",
                              locator="mediatype")
    interpolation = xml.Parameter(
        "wcs:Extension/int:Interpolation/int:globalInterpolation/text()",
        type=parse_interpolation,
        num="?",
        locator="interpolation")

    namespaces = nsmap
Пример #19
0
class EOOMProductMetadataDecoder(EOOMNamespaceMixIn, xml.Decoder):
    parent_identifier = xml.Parameter("eop:metaDataProperty/eop:EarthObservationMetaData/eop:parentIdentifier/text()", type=str, num="?")

    production_status = xml.Parameter("eop:metaDataProperty/eop:EarthObservationMetaData/eop:status/text()", type=str, num="?")
    acquisition_type = xml.Parameter("eop:metaDataProperty/eop:EarthObservationMetaData/eop:acquisitionType/text()", type=str, num="?")

    orbit_number = xml.Parameter("om:procedure/eop:EarthObservationEquipment/eop:acquisitionParameters/eop:Acquisition/eop:orbitNumber/text()", type=str, num="?")
    orbit_direction = xml.Parameter("om:procedure/eop:EarthObservationEquipment/eop:acquisitionParameters/eop:Acquisition/eop:orbitDirection/text()", type=str, num="?")

    track = xml.Parameter("om:procedure/eop:EarthObservationEquipment/eop:acquisitionParameters/eop:Acquisition/eop:wrsLongitudeGrid/text()", type=str, num="?")
    frame = xml.Parameter("om:procedure/eop:EarthObservationEquipment/eop:acquisitionParameters/eop:Acquisition/eop:wrsLatitudeGrid/text()", type=str, num="?")
    swath_identifier = xml.Parameter("om:procedure/eop:EarthObservationEquipment/eop:sensor/eop:Sensor/eop:swathIdentifier/text()", type=str, num="?")

    product_version = xml.Parameter("om:result/eop:EarthObservationResult/eop:product/eop:ProductInformation/eop:version/text()", type=str, num="?")
    product_quality_status = xml.Parameter("eop:metaDataProperty/eop:EarthObservationMetaData/eop:productQualityDegradation/text()", type=str, num="?")
    product_quality_degradation_tag = xml.Parameter("eop:metaDataProperty/eop:EarthObservationMetaData/eop:productQualityDegradationTag/text()", type=str, num="?")
    processor_name = xml.Parameter("eop:metaDataProperty/eop:EarthObservationMetaData/eop:processing/eop:ProcessingInformation/eop:processorName/text()", type=str, num="?")
    processing_center = xml.Parameter("eop:metaDataProperty/eop:EarthObservationMetadata/eop:processing/eop:ProcessingInformation/eop:processingCenter/text()", type=str, num="?")
    processing_date = xml.Parameter("eop:metaDataProperty/eop:EarthObservationMetadata/eop:processing/eop:ProcessingInformation/eop:processingDate/text()", type=parse_iso8601, num="?")
    sensor_mode = xml.Parameter("om:procedure/eop:EarthObservationEquipment/eop:sensor/eop:Sensor/eop:operationalMode/text()", type=str, num="?")
    archiving_center = xml.Parameter("eop:metaDataProperty/eop:EarthObservationMetaData/eop:archivedIn/eop:ArchivingInformation/eop:archivingCenter/text()", type=str, num="?")
    processing_mode = xml.Parameter("eop:metaDataProperty/eop:EarthObservationMetaData/eop:processing/eop:ProcessingInformation/eop:ProcessingMode/text()", type=str, num="?")
    creation_date = xml.Parameter("eop:metaDataProperty/eop:EarthObservationMetaData/eop:creationDate/text()", type=parse_iso8601, num="?")
Пример #20
0
class WCS20DescribeCoverageXMLDecoder(xml.Decoder):
    coverage_ids = xml.Parameter("wcs:CoverageId/text()", num="+")
    namespaces = nsmap
Пример #21
0
class EOOMExtraMetadataDecoder(EOOMNamespaceMixIn, xml.Decoder):
    modification_date = xml.Parameter("eop:metaDataProperty/eop:EarthObservationMetaData/eop:modificationDate/text()", type=parse_iso8601, num="?")

    # TODO: get this into models
    # resolution = xml.Parameter("om:procedure/eop:EarthObservationEquipment/eop:sensor/eop:Sensor/eop:resolution/text()", type=str, num="?")

    cloud_cover = xml.Parameter("om:result/opt:EarthObservationResult/opt:cloudCoverPercentage/text()|om:result/atm:EarthObservationResult/atm:cloudCoverPercentage/text()", type=float, num="?")
    snow_cover = xml.Parameter("om:result/opt:EarthObservationResult/opt:snowCoverPercentage/text()|om:result/atm:EarthObservationResult/atm:snowCoverPercentage/text()", type=float, num="?")
    lowest_location = xml.Parameter("atm:EarthObservation/om:resultOf/atm:EarthObservationResult/atm:dataLayers/atm:DataLayer/atm:lowestLocation/text()", type=float, num="?")
    highest_location = xml.Parameter("atm:EarthObservation/om:resultOf/atm:EarthObservationResult/atm:dataLayers/atm:DataLayer/atm:highestLocation/text()", type=float, num="?")

    acquisition_station = xml.Parameter("eop:metaDataProperty/eop:EarthObservationMetaData/eop:downlinkedTo/eop:DownlinkInformation/eop:acquisitionStation/text()", type=str, num="?")
    availability_time = xml.Parameter("om:resultTime/gml:TimeInstant/gml:timePosition/text()", type=parse_iso8601, num="?")
    acquisition_sub_type = xml.Parameter("eop:metaDataProperty/eop:EarthObservationMetaData/eop:acquisitionSubType/text()", type=str, num="?")
    start_time_from_ascending_node = xml.Parameter("om:procedure/eop:EarthObservationEquipment/eop:acquisitionParameters/eop:Acquisition/eop:startTimeFromAscendingNode/text()", type=int, num="?")
    completion_time_from_ascending_node = xml.Parameter("om:procedure/eop:EarthObservationEquipment/eop:acquisitionParameters/eop:Acquisition/eop:completionTimeFromAscendingNode/text()", type=int, num="?")

    illumination_azimuth_angle = xml.Parameter("om:procedure/eop:EarthObservationEquipment/eop:acquisitionParameters/eop:Acquisition/eop:illuminationAzimuthAngle/text()", type=float, num="?")
    illumination_zenith_angle = xml.Parameter("om:procedure/eop:EarthObservationEquipment/eop:acquisitionParameters/eop:Acquisition/eop:illuminationZenithAngle/text()", type=float, num="?")
    illumination_elevation_angle = xml.Parameter("om:procedure/eop:EarthObservationEquipment/eop:acquisitionParameters/eop:Acquisition/eop:illuminationElevationAngle/text()", type=float, num="?")

    polarisation_mode = xml.Parameter("om:procedure/eop:EarthObservationEquipment/eop:acquisitionParameters/sar:Acquisition/sar:polarisationMode/text()", type=str, num="?")
    polarization_channels = xml.Parameter("om:procedure/eop:EarthObservationEquipment/eop:acquisitionParameters/sar:Acquisition/sar:polarisationChannels/text()", type=str, num="?")
    antenna_look_direction = xml.Parameter("om:procedure/eop:EarthObservationEquipment/eop:acquisitionParameters/sar:Acquisition/sar:antennaLookDirection/text()", type=str, num="?")
    minimum_incidence_angle = xml.Parameter("om:procedure/eop:EarthObservationEquipment/eop:acquisitionParameters/sar:Acquisition/sar:minimumIncidenceAngle/text()", type=float, num="?")
    maximum_incidence_angle = xml.Parameter("om:procedure/eop:EarthObservationEquipment/eop:acquisitionParameters/sar:Acquisition/sar:maximumIncidenceAngle/text()", type=float, num="?")
    across_track_incidence_angle = xml.Parameter("om:procedure/eop:EarthObservationEquipment/eop:acquisitionParameters/opt:Acquisition/eop:acrossTrackIncidenceAngle/text()", type=float, num="?")
    along_track_incidence_angle = xml.Parameter("om:procedure/eop:EarthObservationEquipment/eop:acquisitionParameters/opt:Acquisition/eop:alongTrackIncidenceAngle/text()", type=float, num="?")
    doppler_frequency = xml.Parameter("om:procedure/eop:EarthObservationEquipment/eop:acquisitionParameters/sar:Acquisition/sar:dopplerFrequency/text()", type=float, num="?")
    incidence_angle_variation = xml.Parameter("om:procedure/eop:EarthObservationEquipment/eop:acquisitionParameters/sar:Acquisition/sar:incidenceAngleVariation/text()", type=float, num="?")
Пример #22
0
class WPS10DescribeProcessXMLDecoder(xml.Decoder):
    """ WPS 1.0 DescribeProcess HTTP/POST XML request decoder. """
    #pylint: disable=too-few-public-methods
    identifiers = xml.Parameter("ows:Identifier/text()", num="+")
    namespaces = nsmap
Пример #23
0
class GMLFeatureDecoder(xml.Decoder):
    identifiers = xml.Parameter("//identifier/text()", num="*")
Пример #24
0
class WCS11DescribeCoverageXMLDecoder(xml.Decoder):
    coverage_ids = xml.Parameter("wcs:Identifier/text()", num="+")
    namespaces = nsmap
Пример #25
0
class GSCFormatExtendedDecoder(xml.Decoder):
    namespaces = nsmap

    identifier = xml.Parameter(
        "(gsc:sar_metadata|gsc:opt_metadata)/gml:metaDataProperty/gsc:EarthObservationMetaData/eop:identifier/text()",
        type=str,
        num="?")
    parent_identifier = xml.Parameter(
        "(gsc:sar_metadata|gsc:opt_metadata)/gml:metaDataProperty/gsc:EarthObservationMetaData/eop:parentIdentifier/text()",
        type=str,
        num="?")
    production_status = xml.Parameter(
        "(gsc:sar_metadata|gsc:opt_metadata)/gml:metaDataProperty/gsc:EarthObservationMetaData/eop:status/text()",
        type=str,
        num="?")
    acquisition_type = xml.Parameter(
        "(gsc:sar_metadata|gsc:opt_metadata)/gml:metaDataProperty/gsc:EarthObservationMetaData/eop:acquisitionType/text()",
        type=str,
        num="?")
    orbit_number = xml.Parameter(
        "(gsc:sar_metadata|gsc:opt_metadata)/gml:using/eop:EarthObservationEquipment/eop:acquisitionParameters/opt:Acquisition/eop:orbitNumber/text()",
        type=int,
        num="?")
    orbit_direction = xml.Parameter(
        "(gsc:sar_metadata|gsc:opt_metadata)/gml:using/eop:EarthObservationEquipment/eop:acquisitionParameters/opt:Acquisition/eop:orbitDirection/text()",
        type=str,
        num="?")

    swath_identifier = xml.Parameter(
        "(gsc:sar_metadata|gsc:opt_metadata)/gml:using/eop:EarthObservationEquipment/eop:sensor/eop:Sensor/eop:swathIdentifier/text()",
        type=str,
        num="?")

    product_version = xml.Parameter(
        "(gsc:sar_metadata|gsc:opt_metadata)/gml:resultOf/eop:EarthObservationResult/eop:product/eop:ProductInformation/eop:version/text()",
        type=float,
        num="?")
    product_quality_status = xml.Parameter(
        "(gsc:sar_metadata|gsc:opt_metadata)/gml:resultOf/eop:EarthObservationMetaData/eop:productQualityStatus/text()",
        type=str,
        num="?")
    product_quality_degradation_tag = xml.Parameter(
        "(gsc:sar_metadata|gsc:opt_metadata)/gml:metaDataProperty/gsc:EarthObservationMetaData/eop:productQualityDegradationTag/text()",
        type=str,
        num="?")
    processing_center = xml.Parameter(
        "(gsc:sar_metadata|gsc:opt_metadata)/gml:metaDataProperty/gsc:EarthObservationMetaData/eop:processing/eop:ProcessingInformation/eop:processingCenter/text()",
        type=str,
        num="?")
    creation_date = xml.Parameter(
        "(gsc:sar_metadata|gsc:opt_metadata)/gml:metaDataProperty/gsc:EarthObservationMetaData/eop:creationDate/text()",
        type=str,
        num="?")  # insertion into catalog
    modification_date = xml.Parameter(
        "(gsc:sar_metadata|gsc:opt_metadata)/gml:metaDataProperty/gsc:EarthObservationMetaData/eop:modificationDate/text()",
        type=str,
        num="?")  # last modification in catalog
    processing_date = xml.Parameter(
        "(gsc:sar_metadata|gsc:opt_metadata)/gml:metaDataProperty/gsc:EarthObservationMetaData/eop:processing/eop:ProcessingInformation/eop:processingDate/text()",
        type=str,
        num="?")
    sensor_mode = xml.Parameter(
        "(gsc:sar_metadata|gsc:opt_metadata)/gml:using/eop:EarthObservationEquipment/eop:sensor/eop:Sensor/eop:operationalMode/text()",
        type=str,
        num="?")
    archiving_center = xml.Parameter(
        "(gsc:sar_metadata|gsc:opt_metadata)/gml:metaDataProperty/gsc:EarthObservationMetaData/eop:archivedIn/eop:ArchivingInformation/eop:archivingCenter/text()",
        type=str,
        num="?")
    processing_mode = xml.Parameter(
        "(gsc:sar_metadata|gsc:opt_metadata)/gml:metaDataProperty/gsc:EarthObservationMetaData/eop:processing/eop:ProcessingInformation/eop:processingMode/text()",
        type=str,
        num="?")
    # acquisition type metadata

    acquisition_station = xml.Parameter(
        "(gsc:sar_metadata|gsc:opt_metadata)/gml:metaDataProperty/gsc:EarthObservationMetaData/eop:downlinkedTo/eop:DownlinkInformation/eop:acquisitionStation/text()",
        type=str,
        num="?")
    acquisition_sub_type = xml.Parameter(
        "(gsc:sar_metadata|gsc:opt_metadata)/gml:metaDataProperty/gsc:EarthObservationMetaData/eop:acquisitionSubType/text()",
        type=str,
        num="?")
    start_time_from_ascending_node = xml.Parameter(
        "(gsc:sar_metadata|gsc:opt_metadata)/gml:using/eop:EarthObservationEquipment/eop:acquisitionParameters/eop:Acquisition/eop:startTimeFromAscendingNode/text()",
        type=str,
        num="?")
    completion_time_from_ascending_node = xml.Parameter(
        "(gsc:sar_metadata|gsc:opt_metadata)/gml:using/eop:EarthObservationEquipment/eop:acquisitionParameters/eop:Acquisition/eop:completionTimeFromAscendingNode/text()",
        type=str,
        num="?")
    illumination_azimuth_angle = xml.Parameter(
        "(gsc:sar_metadata|gsc:opt_metadata)/gml:using/eop:EarthObservationEquipment/eop:acquisitionParameters/opt:Acquisition/opt:illuminationAzimuthAngle/text()",
        type=float,
        num="?")
    illumination_zenith_angle = xml.Parameter(
        "(gsc:sar_metadata|gsc:opt_metadata)/gml:using/eop:EarthObservationEquipment/eop:acquisitionParameters/opt:Acquisition/opt:illuminationZenithAngle/text()",
        type=float,
        num="?")
    illumination_elevation_angle = xml.Parameter(
        "(gsc:sar_metadata|gsc:opt_metadata)/gml:using/eop:EarthObservationEquipment/eop:acquisitionParameters/opt:Acquisition/opt:illuminationElevationAngle/text()",
        type=float,
        num="?")
    across_track_incidence_angle = xml.Parameter(
        "(gsc:sar_metadata|gsc:opt_metadata)/gml:using/eop:EarthObservationEquipment/eop:acquisitionParameters/opt:Acquisition/eop:acrossTrackIncidenceAngle/text()",
        type=float,
        num="?")
    along_track_incidence_angle = xml.Parameter(
        "(gsc:sar_metadata|gsc:opt_metadata)/gml:using/eop:EarthObservationEquipment/eop:acquisitionParameters/opt:Acquisition/eop:alongTrackIncidenceAngle/text()",
        type=float,
        num="?")
    polarisation_mode = xml.Parameter(
        "(gsc:sar_metadata|gsc:opt_metadata)/gml:using/eop:EarthObservationEquipment/eop:acquisitionParameters/sar:Acquisition/sar:polarisationMode/text()",
        type=str,
        num="?")
    polarization_channels = xml.Parameter(
        "(gsc:sar_metadata|gsc:opt_metadata)/gml:using/eop:EarthObservationEquipment/eop:acquisitionParameters/sar:Acquisition/sar:polarisationChannels/text()",
        type=str,
        num="?")
    antenna_look_direction = xml.Parameter(
        "(gsc:sar_metadata|gsc:opt_metadata)/gml:using/eop:EarthObservationEquipment/eop:acquisitionParameters/sar:Acquisition/sar:antennaLookDirection/text()",
        type=str,
        num="?")
    minimum_incidence_angle = xml.Parameter(
        "(gsc:sar_metadata|gsc:opt_metadata)/gml:using/eop:EarthObservationEquipment/eop:acquisitionParameters/sar:Acquisition/sar:minimumIncidenceAngle/text()",
        type=float,
        num="?")
    maximum_incidence_angle = xml.Parameter(
        "(gsc:sar_metadata|gsc:opt_metadata)/gml:using/eop:EarthObservationEquipment/eop:acquisitionParameters/sar:Acquisition/sar:maximumIncidenceAngle/text()",
        type=float,
        num="?")
    # for SAR acquisitions
    doppler_frequency = xml.Parameter(
        "(gsc:sar_metadata|gsc:opt_metadata)/gml:using/eop:EarthObservationEquipment/eop:acquisitionParameters/sar:Acquisition/sar:dopplerFrequency/text()",
        type=float,
        num="?")
    incidence_angle_variation = xml.Parameter(
        "(gsc:sar_metadata|gsc:opt_metadata)/gml:using/eop:EarthObservationEquipment/eop:acquisitionParameters/sar:Acquisition/sar:incidenceAngleVariation/text()",
        type=float,
        num="?")
    # for OPT/ALT
    cloud_cover = xml.Parameter(
        "(gsc:sar_metadata|gsc:opt_metadata)/gml:resultOf/opt:EarthObservationResult/opt:cloudCoverPercentage/text()",
        type=float,
        num="?")
    snow_cover = xml.Parameter(
        "(gsc:sar_metadata|gsc:opt_metadata)/gml:resultOf/opt:EarthObservationResult/opt:snowCoverPercentage/text()",
        type=float,
        num="?")