module GDAL::Dataset::Accessors
Public Instance Methods
driver()
click to toggle source
@return [GDAL::Driver] The driver to be used for working with this
dataset.
# File lib/gdal/dataset/accessors.rb, line 8 def driver driver_ptr = FFI::GDAL::GDAL.GDALGetDatasetDriver(@c_pointer) Driver.new(driver_ptr) end
gcp_count()
click to toggle source
@return [String # @return [Integer]
# File lib/gdal/dataset/accessors.rb, line 59 def gcp_count return 0 if null? FFI::GDAL::GDAL.GDALGetGCPCount(@c_pointer) end
gcp_projection()
click to toggle source
@return [String]
# File lib/gdal/dataset/accessors.rb, line 66 def gcp_projection return "" if null? proj, ptr = FFI::GDAL::GDAL.GDALGetGCPProjection(@c_pointer) ptr.autorelease = false proj end
gcps()
click to toggle source
@return [FFI::GDAL::GCP]
# File lib/gdal/dataset/accessors.rb, line 76 def gcps return FFI::GDAL::GCP.new if null? gcp_array_pointer = FFI::GDAL::GDAL.GDALGetGCPs(@c_pointer) if gcp_array_pointer.null? FFI::GDAL::GCP.new else FFI::GDAL::GCP.new(gcp_array_pointer) end end
geo_transform()
click to toggle source
@return [GDAL::GeoTransform] @raise [GDAL::Error]
# File lib/gdal/dataset/accessors.rb, line 33 def geo_transform return @geo_transform if @geo_transform geo_transform_pointer = GDAL::GeoTransform.new_pointer GDAL::CPLErrorHandler.manually_handle("Unable to get geo_transform") do FFI::GDAL::GDAL.GDALGetGeoTransform(@c_pointer, geo_transform_pointer) end @geo_transform = GeoTransform.new(geo_transform_pointer) end
geo_transform=(new_transform)
click to toggle source
@param new_transform [GDAL::GeoTransform, FFI::Pointer] @return [GDAL::GeoTransform] @raise [GDAL::Error]
# File lib/gdal/dataset/accessors.rb, line 48 def geo_transform=(new_transform) new_pointer = GDAL._pointer(GDAL::GeoTransform, new_transform) GDAL::CPLErrorHandler.manually_handle("Unable to set geo_transform") do FFI::GDAL::GDAL.GDALSetGeoTransform(@c_pointer, new_pointer) end @geo_transform = new_transform.is_a?(FFI::Pointer) ? GeoTransform.new(new_pointer) : new_transform end
projection()
click to toggle source
# File lib/gdal/dataset/accessors.rb, line 14 def projection # Returns a pointer to an internal projection reference string. It should # not be altered, freed or expected to last for long. proj, ptr = FFI::GDAL::GDAL.GDALGetProjectionRef(@c_pointer) ptr.autorelease = false proj || "" end
projection=(new_projection)
click to toggle source
@param new_projection [String] Should be in WKT or PROJ.4 format. @raise [GDAL::Error]
# File lib/gdal/dataset/accessors.rb, line 25 def projection=(new_projection) GDAL::CPLErrorHandler.manually_handle("Unable to set projection") do FFI::GDAL::GDAL.GDALSetProjection(@c_pointer, new_projection.to_s) end end
spatial_reference()
click to toggle source
Creates a OGR::SpatialReference
object from the dataset’s projection.
@return [OGR::SpatialReference]
# File lib/gdal/dataset/accessors.rb, line 91 def spatial_reference return @spatial_reference if @spatial_reference proj = projection return nil if proj.empty? @spatial_reference = OGR::SpatialReference.new(proj) end