geodesic_wgs84 1.32.10 → 1.32.11

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9b99238ae9600695548c72ccafb08f4f6584ee97
4
- data.tar.gz: b8bedcec2dd05794eb4aa129d010825baca6e2de
3
+ metadata.gz: 7dfc25463144c1a96d0c3a050c5e512d8d743302
4
+ data.tar.gz: 2fd502d57cda6615775e9a847b4aad6e57594f13
5
5
  SHA512:
6
- metadata.gz: aa47c46643432c3a0c0d7d8f2357e373397157c69e7c33eaa2c4c2869daae9696ca3c8ca7476daec9b8c89c9e88aa5c75d3e5d97cd78c2d546ca26a1fa81e97b
7
- data.tar.gz: d67c7aaa8c5a1be0d63460229b07aa45365898973722a1ec36568e9964f8adde9b8c86238784559a2b8d2e1fe32b00f01e17fea292608d36a705bae5847e9904
6
+ metadata.gz: 15dcdedbf79c9b7d81b67c0f50d68809bbd45b7fa5cb9017c2752729256be898a9a6fe1384500fc3a2e7e5673b4e22324fe9fe57fc796c495fcd8538e58e6472
7
+ data.tar.gz: bd48201cfdbf377474f587b81d1399b54e93d2696b8b33976644973ea4d6870fc79bb4a3538bc8173d498938a0e3e1d48a05b2f699e90e37c6c18fe3ff2ce19e
@@ -33,17 +33,21 @@ wgs84_get_value(VALUE arg)
33
33
  int dd, mm, ss, ff;
34
34
  double dbl;
35
35
 
36
+ if (TYPE(arg) == T_FLOAT)
37
+ return NUM2DBL(arg);
38
+
39
+ if (TYPE(arg) == T_FIXNUM)
40
+ return (double) NUM2INT(arg);
41
+
36
42
  if (TYPE(arg) == T_STRING && RSTRING_LEN(arg) < 60) {
37
43
  memset(buf, 0, sizeof(buf));
38
44
  memcpy(buf, RSTRING_PTR(arg), RSTRING_LEN(arg));
39
45
 
40
- if (sscanf(buf, "%d.%d.%d,%d", &dd, &mm, &ss, &ff) == 4) {
46
+ if (sscanf(buf, "%d %d %d.%d", &dd, &mm, &ss, &ff) == 4) {
41
47
  ff += (dd * 36000) + (mm * 600) + (ss * 10);
42
48
  dbl = (double) ff;
43
49
  dbl /= 36000.0;
44
50
  sprintf(buf, "%.6lf", dbl);
45
- } else if (sscanf(buf, "%d,%d", &dd, &ff) == 2) {
46
- *strchr(buf, ',') = '.';
47
51
  }
48
52
 
49
53
  if (sscanf(buf, "%d.%d", &dd, &ff) == 2) {
@@ -52,12 +56,6 @@ wgs84_get_value(VALUE arg)
52
56
  }
53
57
  }
54
58
 
55
- if (TYPE(arg) == T_FLOAT)
56
- return NUM2DBL(arg);
57
-
58
- if (TYPE(arg) == T_FIXNUM)
59
- return (double) NUM2INT(arg);
60
-
61
59
  rb_raise(rb_eArgError, "invalid (lat/lon) argument");
62
60
  return 0.0;
63
61
  }
@@ -68,13 +66,11 @@ wgs84_make_dms(double val, char *buf)
68
66
  {
69
67
  char *ptr;
70
68
 
71
- sprintf(buf, "%d.", (int) trunc(val));
69
+ sprintf(buf, "%d ", (int) trunc(val));
72
70
  ptr = buf + strlen(buf);
73
- sprintf(ptr, "%d.", (int) fmod(trunc(fabs(val) * 60.0), 60.0));
71
+ sprintf(ptr, "%d ", (int) fmod(trunc(fabs(val) * 60.0), 60.0));
74
72
  ptr = buf + strlen(buf);
75
73
  sprintf(ptr, "%.1lf", fmod(fabs(val) * 3600.0, 60.0));
76
- if ((ptr = strchr(ptr, '.')) != NULL)
77
- *ptr = ',';
78
74
  }
79
75
 
80
76
 
@@ -1,3 +1,3 @@
1
1
  module GeodesicWgs84
2
- VERSION = "1.32.10"
2
+ VERSION = "1.32.11"
3
3
  end
@@ -11,15 +11,15 @@ class TestGeodesicWgs84 < MiniTest::Test
11
11
  end
12
12
 
13
13
  def test_dms_as_deg
14
- assert_equal 50.833833, @wgs84.as_deg("50.50.01,8")
14
+ assert_equal 50.833833, @wgs84.as_deg("50 50 01.8")
15
15
  end
16
16
 
17
17
  def test_deg_as_dms
18
- assert_equal "50.50.1,8", @wgs84.as_dms(50.833833)
18
+ assert_equal "50 50 1.8", @wgs84.as_dms(50.833833)
19
19
  end
20
20
 
21
21
  def test_dms_as_dms
22
- assert_equal "50.50.1,8", @wgs84.as_dms("50.50.01,8")
22
+ assert_equal "50 50 1.8", @wgs84.as_dms("50 50 01.8")
23
23
  end
24
24
 
25
25
  def test_lat_lon_two_doubles
@@ -34,64 +34,60 @@ class TestGeodesicWgs84 < MiniTest::Test
34
34
  assert_equal [3.5, 4.123], @wgs84.lat_lon(["3.5", "4.123"])
