+ All Categories
Home > Documents > Contribution of SAFE to XFDU

Contribution of SAFE to XFDU

Date post: 17-Jan-2016
Category:
Upload: theta
View: 31 times
Download: 0 times
Share this document with a friend
Description:
Contribution of SAFE to XFDU. CCSDS/MOIMS/IPR Workshop (11-15/04/2005 Athens). Stéphane MBAYE GAEL Consultant [email protected]. Rationale. SAFE Format Specifications 1.5 – [SAFE-FMT] ESA/CNES XFDU I/O Library – [XFDU-I/O] SAFE I/O library – [SAFE-I/O] - PowerPoint PPT Presentation
54
1/9 Contribution of SAFE to XFDU Contribution of SAFE to XFDU CCSDS/MOIMS/IPR Workshop (11-15/04/2005 Athens) Stéphane MBAYE GAEL Consultant [email protected]
Transcript
Page 1: Contribution of SAFE to XFDU

1/9

Contribution of SAFE to XFDUContribution of SAFE to XFDUContribution of SAFE to XFDUContribution of SAFE to XFDUCCSDS/MOIMS/IPR Workshop

(11-15/04/2005 Athens)CCSDS/MOIMS/IPR Workshop

(11-15/04/2005 Athens)

Stéphane MBAYEGAEL Consultant

[email protected]

Page 2: Contribution of SAFE to XFDU

2/9

RationaleRationale

SAFE Format Specifications 1.5 – [SAFE-FMT] ESA/CNES XFDU I/O Library – [XFDU-I/O] SAFE I/O library – [SAFE-I/O] XFDU Specifications – Issues and Proposals

Page 3: Contribution of SAFE to XFDU

3/9

SAFE Format Specifications 1.5SAFE Format Specifications 1.5[SAFE-FMT][SAFE-FMT]

Page 4: Contribution of SAFE to XFDU

4/9

SAFE - SAFE - Origin and goals (reminder)Origin and goals (reminder)

Standard Archive Format for Europe Provide ESA with a single format for all EO data

All Level 0 (Raw) and Level 1 Level 2 (as far as applicable) Ground Segment Auxiliary files)

Should become an ESA AIP Candidate for SIP and DIP (TBV) Shall be compatible with XFDU

Page 5: Contribution of SAFE to XFDU

5/9

SAFE – 111 Data types to be supportedSAFE – 111 Data types to be supported

ENVISAT (59)ASAR (23), AATSR (5), DORIS (3), GOMOS (7), MERIS (13), MIPAS (6), MWR (1), RA2 (8), SCIAMACHY (5)

ERS (25)RA (4), AMI (12), ATSR (3), MWR (1), GOME (2), PRARE (3)

Landsat (3)MSS (1), TM (1), ETM+(1), RBV (0)

JERS (3)OPS (1), SAR (2)

Terra/Aqua (1)MODIS (1)

NOAA (6)AVHRR/TOVS (6)

Orbview (5)SeaWifs (5)

NOAA (6)AVHRR/TOVS (6)

IRS P3 (1)MOS (1)

Nimbus (2)CZCS (2)

MOS (1)MESSR (1)

SPOT (3)HRV (1), HRVIR (1), HRG (1)

Page 6: Contribution of SAFE to XFDU

6/9

SAFE, a restriction of XFDUSAFE, a restriction of XFDU <!-- SAFE Root element type. The type of the SAFE root derives from XFDU root type. -->

<xsd:complexType name="safeType">

<xsd:complexContent>

<xsd:restriction base="XFDUType">

<xsd:sequence>

<xsd:element form="unqualified" name="packageHeader«  type="safe:packageHeaderType"

minOccurs="1« /> 

<xsd:element form="unqualified" name="informationPackageMap" type="safe:informationPackageMapType"

maxOccurs="1« /> 

<xsd:element form="unqualified" name="metadataSection" type="safe:metadataSectionType"

minOccurs="1« /> 

<xsd:element form="unqualified" name="dataObjectSection" type="dataObjectSectionType"

