class GCPS2TILES::GCPs

Attributes

csv[R]

Public Class Methods

new(csv_file_path) click to toggle source
# File lib/gcps2tiles/gcps.rb, line 16
def initialize(csv_file_path)
  @csv = CSV.table(csv_file_path)
end

Public Instance Methods

lat_avg() click to toggle source
# File lib/gcps2tiles/gcps.rb, line 56
def lat_avg
  (lat_min + lat_max) / 2
end
lat_max() click to toggle source
# File lib/gcps2tiles/gcps.rb, line 48
def lat_max
  transform_3857_to_4326(mapx_max, mapy_max).y * Proj4::RAD_TO_DEG
end
lat_min() click to toggle source
# File lib/gcps2tiles/gcps.rb, line 44
def lat_min
  transform_3857_to_4326(mapx_min, mapy_min).y * Proj4::RAD_TO_DEG
end
lon_avg() click to toggle source
# File lib/gcps2tiles/gcps.rb, line 52
def lon_avg
  (lon_min + lon_max) / 2
end
lon_max() click to toggle source
# File lib/gcps2tiles/gcps.rb, line 40
def lon_max
  transform_3857_to_4326(mapx_max, mapy_max).x * Proj4::RAD_TO_DEG
end
lon_min() click to toggle source
# File lib/gcps2tiles/gcps.rb, line 36
def lon_min
  transform_3857_to_4326(mapx_min, mapy_min).x * Proj4::RAD_TO_DEG
end
mapx_max() click to toggle source
# File lib/gcps2tiles/gcps.rb, line 24
def mapx_max
  @csv.map{ |e| e[:mapx] }.max
end
mapx_min() click to toggle source
# File lib/gcps2tiles/gcps.rb, line 20
def mapx_min
  @csv.map{ |e| e[:mapx] }.min
end
mapy_max() click to toggle source
# File lib/gcps2tiles/gcps.rb, line 32
def mapy_max
  @csv.map{ |e| e[:mapy] }.max
end
mapy_min() click to toggle source
# File lib/gcps2tiles/gcps.rb, line 28
def mapy_min
  @csv.map{ |e| e[:mapy] }.min
end
to_h() click to toggle source
# File lib/gcps2tiles/gcps.rb, line 60
def to_h
  {
    mapx_min:mapx_min,
    mapx_max:mapx_max,
    mapy_min:mapy_min,
    mapy_max:mapy_max,
    lon_min:lon_min,
    lon_max:lon_max,
    lat_min:lat_min,
    lat_max:lat_max,
    lon_avg:lon_avg,
    lat_avg:lat_avg,
  }
end
transform_3857_to_4326(rw, hw, zw=0) click to toggle source
# File lib/gcps2tiles/gcps.rb, line 10
def transform_3857_to_4326(rw, hw, zw=0)
  proj_epsg_3857 = Proj4::Projection.new(['init=epsg:3857'])
  proj_epsg_4326 = Proj4::Projection.new(['init=epsg:4326'])
  proj_epsg_3857.transform(proj_epsg_4326, Proj4::Point.new(rw, hw, zw))
end