geo_calc 0.7.1 → 0.7.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. data/Gemfile +4 -1
  2. data/README.textile +8 -59
  3. data/VERSION +1 -1
  4. data/geo_calc.gemspec +15 -22
  5. data/lib/geo_calc/calc/bearing.rb +1 -1
  6. data/lib/geo_calc/calc/destination.rb +3 -2
  7. data/lib/geo_calc/calc/distance.rb +1 -1
  8. data/lib/geo_calc/calc/intersection.rb +8 -8
  9. data/lib/geo_calc/calc/midpoint.rb +8 -6
  10. data/lib/geo_calc/calc/rhumb.rb +35 -16
  11. data/lib/geo_calc/calc.rb +15 -21
  12. data/lib/geo_calc/extensions/array.rb +1 -3
  13. data/lib/geo_calc/extensions/hash.rb +1 -3
  14. data/lib/geo_calc/extensions/string.rb +8 -17
  15. data/lib/geo_calc/extensions.rb +0 -1
  16. data/lib/geo_calc/pretty_print.rb +14 -14
  17. data/lib/geo_calc.rb +7 -4
  18. data/spec/geo_calc/calculations_spec.rb +2 -1
  19. data/spec/geo_calc/core_ext/array_ext_spec.rb +1 -9
  20. data/spec/geo_calc/core_ext/hash_ext_spec.rb +3 -9
  21. data/spec/geo_calc/core_ext/string_ext_spec.rb +1 -9
  22. data/spec/geo_calc/core_ext_spec.rb +1 -7
  23. data/spec/geo_calc/include_apis_spec.rb +32 -0
  24. data/spec/spec_helper.rb +13 -5
  25. metadata +52 -35
  26. data/lib/geo_calc/dms/converter.rb +0 -106
  27. data/lib/geo_calc/dms.rb +0 -5
  28. data/lib/geo_calc/extensions/math.rb +0 -6
  29. data/lib/geo_calc/extensions/numeric.rb +0 -24
  30. data/lib/geo_calc/geo_point/class_methods.rb +0 -15
  31. data/lib/geo_calc/geo_point/core_extension.rb +0 -11
  32. data/lib/geo_calc/geo_point/shared.rb +0 -29
  33. data/lib/geo_calc/geo_point.rb +0 -135
  34. data/lib/geo_units/converter.rb +0 -123
  35. data/lib/geo_units/numeric_ext.rb +0 -117
  36. data/lib/geo_units.rb +0 -21
  37. data/spec/geo_calc/dms/converter_spec.rb +0 -60
  38. data/spec/geo_calc/geo_point/class_methods_spec.rb +0 -31
  39. data/spec/geo_calc/geo_point/initializer_spec.rb +0 -148
  40. data/spec/geo_calc/geo_point/lat_lon.rb +0 -115
  41. data/spec/geo_calc/geo_point_spec.rb +0 -99
  42. data/spec/geo_units/converter_spec.rb +0 -57