minOccurs="0« /> 

<xsd:element form="unqualified" name="behaviorSection" type="behaviorSectionType"

minOccurs="0« />

</xsd:sequence>

</xsd:restriction>

</xsd:complexContent>

</xsd:complexType>

 

<!-- SAFE Root element -->

<xsd:element name="safe" type="safe:safeType"/>

Page 7: Contribution of SAFE to XFDU

7/9

XML Schemas / Namespace policyXML Schemas / Namespace policy

http://www.esa.int/safe/1.0/core-1.0.xsd

http://www.esa.int/safe/1.0/passive-sensor-1.0.xsd

http://www.esa.int/safe/1.0/active-sensor-1.0.xsd

http://www.esa.int/safe/1.0

Specializations…

http://www.esa.int/safe/1.0/impl/xxx

Page 8: Contribution of SAFE to XFDU

8/9

contentUnitType

(from int.esa.safe)

+order:

+pdiID:

informationPackageMapType

(from int.esa.safe)

contentUnit+

1..*

contentUnitType

(from int.esa.safe)

+order:

+pdiID:

informationPackageMapType

(from int.esa.safe)

contentUnit+

1..*

SAFE Information Package Map SectionSAFE Information Package Map Section

One and only one Information Package Map Section

Page 9: Contribution of SAFE to XFDU

9/9

SAFE – Core Metadata ObjectsSAFE – Core Metadata Objects

Acquisition Period Object Platform Objects Processing Log Objects Quality Information Objects Orbit Reference Objects FrameSet Objects XML Schemas Objects

Page 10: Contribution of SAFE to XFDU

10/9

SAFE - SAFE - Acquisition Period ObjectAcquisition Period Object

acquisitionPeriodType

(from int.esa.safe)

+startTime:xsd:dateTime

+stopTime:xsd:dateTime

acquisitionPeriodType

(from int.esa.safe)

+startTime:xsd:dateTime

+stopTime:xsd:dateTime

Page 11: Contribution of SAFE to XFDU

11/9

platformType

(from int.esa.safe)

+familyName:xsd:string[0..1]

+number:xsd:positiveInteger[0..1]

instrumentType

(from int.esa.safe)

instrument+

platformType

(from int.esa.safe)

+familyName:xsd:string[0..1]

+number:xsd:positiveInteger[0..1]

instrumentType

(from int.esa.safe)

instrument+

SAFE – Platform ObjectSAFE – Platform Object

Page 12: Contribution of SAFE to XFDU

12/9

SAFE - Specialized Core ObjectsSAFE - Specialized Core Objects <!-- Platform description --> <metadataObject ID="platform" classification="DESCRIPTION" category="DMD"> <mdWrap textInfo="Platform Description" vocabluaryMdType="OTHER" otherMdType="SAFE" mimeType="text/xml"> <xmlData> <safe:platform> <!-- Platform identification --> <safe:nssdcId>2003-009A</safe:nssdcId> <safe:familyName>ENVISAT</safe:familyName> <!-- Instrument identification --> <safe:instrument> <safe:familyName>MERIS</safe:familyName> <meris:mode vcid="6" opsMode="4"/> </safe:instrument> </safe:platform> </xmlData> </mdWrap> </metadataObject>

Page 13: Contribution of SAFE to XFDU

13/9

SAFE – Orbit Reference ObjectSAFE – Orbit Reference Object

orbitReferenceType

(from int.esa.safe)

+startOrbit:xsd:positiveInteger

+stopOrbit:xsd:positiveInteger

+cycle:xsd:positiveInteger

+phase:xsd:positiveInteger

+startTrack:xsd:integer[0..1]

+stopTrack:xsd:integer[0..1]

orbitReferenceType

(from int.esa.safe)

+startOrbit:xsd:positiveInteger

+stopOrbit:xsd:positiveInteger

+cycle:xsd:positiveInteger

+phase:xsd:positiveInteger

+startTrack:xsd:integer[0..1]

+stopTrack:xsd:integer[0..1]