35
35
  end
36
36
 
37
- def test_lat_lon_doubles_with_comma
38
- assert_equal [1.0, 2.0], @wgs84.lat_lon("1,0", "2,0")
39
- end
40
-
41
37
  def test_lat_lon_dms_string
42
- assert_equal ["50.50.1,8", "8.46.9,6"], @wgs84.lat_lon_dms("50.50.01,8", "08.46.09,6")
38
+ assert_equal ["50 50 1.8", "8 46 9.6"], @wgs84.lat_lon_dms("50 50 01.8", "08 46 09.6")
43
39
  end
44
40
 
45
41
  def test_lat_lon_dms_alsfeld
46
- assert_equal ["50.45.6,4", "9.15.6,7"], @wgs84.lat_lon_dms(50.751778, 9.251861)
42
+ assert_equal ["50 45 6.4", "9 15 6.7"], @wgs84.lat_lon_dms(50.751778, 9.251861)
47
43
  end
48
44
 
49
45
  def test_lat_lon_dms_vilbel
50
- assert_equal ["50.11.31,3", "8.44.5,0"], @wgs84.lat_lon_dms(50.192028, 8.734722)
46
+ assert_equal ["50 11 31.3", "8 44 5.0"], @wgs84.lat_lon_dms(50.192028, 8.734722)
51
47
  end
52
48
 
53
49
  def test_lat_lon_dms_butzbach
54
- assert_equal ["50.25.38,7", "8.40.48,2"], @wgs84.lat_lon_dms(50.427417, 8.680056)
50
+ assert_equal ["50 25 38.7", "8 40 48.2"], @wgs84.lat_lon_dms(50.427417, 8.680056)
55
51
  end
56
52
 
57
53
  def test_lat_lon_dms_gilserberg
58
- assert_equal ["50.56.46,0", "9.4.15,5"], @wgs84.lat_lon_dms(50.946111, 9.070972)
54
+ assert_equal ["50 56 46.0", "9 4 15.5"], @wgs84.lat_lon_dms(50.946111, 9.070972)
59
55
  end
60
56
 
61
57
  def test_lat_lon_dms_gruenberg
62
- assert_equal ["50.36.34,9", "8.54.15,0"], @wgs84.lat_lon_dms(50.609694, 8.904167)
58
+ assert_equal ["50 36 34.9", "8 54 15.0"], @wgs84.lat_lon_dms(50.609694, 8.904167)
63
59
  end
64
60
 
65
61
  def test_lat_lon_dms_haiger
66
- assert_equal ["50.45.42,5", "8.9.24,6"], @wgs84.lat_lon_dms(50.761806, 8.156833)
62
+ assert_equal ["50 45 42.5", "8 9 24.6"], @wgs84.lat_lon_dms(50.761806, 8.156833)
67
63
  end
68
64
 
69
65
  def test_lat_lon_dms_herborn
70
- assert_equal ["50.40.13,2", "8.15.30,8"], @wgs84.lat_lon_dms(50.670333, 8.258556)
66
+ assert_equal ["50 40 13.2", "8 15 30.8"], @wgs84.lat_lon_dms(50.670333, 8.258556)
71
67
  end
72
68
 
73
69
  def test_lat_lon_dms_homberg
74
- assert_equal ["50.44.37,1", "9.1.9,2"], @wgs84.lat_lon_dms(50.743639, 9.019222)
70
+ assert_equal ["50 44 37.1", "9 1 9.2"], @wgs84.lat_lon_dms(50.743639, 9.019222)
75
71
  end
76
72
 
77
73
  def test_lat_lon_dms_limburg
78
- assert_equal ["50.24.20,8", "8.4.56,0"], @wgs84.lat_lon_dms(50.405778, 8.082222)
74
+ assert_equal ["50 24 20.8", "8 4 56.0"], @wgs84.lat_lon_dms(50.405778, 8.082222)
79
75
  end
80
76
 
81
77
  def test_lat_lon_dms_marburg
82
- assert_equal ["50.50.1,8", "8.46.9,6"], @wgs84.lat_lon_dms(50.833833, 8.769333)
78
+ assert_equal ["50 50 1.8", "8 46 9.6"], @wgs84.lat_lon_dms(50.833833, 8.769333)
83
79
  end
84
80
 
85
81
  def test_lat_lon_dms_pohlheim
86
- assert_equal ["50.32.12,6", "8.42.45,0"], @wgs84.lat_lon_dms(50.536833, 8.7125)
82
+ assert_equal ["50 32 12.6", "8 42 45.0"], @wgs84.lat_lon_dms(50.536833, 8.7125)
87
83
  end
88
84
 
89
85
  def test_lat_lon_dms_siegen
90
- assert_equal ["50.51.10,9", "8.0.2,4"], @wgs84.lat_lon_dms(50.853028, 8.000667)
86
+ assert_equal ["50 51 10.9", "8 0 2.4"], @wgs84.lat_lon_dms(50.853028, 8.000667)
91
87
  end
92
88
 
93
89
  def test_lat_lon_dms_wetzlar
94
- assert_equal ["50.33.13,6", "8.29.32,2"], @wgs84.lat_lon_dms(50.553778, 8.492278)
90
+ assert_equal ["50 33 13.6", "8 29 32.2"], @wgs84.lat_lon_dms(50.553778, 8.492278)
95
91
  end
96
92
  end
97
93
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: geodesic_wgs84
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.32.10
4
+ version: 1.32.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Volker Wiegand