class Overlap::Analysis
Attributes
intersection_quantity[R]
intersections[R]
quantities[R]
quantities_with_intersections[R]
quantity[R]
quantity_with_intersections[R]
segments[R]
unions[R]
Public Class Methods
new(input_data, options={})
click to toggle source
# File lib/overlap/analysis.rb, line 7 def initialize(input_data, options={}) @input_data = input_data @options = options build! end
Private Instance Methods
build!()
click to toggle source
# File lib/overlap/analysis.rb, line 15 def build! @unions = Detect.new( Collection.new(@input_data, @options).collection ).overlaps.map do |overlapped_segments| Union.new(overlapped_segments) end @segments = unions.map { |union| union.segment.to_a } @intersections = unions.map { |union| union.intersection_quantity } @intersection_quantity = intersections.reduce(:+) @quantities_with_intersections = unions.map { |union| union.quantity_with_intersections } @quantity_with_intersections = quantities_with_intersections.reduce(:+) @quantities = unions.map { |union| (union.quantity&.round(3) || 0) } @quantity = quantities.reduce(:+)&.round(3) || 0 end