silva 0.0.9 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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