Class: Bio::PhyloXML::Point

Inherits:
Object show all
Defined in:
lib/bio/db/phyloxml/phyloxml_elements.rb

Overview

Description

The coordinates of a point with an optional altitude. Required attribute ‘geodetic_datum’ is used to indicate the geodetic datum (also called ‘map datum’), for example Google’s KML uses ‘WGS84’.

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#altObject

Float. Altitude



452
453
454
# File 'lib/bio/db/phyloxml/phyloxml_elements.rb', line 452

def alt
  @alt
end

#alt_unitObject

String. Altitude unit.



455
456
457
# File 'lib/bio/db/phyloxml/phyloxml_elements.rb', line 455

def alt_unit
  @alt_unit
end

#geodetic_datumObject

Geodedic datum / map datum



458
459
460
# File 'lib/bio/db/phyloxml/phyloxml_elements.rb', line 458

def geodetic_datum
  @geodetic_datum
end

#latObject

Float. Latitude



446
447
448
# File 'lib/bio/db/phyloxml/phyloxml_elements.rb', line 446

def lat
  @lat
end

#longObject

Float. Longitute



449
450
451
# File 'lib/bio/db/phyloxml/phyloxml_elements.rb', line 449

def long
  @long
end

Instance Method Details

#to_xmlObject

Converts elements to xml representation. Called by PhyloXML::Writer class.



476
477
478
479
480
481
482
483
484
485
486
487
488
# File 'lib/bio/db/phyloxml/phyloxml_elements.rb', line 476

def to_xml
  raise "Geodedic datum is a required attribute of Point element." if @geodetic_datum.nil?

  p = LibXML::XML::Node.new('point')
  p["geodetic_datum"] = @geodetic_datum
  p["alt_unit"] = @alt_unit if @alt_unit != nil
  PhyloXML::Writer.generate_xml(p, self, [
      [:simple, 'lat', @lat],
      [:simple, 'long', @long],
      [:simple, 'alt', @alt]])
  return p
  #@todo check if characters are correctly generated, like Zuric
end