Page 14: Contribution of SAFE to XFDU

14/9

SAFE – Processing Log ObjectSAFE – Processing Log Object

Page 15: Contribution of SAFE to XFDU

15/9

<!-- Quality information of the measurements --> <metadataObject ID="measurementQualityInformation" classification="DESCRIPTION" category="DMD"> <mdWrap textInfo="Quality Information" vocabluaryMdType="OTHER" otherMdType="SAFE" mimeType="text/xml"> <xmlData> <safe:qualityInformation> <!-- 24 records are missing from after the 1233rd record --> <safe:missingUnits> <safe:location>mdsr[1234]</safe:location> <safe:count>24</safe:count> </safe:missingUnits> <!-- The records 456 to 468 have a bad application ID --> <safe:corruptedUnits> mdsr[456 to 468]/isp/pkHd/PkId/appId </safe:corruptedUnits> </safe:qualityInformation> </xmlData> </mdWrap>

</metadataObject>

SAFE – Quality InformationSAFE – Quality Information

qualityInformationType

(from int.esa.safe)

+corruptedUnits:xsd:string[*]

qualityInformationType

(from int.esa.safe)

+corruptedUnits:xsd:string[*]

Use of XPath/XQuery foridentifying the corrupted/

Missing areas of theData Objects

Page 16: Contribution of SAFE to XFDU

16/9

SAFE – Frame SetsSAFE – Frame Sets

frameSetType

(from int.esa.safe)

frameType

-orbit :int

-track:int

-number:int

-footPrint:gml:LinearRing

frame+

1..*

cloudVoteNotationSystem

-ceil:xs:double

-floor :xs:double

cloudVoteNotationSystem+

tile

-row:int

-column:int

-cloudVote:xs:double

##other:xs:any

tile+

*

frameSetType

(from int.esa.safe)

frameType

-orbit :int

-track:int

-number:int

-footPrint:gml:LinearRing

frame+

1..*

cloudVoteNotationSystem

-ceil:xs:double

-floor :xs:double

cloudVoteNotationSystem+

tile

-row:int

-column:int

-cloudVote:xs:double

##other:xs:any

tile+

*

Page 17: Contribution of SAFE to XFDU

17/9

SAFE – XML Schema ObjectsSAFE – XML Schema Objects

All Data Objects shall have an associated XML Schemas Post-processing (sub-setting, reformatting, …) Annotation (quality information, cloud cover) Indexing Documentation / Presentation

Page 18: Contribution of SAFE to XFDU

18/9

SAFE - Preservation of Binary ObjectsSAFE - Preservation of Binary Objects

Annotated XML Schemas Structured Data File (SDF) markups

<xsd:complexType> <xsd:sequence> <xsd:element name="record" type="xs:int" minOccurs="0" maxOccurs="unbounded"> <xsd:annotation> <xsd:appinfo> <sdf:block> <sdf:occurrence query="../header/numRec + 1"/> <sdf:length unit=‘bit’>12</sdf:length> </sdf:block> </xsd:appinfo> </xsd:annotation> </xsd:element> </xsd:sequence> <xsd:complexType/>

<xsd:complexType> <xsd:sequence> <xsd:element name="record" type="xs:int" minOccurs="0" maxOccurs="unbounded"> <xsd:annotation> <xsd:appinfo> <sdf:block> <sdf:occurrence query="../header/numRec + 1"/> <sdf:length unit=‘bit’>12</sdf:length> </sdf:block> </xsd:appinfo> </xsd:annotation> </xsd:element> </xsd:sequence> <xsd:complexType/>

Page 19: Contribution of SAFE to XFDU

19/9

SDF – Hierarchy of data blocksSDF – Hierarchy of data blocks

Page 20: Contribution of SAFE to XFDU

20/9

SDF - Location of a block within the streamSDF - Location of a block within the stream

Page 21: Contribution of SAFE to XFDU

21/9

SDF - Physical representation of a SDF - Physical representation of a nodenode

Page 22: Contribution of SAFE to XFDU

22/9

