Module: ADIWG::Mdtranslator::Readers::Fgdc

Defined in:
lib/adiwg/mdtranslator/readers/fgdc/version.rb,
lib/adiwg/mdtranslator/readers/fgdc/fgdc_reader.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_date.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_fgdc.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_range.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_entity.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_raster.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_series.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_source.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_codeSet.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_contact.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_keyword.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_lineage.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_process.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_quality.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_citation.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_dateTime.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_security.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_taxonomy.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_attribute.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_enumerated.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_taxonClass.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_timePeriod.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_digitalForm.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_geologicAge.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_localPlanar.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_localSystem.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_methodology.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_pointVector.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_publication.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_taxonSystem.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_timeInstant.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_distribution.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_metadataInfo.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_onlineOption.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_orderProcess.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_transferInfo.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/gridSystems/grid_ups.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/gridSystems/grid_utm.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_mapGridSystem.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_mapProjection.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_offlineOption.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_spatialDomain.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_verticalDatum.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_verticalDepth.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_entityOverview.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_identification.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_onlineResource.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_responsibility.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/gridSystems/grid_other.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_entityAttribute.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_horizontalPlanar.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_spatialReference.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_verticalAltitude.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_geodeticReference.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_horizontalReference.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_spatialOrganization.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/gridSystems/grid_statePlane.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_geographicResolution.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/module_planarCoordinateInfo.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/gridSystems/grid_equalArcSecond.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/mapProjections/projection_albers.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/mapProjections/projection_common.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/mapProjections/projection_gnomonic.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/mapProjections/projection_mercator.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/mapProjections/projection_robinson.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/mapProjections/projection_polyconic.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/mapProjections/projection_parameters.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/mapProjections/projection_sinusoidal.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/mapProjections/projection_polarStereo.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/mapProjections/projection_lambertConic.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/mapProjections/projection_orthographic.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/mapProjections/projection_spaceOblique.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/mapProjections/projection_stereographic.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/mapProjections/projection_vanDerGrinten.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/mapProjections/projection_millerCylinder.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/mapProjections/projection_modifiedAlaska.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/mapProjections/projection_equirectangular.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/mapProjections/projection_generalVertical.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/mapProjections/projection_obliqueMercator.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/mapProjections/projection_equidistantConic.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/mapProjections/projection_lambertEqualArea.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/mapProjections/projection_azimuthEquidistant.rb,
lib/adiwg/mdtranslator/readers/fgdc/modules/mapProjections/projection_transverseMercator.rb

Defined Under Namespace

Modules: AlbersProjection, Attribute, AzimuthEquidistantProjection, Citation, CodeSet, Contact, Date, DateTime, DigitalForm, Distribution, Entity, EntityAttribute, EntityOverview, Enumerated, EquidistantConicProjection, EquirectangularProjection, Fgdc, GeneralVerticalProjection, GeodeticReference, GeographicResolution, GeologicAge, GnomonicProjection, HorizontalReference, Identification, Keyword, LambertConicProjection, LambertEqualAreaProjection, Lineage, MapGridEqualArcSecond, MapGridOther, MapGridStatePlane, MapGridSystem, MapGridUps, MapGridUtm, MapLocalPlanar, MapLocalSystem, MapProjection, MercatorProjection, MetadataInformation, Method, MillerCylinderProjection, ModifiedAlaskaProjection, ObliqueMercatorProjection, OfflineOption, OnlineOption, OnlineResource, OrderProcess, OrthographicProjection, PlanarCoordinateInformation, PlanarReference, PointVector, PolarStereoProjection, PolyconicProjection, Process, ProjectionCommon, ProjectionParameters, Publication, Quality, Range, Raster, Responsibility, RobinsonProjection, Security, Series, SinusoidalProjection, Source, SpaceObliqueProjection, SpatialDomain, SpatialOrganization, SpatialReference, StereographicProjection, TaxonClass, TaxonSystem, Taxonomy, TimeInstant, TimePeriod, TransferInfo, TransverseMercatorProjection, VanDerGrintenProjection, VerticalAltitude, VerticalDepth, VerticalReference

Constant Summary collapse

VERSION =
"1.0.2"

Class Method Summary collapse

Class Method Details

.readFile(file, hResponseObj) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/adiwg/mdtranslator/readers/fgdc/fgdc_reader.rb', line 17

def self.readFile(file, hResponseObj)

   # add FGDC reader version
   hResponseObj[:readerVersionUsed] = ADIWG::Mdtranslator::Readers::Fgdc::VERSION

   # receive XML file
   if file.nil? || file == ''
      hResponseObj[:readerStructureMessages] << 'ERROR: XML file is missing'
      hResponseObj[:readerStructurePass] = false
      return {}
   end

   # file must be well formed XML
   begin
      xDoc = Nokogiri::XML(file) { |form| form.strict }
   rescue Nokogiri::XML::SyntaxError => err
      hResponseObj[:readerStructureMessages] << 'ERROR: XML file is not well formed'
      hResponseObj[:readerStructureMessages] << err.to_s
      hResponseObj[:readerStructurePass] = false
      return {}
   end

   # file must contain an fgdc <metadata> tag
    = xDoc.xpath('/metadata')
   if .empty?
      hResponseObj[:readerValidationMessages] << 'ERROR: FGDC file did not contain a <metadata> tag'
      hResponseObj[:readerValidationPass] = false
      return {}
   end

   # load fgdc file into internal object
   return Fgdc.unpack(xDoc, hResponseObj)

end