Sha256: f3935bd46746a926091e0024a055114a227735f157b4d6637fa16cb17cb530d1

Contents?: true

Size: 826 Bytes

Versions: 3

Compression:

Stored size: 826 Bytes

Contents

# frozen_string_literal: true

module GDAL
  module DatasetMixins
    module Matching
      # @param other_dataset [GDAL::Dataset]
      # @param options [Hash]
      # @return [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.
      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
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ffi-gdal-1.0.2 lib/gdal/dataset_mixins/matching.rb
ffi-gdal-1.0.1 lib/gdal/dataset_mixins/matching.rb
ffi-gdal-1.0.0 lib/gdal/dataset_mixins/matching.rb