Class: RGeo::CoordSys::CS::Info
- Defined in:
- lib/rgeo/coord_sys/cs/entities.rb
Overview
OGC spec description
A base interface for metadata applicable to coordinate system objects.
The metadata items “Abbreviation”’, “Alias”, “Authority”, “AuthorityCode”, “Name” and “Remarks” were specified in the Simple Features interfaces, so they have been kept here.
This specification does not dictate what the contents of these items should be. However, the following guidelines are suggested:
When CS_CoordinateSystemAuthorityFactory is used to create an object, the “Authority” and “AuthorityCode” values should be set to the authority name of the factory object, and the authority code supplied by the client, respectively. The other values may or may not be set. (If the authority is EPSG, the implementer may consider using the corresponding metadata values in the EPSG tables.)
When CS_CoordinateSystemFactory creates an object, the “Name” should be set to the value supplied by the client. All of the other metadata items should be left empty.
Notes
This is a non-instantiable abstract class.
Most subclasses will have a set of optional parameters in their “create” method to set the metadata fields. These parameters are, in order:
-
authority: authority name
-
authority_code: authority-specific identification code
-
abbreviation: an abbreviation
-
alias: an alias
-
remarks: provider-supplied remarks.
-
extensions: a hash of extension keys and values
Direct Known Subclasses
CoordinateSystem, Datum, Ellipsoid, PrimeMeridian, Projection, Unit
Instance Attribute Summary collapse
-
#abbreviation ⇒ Object
readonly
Gets the abbreviation.
-
#alias ⇒ Object
readonly
Gets the alias.
-
#authority ⇒ Object
readonly
Gets the authority name.
-
#authority_code ⇒ Object
readonly
Gets the authority-specific identification code.
-
#name ⇒ Object
readonly
Gets the name.
-
#remarks ⇒ Object
readonly
Gets the provider-supplied remarks.
Instance Method Summary collapse
-
#extension(key_) ⇒ Object
Gets the value of a keyed extension.
-
#initialize(name_, authority_ = nil, authority_code_ = nil, abbreviation_ = nil, alias_ = nil, remarks_ = nil, extensions_ = nil) ⇒ Info
constructor
:nodoc:.
Methods inherited from Base
#_to_wkt, #encode_with, #eql?, #hash, #init_with, #inspect, #marshal_dump, #marshal_load, #to_s, #to_wkt
Constructor Details
#initialize(name_, authority_ = nil, authority_code_ = nil, abbreviation_ = nil, alias_ = nil, remarks_ = nil, extensions_ = nil) ⇒ Info
:nodoc:
419 420 421 422 423 424 425 426 427 428 429 430 |
# File 'lib/rgeo/coord_sys/cs/entities.rb', line 419 def initialize(name_, = nil, = nil, abbreviation_ = nil, alias_ = nil, remarks_ = nil, extensions_ = nil) # :nodoc: @name = name_ @authority = ? .to_s : nil @authority_code = ? .to_s : nil @abbreviation = abbreviation_ ? abbreviation_.to_s : nil @alias = alias_ ? alias_.to_s : nil @remarks = remarks_ ? remarks_.to_s : nil @extensions = {} if extensions_ extensions_.each { |k_, v_| @extensions[k_.to_s] = v_.to_s } end end |
Instance Attribute Details
#abbreviation ⇒ Object (readonly)
Gets the abbreviation.
433 434 435 |
# File 'lib/rgeo/coord_sys/cs/entities.rb', line 433 def abbreviation @abbreviation end |
#alias ⇒ Object (readonly)
Gets the alias.
436 437 438 |
# File 'lib/rgeo/coord_sys/cs/entities.rb', line 436 def alias @alias end |
#authority ⇒ Object (readonly)
Gets the authority name. An Authority is an organization that maintains definitions of Authority Codes. For example the European Petroleum Survey Group (EPSG) maintains a database of coordinate systems, and other spatial referencing objects, where each object has a code number ID. For example, the EPSG code for a WGS84 Lat/Lon coordinate system is “4326”.
445 446 447 |
# File 'lib/rgeo/coord_sys/cs/entities.rb', line 445 def @authority end |
#authority_code ⇒ Object (readonly)
Gets the authority-specific identification code. The AuthorityCode is a compact string defined by an Authority to reference a particular spatial reference object. For example, the European Survey Group (EPSG) authority uses 32 bit integers to reference coordinate systems, so all their code strings will consist of a few digits. The EPSG code for WGS84 Lat/Lon is “4326”.
454 455 456 |
# File 'lib/rgeo/coord_sys/cs/entities.rb', line 454 def @authority_code end |
#name ⇒ Object (readonly)
Gets the name.
457 458 459 |
# File 'lib/rgeo/coord_sys/cs/entities.rb', line 457 def name @name end |
#remarks ⇒ Object (readonly)
Gets the provider-supplied remarks.
460 461 462 |
# File 'lib/rgeo/coord_sys/cs/entities.rb', line 460 def remarks @remarks end |
Instance Method Details
#extension(key_) ⇒ Object
Gets the value of a keyed extension. This is not part of the OGC spec, but it is supported because some coordinate system databases (such as the spatial_ref_sys table for PostGIS 2.0) include it.
466 467 468 |
# File 'lib/rgeo/coord_sys/cs/entities.rb', line 466 def extension(key_) @extensions[key_.to_s] end |