Class: RGeo::CoordSys::CS::CompoundCoordinateSystem
- Inherits:
- 
      CoordinateSystem
      
        - Object
- Base
- Info
- CoordinateSystem
- RGeo::CoordSys::CS::CompoundCoordinateSystem
 
- Defined in:
- lib/rgeo/coord_sys/cs/entities.rb
Overview
OGC spec description
An aggregate of two coordinate systems (CRS). One of these is usually a CRS based on a two dimensional coordinate system such as a geographic or a projected coordinate system with a horizontal datum. The other is a vertical CRS which is a one-dimensional coordinate system with a vertical datum.
Instance Attribute Summary collapse
- 
  
    
      #head  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    Gets first sub-coordinate system. 
- 
  
    
      #tail  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    Gets second sub-coordinate system. 
Attributes inherited from CoordinateSystem
Attributes inherited from Info
#abbreviation, #alias, #authority, #authority_code, #name, #remarks
Class Method Summary collapse
- 
  
    
      .create(name, head, tail, *optional)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Create a CompoundCoordinateSystem given two sub-coordinate systems. 
Instance Method Summary collapse
- 
  
    
      #get_axis(index)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Implements CoordinateSystem#get_axis. 
- 
  
    
      #get_units(index)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Implements CoordinateSystem#get_units. 
- 
  
    
      #initialize(name, head, tail, *optional)  ⇒ CompoundCoordinateSystem 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    :nodoc:. 
- #wkt_typename ⇒ Object
Methods inherited from CoordinateSystem
create_from_wkt, #geographic?, #projected?, #transform_coords
Methods inherited from Info
Methods inherited from Base
#encode_with, #eql?, #hash, #init_with, #inspect, #marshal_dump, #marshal_load, #to_s, #to_wkt
Constructor Details
#initialize(name, head, tail, *optional) ⇒ CompoundCoordinateSystem
:nodoc:
| 988 989 990 991 992 | # File 'lib/rgeo/coord_sys/cs/entities.rb', line 988 def initialize(name, head, tail, *optional) # :nodoc: super(name, head.dimension + tail.dimension, *optional) @head = head @tail = tail end | 
Instance Attribute Details
#head ⇒ Object (readonly)
Gets first sub-coordinate system.
| 995 996 997 | # File 'lib/rgeo/coord_sys/cs/entities.rb', line 995 def head @head end | 
#tail ⇒ Object (readonly)
Gets second sub-coordinate system.
| 998 999 1000 | # File 'lib/rgeo/coord_sys/cs/entities.rb', line 998 def tail @tail end | 
Class Method Details
.create(name, head, tail, *optional) ⇒ Object
Create a CompoundCoordinateSystem given two sub-coordinate systems. You may also provide the optional parameters specified by the Info interface.
| 1023 1024 1025 | # File 'lib/rgeo/coord_sys/cs/entities.rb', line 1023 def create(name, head, tail, *optional) new(name, head, tail, *optional) end | 
Instance Method Details
#get_axis(index) ⇒ Object
Implements CoordinateSystem#get_axis
| 1002 1003 1004 1005 | # File 'lib/rgeo/coord_sys/cs/entities.rb', line 1002 def get_axis(index) hd = @head.dimension index < hd ? @head.get_axis(index) : @tail.get_axis(index - hd) end | 
#get_units(index) ⇒ Object
Implements CoordinateSystem#get_units
| 1009 1010 1011 1012 | # File 'lib/rgeo/coord_sys/cs/entities.rb', line 1009 def get_units(index) hd = @head.dimension index < hd ? @head.get_units(index) : @tail.get_units(index - hd) end | 
#wkt_typename ⇒ Object
| 1014 1015 1016 | # File 'lib/rgeo/coord_sys/cs/entities.rb', line 1014 def wkt_typename "COMPD_CS" end |