Module: GDAL::Dataset::Matching

Included in:
GDAL::Dataset
Defined in:
lib/gdal/dataset/matching.rb

Instance Method Summary collapse

Instance Method Details

#compute_matching_points(other_dataset, **options) ⇒ Hash{count => Integer, gcp: => FFI::GDAL::GCP}

Returns Not sure why, but the C function seems to return a single GCP instead of an Array of them.

Parameters:

Returns:

  • (Hash{count => Integer, gcp: => FFI::GDAL::GCP})

    Not sure why, but the C function seems to return a single GCP instead of an Array of them.



11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/gdal/dataset/matching.rb', line 11

def compute_matching_points(other_dataset, **options)
  other_dataset_ptr = GDAL._pointer(GDAL::Dataset, other_dataset)
  options_ptr = GDAL::Options.pointer(options)
  gcp_count_ptr = FFI::MemoryPointer.new(:int)

  gcp = FFI::GDAL::Matching.GDALComputeMatchingPoints(
    @c_pointer,
    other_dataset_ptr,
    options_ptr,
    gcp_count_ptr
  )

  { count: gcp_count_ptr.read_int, gcp: gcp }
end