@@ -1,99 +0,0 @@
1
- require 'spec_helper'
2
-
3
- # - www.movable-type.co.uk/scripts/latlong.html
4
- describe GeoPoint do
5
- describe '#reverse_point' do
6
- before :each do
7
- @p = GeoPoint.new -2, 5
8
- end
9
-
10
- it 'should return reverse GeoPoint (2, -5)' do
11
- @p2 = @p.reverse_point
12
- @p2.should_not == @p
13
- @p2.lat.should == 2
14
- @p2.lng.should == -5
15
- end
16
- end
17
-
18
- describe '#reverse_point!' do
19
- before :each do
20
- @p = GeoPoint.new -2, 5
21
- end
22
-
23
- it 'should return reverse GeoPoint (2, -5)' do
24
- @p.reverse_point!
25
- @p.lat.should == 2
26
- @p.lng.should == -5
27
- end
28
- end
29
-
30
- describe '#to_s' do
31
- before :each do
32
- @p1 = GeoPoint.new 50.1, 5
33
- end
34
-
35
- it 'should return GeoPoint as a dms formatted String' do
36
- @p1.to_s.should match /50.+5/
37
- end
38
-
39
- it 'should return GeoPoint as a dms formatted String' do
40
- @p1.to_s(:dm, 2).should match /50.+5/
41
- end
42
- end
43
-
44
- describe '#[]' do
45
- before :each do
46
- @p1 = GeoPoint.new 50, 5
47
- end
48
-
49
- it 'index of 0 should return latitude' do
50
- @p1[0].should == 50
51
- end
52
-
53
- it 'index of 1 should return longitude' do
54
- @p1[1].should == 5
55
- end
56
-
57
- it 'index of 2 should raise error' do
58
- lambda {@p1[2]}.should raise_error
59
- end
60
-
61
- it ':lat should return latitude' do
62
- @p1[:lat].should == 50
63
- end
64
-
65
- it ':long should return longitude' do
66
- @p1[:long].should == 5
67
- end
68
- end
69
-
70
- describe '#to_a' do
71
- before :each do
72
- @p1 = GeoPoint.new 50, 5
73
- end
74
-
75
- it 'should return GeoPoint as an array depending on state of reverse_arr' do
76
- @p1.to_a.should == [50, 5]
77
- end
78
- end
79
-
80
- describe '#to_lat_lng' do
81
- before :each do
82
- @p1 = GeoPoint.new 50, 5
83
- end
84
-
85
- it 'should return GeoPoint as an array of [lat, lng]' do
86
- @p1.to_lat_lng.should == [50, 5]
87
- end
88
- end
89
-
90
- describe '#to_lng_lat' do
91
- before :each do
92
- @p1 = GeoPoint.new 50, 5
93
- end
94
-
95
- it 'should return GeoPoint as an array of [lng, lat]' do
96
- @p1.to_lng_lat.should == [5, 50]
97
- end
98
- end
99
- end
@@ -1,57 +0,0 @@
1
- require 'spec_helper'
2
-
3
- class Converter
4
- include GeoUnits::Converter
5
- end
6
-
7
- def converter
8
- Converter.new
9
- end
10
-
11
- # - www.movable-type.co.uk/scripts/latlong.html
12
- describe GeoUnits::Converter do
13
- # deg, format, dp
14
- describe '#to_lat' do
15
- it 'should convert 58.3 to a latitude String in North direction' do
16
- str_lat = converter.to_lat(58.3)
17
- str_lat.should be_a(String)
18
- expr = Regexp.escape "58".concat("\u00B0", "18", "\u2032", "00", "\u2033", "N")
19
- str_lat.should match expr
20
- end
21
-
22
- it 'should convert -58.3 to a latitude String in South direction' do
23
- str_lat = converter.to_lat(-58.3)
24
- str_lat.should be_a(String)
25
- expr = Regexp.escape "58".concat("\u00B0", "18", "\u2032", "00", "\u2033", "S")
26
- str_lat.should match expr
27
- end
28
- end
29
-
30
- # deg, format, dp
31
- describe '#to_lon' do
32
- it 'should convert 58.3 to a longitude String' do
33
- str_lat = converter.to_lon(58.3)
34
- str_lat.should be_a(String)
35
- expr = Regexp.escape "58".concat("\u00B0", "18", "\u2032", "00", "\u2033", "E")
36
- str_lat.should match expr
37
- end
38
-
39
- it 'should convert 58.3 to a longitude String' do
40
- str_lat = converter.to_lon(-58.3)
41
- str_lat.should be_a(String)
42
- expr = Regexp.escape "58".concat("\u00B0", "18", "\u2032", "00", "\u2033", "W")
43
- str_lat.should match expr
44
- end
45
- end
46
-
47
- # Convert numeric degrees to deg/min/sec as a bearing (0º..360º)
48
- # deg, format, dp
49
- describe '#to_brng' do
50
- it 'should convert 58.3 to a longitude String' do
51
- brng = converter.to_brng(-58.3)
52
- brng.to_f.should be_between(0, 360)
53
- expr = Regexp.escape "301".concat("\u00B0", "42", "\u2032", "00")
54
- brng.should match expr
55
- end
56
- end
57
- end