silva 0.0.9 → 0.1.0

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.
data/.gitignore CHANGED
@@ -1,3 +1,4 @@
1
+
1
2
  *.gem
2
3
  *.rbc
3
4
  .bundle
@@ -15,4 +16,6 @@ spec/reports
15
16
  test/tmp
16
17
  test/version_tmp
17
18
  tmp
18
- .#
19
+ .#
20
+ .emacs.desktop*
21
+ TAGS
data/Rakefile CHANGED
@@ -1,2 +1,6 @@
1
1
  #!/usr/bin/env rake
2
2
  require "bundler/gem_tasks"
3
+
4
+ task :test do
5
+ ruby "test/test_helper.rb"
6
+ end
@@ -1,7 +1,17 @@
1
1
  module Silva
2
+ ##
3
+ # Indicates that an invalid system name has been passed.
2
4
  class InvalidSystemError < StandardError; end
5
+ ##
6
+ # Indicates that an invalid transform has been attempted.
3
7
  class InvalidTransformError < StandardError; end
8
+ ##
9
+ # Indicates that an invalid parameter has been passed.
4
10
  class InvalidParamError < StandardError; end
11
+ ##
12
+ # Indicates that an invalid parameter value has been passed.
5
13
  class InvalidParamValueError < StandardError; end
14
+ ##
15
+ # Indicates that an insufficient parameters have been passed.
6
16
  class InsufficientParamsError < StandardError; end
7
17
  end
@@ -42,6 +42,7 @@ module Silva
42
42
  helmert_transform(osgb36, :wgs84, AIRY1830, HELMERT_PARAMS.inject({}) { |h, (k, v)| h[k] = v * -1; h }, GRS80)
43
43
  end
44
44
 
45
+
45
46
  ##
46
47
  # Convert a :wgs84 co-ordinate system to :osgb36
47
48
  #
@@ -139,7 +140,6 @@ module Silva
139
140
  h = source_system.alt
140
141
 
141
142
  a1 = ellipsoid_1[:a]
142
- b1 = ellipsoid_1[:b]
143
143
 
144
144
  # convert co-ordinates to 3D Cartesian. See:
145
145
  # http://www.ordnancesurvey.co.uk/oswebsite/gps/docs/A_Guide_to_Coordinate_Systems_in_Great_Britain.pdf
@@ -165,7 +165,6 @@ module Silva
165
165
 
166
166
  # convert 3D Cartesian co-ordinates back to lat, long, alt
167
167
  a2 = ellipsoid_2[:a]
168
- b2 = ellipsoid_2[:b]
169
168
  precision = 4 / a2
170
169
 
171
170
  e_sq2 = eccentricity_squared(ellipsoid_2)
data/lib/silva/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Silva
2
- VERSION = "0.0.9"
2
+ VERSION = "0.1.0"
3
3
  end
@@ -0,0 +1,19 @@
1
+ class TestBadData < Test::Unit::TestCase
2
+ def setup
3
+ @data = Silva::Test::DATA_BAD
4
+ end
5
+
6
+ def test_wgs84_to_en
7
+ l = Silva::Location.from(:wgs84, @data[:wgs84])
8
+ assert_raise Silva::InvalidParamValueError do
9
+ l.to(:en)
10
+ end
11
+ end
12
+
13
+ def test_gridref_to_en
14
+ assert_raise Silva::InvalidParamValueError do
15
+ l = Silva::Location.from(:gridref, @data[:gridref])
16
+ end
17
+ end
18
+ end
19
+
data/test/test_osgb36.rb CHANGED
@@ -1,2 +1,25 @@
1
1
  class TestOsgb36 < Test::Unit::TestCase
2
+ def test_osgb36_to_en
3
+ Silva::Test::DATA.each do |data|
4
+ l = Silva::Location.from(:osgb36, data[:osgb36]).to(:en)
5
+ assert_in_delta data[:en][:easting], l.easting, Silva::Test::EN_DELTA
6
+ assert_in_delta data[:en][:northing], l.northing, Silva::Test::EN_DELTA
7
+ end
8
+ end
9
+
10
+ def test_osgb36_to_wgs84
11
+ Silva::Test::DATA.each do |data|
12
+ l = Silva::Location.from(:osgb36, data[:osgb36]).to(:wgs84)
13
+ assert_in_delta data[:wgs84][:lat], l.lat, Silva::Test::LAT_DELTA
14
+ assert_in_delta data[:wgs84][:long], l.long, Silva::Test::LONG_DELTA
15
+ end
16
+ end
17
+
18
+ def test_osgb36_to_gridref
19
+ Silva::Test::DATA.each do |data|
20
+ l = Silva::Location.from(:osgb36, data[:osgb36]).to(:gridref, :digits => 8)
21
+ # Final digit too sensitive in os examples
22
+ assert_equal data[:gridref][0..-2], l.gridref[0..-2]
23
+ end
24
+ end
2
25
  end
data/test/test_wgs84.rb CHANGED
@@ -1,10 +1,4 @@
1
1
  class TestWgs84 < Test::Unit::TestCase
2
- def setup
3
- end
4
-
5
- def teardown
6
- end
7
-
8
2
  def test_wgs84_to_en
9
3
  Silva::Test::DATA.each do |data|
10
4
  l = Silva::Location.from(:wgs84, data[:wgs84]).to(:en)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: silva
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-06-18 00:00:00.000000000 Z
12
+ date: 2013-03-31 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: test/unit
@@ -53,6 +53,7 @@ files:
53
53
  - lib/silva/transform.rb
54
54
  - lib/silva/version.rb
55
55
  - silva.gemspec
56
+ - test/test_bad_data.rb
56
57
  - test/test_data.rb
57
58
  - test/test_en.rb
58
59
  - test/test_gridref.rb
@@ -87,6 +88,7 @@ specification_version: 3
87
88
  summary: Convert between the GPS (WGS84) location standard and UK Ordnance Survey
88
89
  standards.
89
90
  test_files:
91
+ - test/test_bad_data.rb
90
92
  - test/test_data.rb
91
93
  - test/test_en.rb
92
94
  - test/test_gridref.rb