SDF - Physical representation of a SDF - Physical representation of a complex contentcomplex content

Page 23: Contribution of SAFE to XFDU

23/9

SDF - MarkupsSDF - Markups

Page 24: Contribution of SAFE to XFDU

24/9

SDF - Example of Binary interpreter SDF - Example of Binary interpreter (Derby)(Derby)

Detailed content of an ENVISAT MERIS

telemetry Source Packet(CCSDS standard)described by SDF

Page 25: Contribution of SAFE to XFDU

25/9

Active Sensors Active Sensors Metadata ObjectsMetadata Objects

Pulse Repetition Frequency Polarization Pulse Length

Page 26: Contribution of SAFE to XFDU

26/9

SAFE Behavior ObjectsSAFE Behavior Objects

No SAFE Behavior Object has been defined Some may be added for configuring Stitching? Should be investigated with CNES

Page 27: Contribution of SAFE to XFDU

27/9

XFDU I/O library – [XFDU-I/O]XFDU I/O library – [XFDU-I/O]

Page 28: Contribution of SAFE to XFDU

28/9

XFDU I/O - General architectureXFDU I/O - General architecture

Page 29: Contribution of SAFE to XFDU

29/9

Getting XFDU I/O library –Web siteGetting XFDU I/O library –Web site

http://www.gael.fr/xfdu

Page 30: Contribution of SAFE to XFDU

30/9

XFDU I/O Basic principlesXFDU I/O Basic principles

Based on interactions with the MANIFEST file Each interaction is not automatically comitted (possible

rollback): the result shall be explicitely saved 100% Java C++ Wrapper based on Java Native Interface (JNI) No support of Behavior section (to be investigated with

CNES)

Page 31: Contribution of SAFE to XFDU

31/9

XFDU I/O Implemented UsecasesXFDU I/O Implemented Usecases Creation of a new XFDU packet Opening of an existing XFDU packet Removal of a XFDU packet Moving a XFDU packet (with or without the attached objects) Management of the Content Units Management of Metadata Objects (only XML wrap) Management of Data Objects (only Flocat references) Browse Data Object Content (if associated XML Schema) Validation of XFDU packet Dumping XFDU Manifest in XML

Page 32: Contribution of SAFE to XFDU

32/9

XFDU I/O – Configuration StatusXFDU I/O – Configuration Status

Configuration identifiers: safe-1-0-beta-2: first functional release safe-1-0-beta-1: API only

Package identifier: esa.xfdu (TBV CNES)

Page 33: Contribution of SAFE to XFDU

33/9

SAFE I/O library – [SAFE-I/O]SAFE I/O library – [SAFE-I/O]

Page 34: Contribution of SAFE to XFDU

34/9

SAFE I/O - General architectureSAFE I/O - General architecture

Data Request Broker

XFDU API (ESA)

SAFE I/O Java

SAFE I/O C++ Wrapper

Java Apps C++ Apps

Data Request Broker

XFDU API (ESA)

SAFE I/O Java

SAFE I/O C++ Wrapper

Java Apps C++ Apps

Page 35: Contribution of SAFE to XFDU

35/9

Getting SAFE I/O library – SAFE Web siteGetting SAFE I/O library – SAFE Web site

http://www.gael.fr/safe

Page 36: Contribution of SAFE to XFDU

36/9

SAFE I/O Basic principles (Cont’)SAFE I/O Basic principles (Cont’)

Delegates standard XFDU access to ESA XFDU I/O Based on interactions with the MANIFEST file Each interaction is not automatically comitted (possible

rollback): the result shall be explicitely saved

Page 37: Contribution of SAFE to XFDU

37/9

SAFE I/O Implemented UsecasesSAFE I/O Implemented Usecases Creation of a new SAFE packet Opening of an existing SAFE packet Removal of a SAFE packet Moving a SAFE packet (with or without the attached objects) Management of the Content Units Management of the Core Metadata Objects Adding specialized Metadata Management of Data Objects Extraction or pointing to a subpart of a Data Object Identifying missing units and corrupted areas Browse Data Object Content Validation of SAFE packet Dumping SAFE Manifest in XML

