agwx_grids 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 453daf831e0ba373d2a523988e4f27b064c33a53
4
+ data.tar.gz: 4b30eb84658a562f9a6667255fccb5dc60d3d73d
5
+ SHA512:
6
+ metadata.gz: a5677ebe08bb872308098ae970b87efd4aa6c05c1a0bd9285dd9985d8d41db613cdb355264c70252b9492cd82d15c057c8b905cd84f8da925b475ab1d523ed75
7
+ data.tar.gz: 2e79c14ab75a481483fbad839778fe810ca48bbd1b9ec3f2abc41eadebb6468bafcc48a0b6f5a8fd7a2ad789189deb8fb7df1d508f55cc8a61ef00ebf4827b38
@@ -2,13 +2,13 @@
2
2
  # are designed for data which is easily maintained as a 3D matrix. The following is
3
3
  # a typical top part of a Grid file:
4
4
  #
5
- # 7 8 245 [XNo YNo ZNo]
6
- # -93.000000 -87.000000 [XStart XEnd]
7
- # 42.330002 47.000000 [YStart YEnd]
8
- # 121 365 1 [ZStart ZEnd ZInc]
9
- # -99.000000 0 [BadVal #Decimal_Places]
10
- # 121 [ZIndex]
11
- # 8 10 7 4 4 4 4 [Grid Values]
5
+ # 7 8 245 [XNo YNo ZNo]
6
+ # -93.000000 -87.000000 [XStart XEnd]
7
+ # 42.330002 47.000000 [YStart YEnd]
8
+ # 121 365 1 [ZStart ZEnd ZInc]
9
+ # -99.000000 0 [BadVal #Decimal_Places]
10
+ # 121 [ZIndex]
11
+ # 8 10 7 4 4 4 4 [Grid Values]
12
12
  # 7 6 6 4 5 4 4
13
13
  # 6 8 8 4 4 4 3
14
14
  # 7 8 9 6 4 3 3
@@ -215,6 +215,20 @@ module AgwxGrids
215
215
  def each_with_doy
216
216
  @layers.keys.sort.each {|doy| yield [layer(doy),doy]}
217
217
  end
218
+
219
+ def at_by_index(longitude_index,latitude_index)
220
+ @layers.inject({}) do |hash,arr|
221
+ doy = arr[0]
222
+ layer = arr[1]
223
+ hash.merge doy => layer.get(longitude_index,latitude_index)
224
+ end
225
+ end
226
+
227
+ def at_by_long_lat(long,lat)
228
+ @layers.keys.inject({}) do |hash,doy|
229
+ hash.merge doy => get(long,lat,doy)
230
+ end
231
+ end
218
232
 
219
233
  def layer_list
220
234
  @layers.keys
@@ -1,3 +1,3 @@
1
1
  module AgwxGrids
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
data/test/grid_test.rb CHANGED
@@ -59,6 +59,21 @@ class TestAgwxGrid < Test::Unit::TestCase
59
59
  expected=(1..313).to_a + (315..365).to_a # DOY 314 is missing in the test grid
60
60
  doys.each_with_index { |actual,ii| assert_equal(expected[ii], actual, "ii: #{ii}, expected: #{expected[ii-5..ii+5].inspect}; actual: #{doys[ii-5..ii+5].inspect}\n#{@grid.layer_list.inspect}") }
61
61
  end
62
+
63
+ def test_at_by_index
64
+ vals = @grid.at_by_index(10,10)
65
+ assert_equal(Hash, vals.class)
66
+ assert_equal(364, vals.keys.size)
67
+ assert_equal(-19.54, vals[1])
68
+ end
69
+
70
+ def test_at_by_long_lat
71
+ latitude = @grid.latitude_for(5)
72
+ longitude = @grid.longitude_for(6)
73
+ vals = @grid.at_by_long_lat(longitude,latitude)
74
+ assert_equal(364, vals.keys.size)
75
+ assert_equal(-17.42, vals[1])
76
+ end
62
77
  end
63
78
  # begin # test the Grid class
64
79
  # puts "====== initializing a grid =========="
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: agwx_grids
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
5
- prerelease:
4
+ version: 0.0.3
6
5
  platform: ruby
7
6
  authors:
8
7
  - RickWayne
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-12-06 00:00:00.000000000 Z
11
+ date: 2013-12-07 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: bundler
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
@@ -30,20 +27,18 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rake
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - '>='
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
- description: ! 'UW Soils Ag Weather grid data format (X by Y by DOY) '
41
+ description: 'UW Soils Ag Weather grid data format (X by Y by DOY) '
47
42
  email:
48
43
  - fewayne@wisc.edu
49
44
  executables: []
@@ -64,33 +59,26 @@ files:
64
59
  homepage: ''
65
60
  licenses:
66
61
  - MIT
62
+ metadata: {}
67
63
  post_install_message:
68
64
  rdoc_options: []
69
65
  require_paths:
70
66
  - lib
71
67
  required_ruby_version: !ruby/object:Gem::Requirement
72
- none: false
73
68
  requirements:
74
- - - ! '>='
69
+ - - '>='
75
70
  - !ruby/object:Gem::Version
76
71
  version: '0'
77
- segments:
78
- - 0
79
- hash: -4257234440818077195
80
72
  required_rubygems_version: !ruby/object:Gem::Requirement
81
- none: false
82
73
  requirements:
83
- - - ! '>='
74
+ - - '>='
84
75
  - !ruby/object:Gem::Version
85
76
  version: '0'
86
- segments:
87
- - 0
88
- hash: -4257234440818077195
89
77
  requirements: []
90
78
  rubyforge_project:
91
- rubygems_version: 1.8.25
79
+ rubygems_version: 2.0.6
92
80
  signing_key:
93
- specification_version: 3
81
+ specification_version: 4
94
82
  summary: UW Soils Ag Weather grid data format (X by Y by DOY)
95
83
  test_files:
96
84
  - test/grid_test.rb