Class: Bio::PhyloXML::Point

Inherits:
Object
  • Object
show all
Defined in:
lib/bio/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



438
439
440
# File 'lib/bio/phyloxml/elements.rb', line 438

def alt
  @alt
end

#alt_unitObject

String. Altitude unit.



441
442
443
# File 'lib/bio/phyloxml/elements.rb', line 441

def alt_unit
  @alt_unit
end

#geodetic_datumObject

Geodedic datum / map datum



444
445
446
# File 'lib/bio/phyloxml/elements.rb', line 444

def geodetic_datum
  @geodetic_datum
end

#latObject

Float. Latitude



432
433
434
# File 'lib/bio/phyloxml/elements.rb', line 432

def lat
  @lat
end

#longObject

Float. Longitute



435
436
437
# File 'lib/bio/phyloxml/elements.rb', line 435

def long
  @long
end

Instance Method Details

#to_xmlObject

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



459
460
461
462
463
464
465
466
467
468
469
470
471
# File 'lib/bio/phyloxml/elements.rb', line 459

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