Page 38: Contribution of SAFE to XFDU

38/9

SAFE I/O – Configuration StatusSAFE I/O – Configuration Status

Configuration identifiers: safe-1-0-release : an official release of version 1.0 safe-1-0-rc2 : second release candidate of version 1.0 safe-1-0-rc1 : a release candidate of version 1.0 safe-1-0-beta-1: unconsolidated distribution of version 1.0

Package identifier: esa.safe

Page 39: Contribution of SAFE to XFDU

39/9

XFDU SpecificationsXFDU SpecificationsIssues and ProposalsIssues and Proposals

Page 40: Contribution of SAFE to XFDU

40/9

XFDU – Environment InformationXFDU – Environment Information

What is teh exact definition of the environmentInfo/@specVersion attribute?

May the environmentInfo contain package history (e.g. SAFE processing logs)?

Page 41: Contribution of SAFE to XFDU

41/9

XFDU – Information Package MapXFDU – Information Package Map

What is the presice role of contentUnit/@order ? GAEL understanding: user defined order CNES understanding: package sequence number?

A Map section ?shall? Reference all metadata/data objects of the package?

Meaning of multiple Map sections?

Page 42: Contribution of SAFE to XFDU

42/9

XFDU – Single file packagesXFDU – Single file packages

For DIPs ESA requests single file products ZIP, Jar or other standard archive format are not

suitable for large data sets (e.g. 5 Gb for ENVISAT-ASAR format)

ESA proposes to append binary data objects to the MANIFEST file (not fully compliant with XML 1.0 or XML 1.0)

Page 43: Contribution of SAFE to XFDU

43/9

XFDU – How to design restrictions?XFDU – How to design restrictions?

The XML Schema requires global elements and attributes for restricting types in a different target namespace (E.g. SAFE)

May xfdu.xsd propose more global element for that purpose?

Should implementers redefine the xfdu.xsd? May the XFDU specification provide a

clarification/recommendation on that subject?

Page 44: Contribution of SAFE to XFDU

44/9

XFDU – Metadata/Data Object referencesXFDU – Metadata/Data Object references

metadataObject/@mdRef =? bytestream/@FLocat metadataObject/@mdWrap =? bytestream/@FContent May these differences be homogeneized?

Page 45: Contribution of SAFE to XFDU

45/9

XFDU – ChecksumsXFDU – Checksums

Should the CRC moved or add to the Flocat element (i.e. one CRC per file)?

What is the difference between dataObject/@checksum and bytestream/@checksum?

Page 46: Contribution of SAFE to XFDU

46/9

XFDU – Reference to XLinkXFDU – Reference to XLink

Requires an xlink.xsd in the same directory as the xfdu.xsd

References http://www.w3.org/TR/XLink ? http://www.w3.org/1999/XLink ?

Where to download the right XML Schema?

Page 47: Contribution of SAFE to XFDU

47/9

XFDU - TyposXFDU - Typos

vocabluaryMdType ? Comments of all items of the enumerations: e.g.EAD? mdSecType may be renamed metadataSectionType?

Page 48: Contribution of SAFE to XFDU

48/9

Thank you for your attention !Thank you for your attention !

Page 49: Contribution of SAFE to XFDU

49/9

XFDU – XML Schema OverviewXFDU – XML Schema Overview

Page 50: Contribution of SAFE to XFDU

50/9

XFDU - XFDU - Package HeaderPackage Header

Page 51: Contribution of SAFE to XFDU

51/9

XFDU - XFDU - Information Package Map SectionInformation Package Map Section

Page 52: Contribution of SAFE to XFDU

52/9

XFDU - XFDU - Metadata Object SectionMetadata Object Section

Page 53: Contribution of SAFE to XFDU

53/9

XFDU - XFDU - Data Object SectionData Object Section

Page 54: Contribution of SAFE to XFDU

54/9

XFDU - XFDU - Behaviour Object SectionBehaviour Object Section


Recommended