class ADIWG::Mdtranslator::Writers::Iso19115_1::Feature

Public Class Methods

new(xml, hResponseObj) click to toggle source
# File lib/adiwg/mdtranslator/writers/iso19115_1/classes/class_feature.rb, line 23
def initialize(xml, hResponseObj)
   @xml = xml
   @hResponseObj = hResponseObj
   @NameSpace = ADIWG::Mdtranslator::Writers::Iso19115_1
end

Public Instance Methods

writeXML(hGeoObject) click to toggle source
# File lib/adiwg/mdtranslator/writers/iso19115_1/classes/class_feature.rb, line 29
def writeXML(hGeoObject)

   # classes used
   pointClass = Point.new(@xml, @hResponseObj)
   lineClass = LineString.new(@xml, @hResponseObj)
   polyClass = Polygon.new(@xml, @hResponseObj)
   multiPointClass = MultiPoint.new(@xml, @hResponseObj)
   multiLineClass = MultiLineString.new(@xml, @hResponseObj)
   multiPolyClass = MultiPolygon.new(@xml, @hResponseObj)
   geoCollectionClass = GeometryCollection.new(@xml, @hResponseObj)

   # feature - geometry object (required)
   unless hGeoObject.empty?
      id = hGeoObject[:id]
      hProps = hGeoObject[:properties]
      hGeometry = hGeoObject[:geometryObject]
      case hGeometry[:type]
         when 'Point'
            pointClass.writeXML(hGeometry, hProps, id)
         when 'LineString'
            lineClass.writeXML(hGeometry, hProps, id)
         when 'Polygon'
            polyClass.writeXML(hGeometry, hProps, id)
         when 'MultiPoint'
            multiPointClass.writeXML(hGeometry, hProps, id)
         when 'MultiLineString'
            multiLineClass.writeXML(hGeometry, hProps, id)
         when 'MultiPolygon'
            multiPolyClass.writeXML(hGeometry, hProps, id)
         when 'GeometryCollection'
            geoCollectionClass.writeXML(hGeometry, hProps, id)
         else
            @NameSpace.issueNotice(140, "#{hGeometry[:type]}")
      end
   end

end