agwx_grids 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/lib/agwx_grids/grid.rb +21 -7
- data/lib/agwx_grids/version.rb +1 -1
- data/test/grid_test.rb +15 -0
- metadata +10 -22
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
|
data/lib/agwx_grids/grid.rb
CHANGED
@@ -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
|
6
|
-
# -93.000000 -87.000000
|
7
|
-
# 42.330002 47.000000
|
8
|
-
# 121 365 1
|
9
|
-
# -99.000000 0
|
10
|
-
# 121
|
11
|
-
# 8 10 7 4 4 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]
|
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
|
data/lib/agwx_grids/version.rb
CHANGED
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.
|
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-
|
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:
|
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:
|
79
|
+
rubygems_version: 2.0.6
|
92
80
|
signing_key:
|
93
|
-
specification_version:
|
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
|