geodesic_wgs84 1.32.15 → 1.32.16

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: b53a142bccbeebb0af8a5b86ec4c4b90acf3918d
4
- data.tar.gz: a1932e7f89b83cb48f374e07ab78c35ccb9cafbb
3
+ metadata.gz: 484164f90bf349f74e8cce75167b362e751eca85
4
+ data.tar.gz: ec55ae2fe7c28b685d61e1ed0407718f2fad92b0
5
5
  SHA512:
6
- metadata.gz: b1af9f98d2919fd67c2b7965e82342d3726ae81e11878d305b257b4998e9f360040d9d87467be3a953d4e64b7e8e5b4bab77d97f57eb1a10ab179cab57c4dae4
7
- data.tar.gz: 4e538adcf7bbd0f053ac767aca0c127779dffede6b55a572a427a5b5eb65fd9ab82bfcfe68b9f49f393485067d4ffaa348d53b2cbecb6dc4497c43aa77b6f205
6
+ metadata.gz: 46b492042cc3dc9ffe58af012cba41953b121adc1ff66a029e0b07132a6b0c8875659e0a0d97b0737e1e0a331a76b3cdf8d6b550d71e6a87bf9e3653ec5e517d
7
+ data.tar.gz: a31750e62e7f7eb299c3e4e8b32ce0a408b061f751a52020564290169ab7a33585cfc8de199a1acfaee02d0b8e5fb61b7959936c7c8372cd776cb999b82fc667
data/README.md CHANGED
@@ -47,6 +47,10 @@ of roughly 10cm. See ( http://en.wikipedia.org/wiki/Decimal_degrees#Accuracy )
47
47
 
48
48
  wgs84.lat_lon_dms ...
49
49
 
50
+ wgs84.lat_lon_dms_a (aligned) ...
51
+
52
+ wgs84.lat_lon_dms_z (zero-filled) ...
53
+
50
54
  wgs84.distance ...
51
55
 
52
56
  wgs84.average ...
@@ -93,6 +93,42 @@ wgs84_as_dms(VALUE klass, VALUE arg)
93
93
  }
94
94
 
95
95
 
96
+ static VALUE
97
+ wgs84_as_dms_a(VALUE klass, VALUE arg)
98
+ {
99
+ double val;
100
+ char buf[64], *ptr;
101
+
102
+ val = wgs84_get_value(arg);
103
+ memset(buf, 0, sizeof(buf));
104
+ sprintf(buf, "%2d ", (int) trunc(val));
105
+ ptr = buf + strlen(buf);
106
+ sprintf(ptr, "%2d ", (int) fmod(trunc(fabs(val) * 60.0), 60.0));
107
+ ptr = buf + strlen(buf);
108
+ sprintf(ptr, "%4.1lf", fmod(fabs(val) * 3600.0, 60.0));
109
+
110
+ return rb_str_new2(buf);
111
+ }
112
+
113
+
114
+ static VALUE
115
+ wgs84_as_dms_z(VALUE klass, VALUE arg)
116
+ {
117
+ double val;
118
+ char buf[64], *ptr;
119
+
120
+ val = wgs84_get_value(arg);
121
+ memset(buf, 0, sizeof(buf));
122
+ sprintf(buf, "%02d ", (int) trunc(val));
123
+ ptr = buf + strlen(buf);
124
+ sprintf(ptr, "%02d ", (int) fmod(trunc(fabs(val) * 60.0), 60.0));
125
+ ptr = buf + strlen(buf);
126
+ sprintf(ptr, "%04.1lf", fmod(fabs(val) * 3600.0, 60.0));
127
+
128
+ return rb_str_new2(buf);
129
+ }
130
+
131
+
96
132
  static VALUE
97
133
  wgs84_as_bigdec(VALUE klass, VALUE arg)
98
134
  {
@@ -271,6 +307,8 @@ Init_geodesic_wgs84(void)
271
307
  rb_define_method(cWGS84, "initialize", wgs84_init, 0);
272
308
  rb_define_method(cWGS84, "as_deg", wgs84_as_deg, 1);
273
309
  rb_define_method(cWGS84, "as_dms", wgs84_as_dms, 1);
310
+ rb_define_method(cWGS84, "as_dms_a", wgs84_as_dms_a, 1);
311
+ rb_define_method(cWGS84, "as_dms_z", wgs84_as_dms_z, 1);
274
312
  rb_define_method(cWGS84, "as_bigdec", wgs84_as_bigdec, 1);
275
313
  rb_define_method(cWGS84, "lat_lon", wgs84_lat_lon, -1);
276
314
  rb_define_method(cWGS84, "distance", wgs84_distance, -1);
@@ -1,3 +1,3 @@
1
1
  module GeodesicWgs84
2
- VERSION = "1.32.15"
2
+ VERSION = "1.32.16"
3
3
  end
@@ -41,18 +41,26 @@ class TestGeodesicWgs84 < MiniTest::Test
41
41
  assert_equal 50.833833, @wgs84.as_deg(50.833833)
42
42
  end
43
43
 
44
- def test_as_deg
44
+ def test_dms_as_deg
45
45
  assert_equal 50.833833, @wgs84.as_deg("50 50 01.8")
46
46
  end
47
47
 
48
- def test_deg_as
48
+ def test_deg_as_dms
49
49
  assert_equal "50 50 1.8", @wgs84.as_dms(50.833833)
50
50
  end
51
51
 
52
- def test_as
52
+ def test_dms_as_dms
53
53
  assert_equal "50 50 1.8", @wgs84.as_dms("50 50 01.8")
54
54
  end
55
55
 
56
+ def test_deg_as_dms_a
57
+ assert_equal " 9 1 9.2", @wgs84.as_dms_a(9.019222)
58
+ end
59
+
60
+ def test_deg_as_dms_z
61
+ assert_equal "09 01 09.2", @wgs84.as_dms_z(9.019222)
62
+ end
63
+
56
64
  def test_lat_lon_two_doubles
57
65
  assert_equal [50.833833, 8.769333], @wgs84.lat_lon(50.833833, 8.769333)
58
66
  end
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.15
4
+ version: 1.32.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - Volker Wiegand