use Geo::EOP ':eop1.1'; my $eop = Geo::EOP->new(eop_version => '1.1'); # see XML::Compile::Cache on how to use readers and writers my $data = $eop->reader("gml:GridCoverage")->($xmlmsg); my $xml = $eop->writer($sometype)->($doc, $perldata); # or without help of the cache, XML::Compile::Schema my $r = $gml->compile(READER => $sometype); my $data = $r->($xml); # read a eop data file. Autodetects the version used. my ($type, $data) = $eop->from('data.xml'); my ($type, $data) = Geo::EOP->from('data.xml'); print "Root type: $type\n"; print "EOP version: $data->{version}\n"; # huge overview on all defined elements $gml->printIndex;
Provides access to the EOP definitions specified as XML schemas, based on GML. Up to version 1.0, these schemas where named 'HMA' (Heterogeneous EO Missions Accessibility), and the development is still part of these ESA efforts for standardization.
BE WARNED that HMA1.0 and EOP 1.1/1.2 are only using a subset of GML version 3.1.1, due to problems with some software tools. This limitation will probably be removed in 1.3 (or whatever the next version will be named).
The first releases of this module will not powerful, but hopefully people contribute. For instance, an example conversion script between various versions is very welcome! It would be nice to help each other. I will clean-up the implementation, to make it publishable, but do not have the knowledge about needed to implement the converter itself.
See DESCRIPTION in Geo::GML
See Distribution collection overview in XML::Compile
See Comparison in XML::Compile
See Collecting definitions in XML::Compile::Schema
See Organizing your definitions in XML::Compile::Schema
See Addressing components in XML::Compile::Schema
See Representing data-structures in XML::Compile::Schema
See simpleType in XML::Compile::Schema
See complexType/simpleContent in XML::Compile::Schema
See complexType and complexType/complexContent in XML::Compile::Schema
See Manually produced XML NODE in XML::Compile::Schema
See Occurence in XML::Compile::Schema
See Default Values in XML::Compile::Schema
See Repetative blocks in XML::Compile::Schema
See List type in XML::Compile::Schema
See Using substitutionGroup constructs in XML::Compile::Schema
See Wildcards via any and anyAttribute in XML::Compile::Schema
See ComplexType with "mixed" attribute in XML::Compile::Schema
See hexBinary and base64Binary in XML::Compile::Schema
See Schema hooks in XML::Compile::Schema
See Defining hooks in XML::Compile::Schema
See General syntax in XML::Compile::Schema
See Hooks on matching types in XML::Compile::Schema
See Hooks on extended type in XML::Compile::Schema
See Hooks on matching ids in XML::Compile::Schema
See Hooks on matching paths in XML::Compile::Schema
See Typemaps in XML::Compile::Schema
See Private variables in objects in XML::Compile::Schema
See Typemap limitations in XML::Compile::Schema
See Handling xsi:type in XML::Compile::Schema
See Key rewrite in XML::Compile::Schema
See key_rewrite via table in XML::Compile::Schema
See Rewrite via function in XML::Compile::Schema
See key_rewrite when localNames collide in XML::Compile::Schema
See Rewrite for convenience in XML::Compile::Schema
See Pre-defined key_rewrite rules in XML::Compile::Schema
GML is careful about its units, which is nice but verbose. Therefore, this module gives you a way to set your preferences. The reader will simplify the structure, re-calculating the values found into the units of measure you prefer, according to UCUM (http://aurora.regenstrief.org/ucum)
my $eop = Geo::EOP->new(... , units => { distance => 'm' , angle => 'deg' } );
Available conversions:
float
... cannot find the uom name.