class OGR::Geometry::WKBRecord

Parses raw WKB and turns into a data structure. Only really exists for converting to and from EWKB.

@see OGR::Geometry::EWKBRecord

Constants

WKB_Z

Public Class Methods

from_ewkb(ewkb_data) click to toggle source

@param ewkb_data [String] Binary string with the EWKB data. @return [OGR::Geometry::WKBRecord]

# File lib/ogr/extensions/geometry/wkb_record.rb, line 41
def self.from_ewkb(ewkb_data)
  from_ewkb_record(EWKBRecord.read(ewkb_data))
end
from_ewkb_record(ewkb_record) click to toggle source

@param ewkb_record [OGR::Geometry::EWKBRecord] @return [OGR::Geometry::WKBRecord]

# File lib/ogr/extensions/geometry/wkb_record.rb, line 33
def self.from_ewkb_record(ewkb_record)
  new(endianness: ewkb_record.endianness,
      wkb_type: ewkb_record.geometry_type,
      geometry: ewkb_record.geometry)
end

Public Instance Methods

geometry_type() click to toggle source

@return [Fixnum] Enum number that matches the FFI::OGR::Core::WKBGeometryType.

Defined to keep the API consistent with EWKBRecord.
# File lib/ogr/extensions/geometry/wkb_record.rb, line 52
def geometry_type
  # ISO SQL/MM style Z types are between 1001 and 1007
  if wkb_type.value >= 1001 && wkb_type.value <= 1007
    raw_type_int = wkb_type.value - 1000
    raw_type_int | WKB_Z
  else
    wkb_type.value
  end
end
has_z?() click to toggle source

@return [Boolean] Is the Z flag set?

# File lib/ogr/extensions/geometry/wkb_record.rb, line 46
def has_z? # rubocop:disable Naming/PredicateName
  geometry_type & WKB_Z != 0
end