geodesic_wgs84 1.32.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +18 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +34 -0
- data/Makefile +13 -0
- data/README.md +58 -0
- data/Rakefile +17 -0
- data/ext/geodesic_wgs84/extconf.rb +13 -0
- data/ext/geodesic_wgs84/geodesic.c +1770 -0
- data/ext/geodesic_wgs84/geodesic.h +745 -0
- data/ext/geodesic_wgs84/geodesic_wgs84.c +192 -0
- data/geodesic_wgs84.gemspec +26 -0
- data/lib/geodesic_wgs84/version.rb +3 -0
- data/lib/geodesic_wgs84.rb +9 -0
- data/spec/geodesic_wgs84_spec.rb +25 -0
- metadata +88 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: d7a7022172b287d9a9a44085d1109ac86f468ee6
|
4
|
+
data.tar.gz: 6b73f57a5fb81bed47234fbf63d4eb49daee44a0
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: f3a4fb0fdcac3a795c62501062626bacd1c16c22fcdaeda8fb1bf9937ceba475ed5c4d598b6786952a0c6d3a1971de994189b275f317343e350eae50e2274944
|
7
|
+
data.tar.gz: 64dcc40316c5c783368457cf8fa12b224f713a7d92bd9d1eeea409abd9f78ad42c9636de9984cc9ba7a648840f16b5b64832aaf248d25d9d1873e0742d2c3305
|
data/.gitignore
ADDED
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
The files geodesic.c and geodesic.h (which are at the heart
|
2
|
+
of this work) carry the following copyright notice:
|
3
|
+
|
4
|
+
Copyright (c) Charles Karney (2012-2013) <charles@karney.com> and licensed
|
5
|
+
under the MIT/X11 License. For more information, see
|
6
|
+
http://geographiclib.sourceforge.net/
|
7
|
+
|
8
|
+
******************************
|
9
|
+
|
10
|
+
The rest is just a simple wrapper:
|
11
|
+
|
12
|
+
Copyright (c) 2014 Volker Wiegand <volker.wiegand@cvw.de>
|
13
|
+
|
14
|
+
MIT License
|
15
|
+
|
16
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
17
|
+
a copy of this software and associated documentation files (the
|
18
|
+
"Software"), to deal in the Software without restriction, including
|
19
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
20
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
21
|
+
permit persons to whom the Software is furnished to do so, subject to
|
22
|
+
the following conditions:
|
23
|
+
|
24
|
+
The above copyright notice and this permission notice shall be
|
25
|
+
included in all copies or substantial portions of the Software.
|
26
|
+
|
27
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
28
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
29
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
30
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
31
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
32
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
33
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
34
|
+
|
data/Makefile
ADDED
data/README.md
ADDED
@@ -0,0 +1,58 @@
|
|
1
|
+
# GeodesicWgs84 -- Distance calculations on the Earth's surface
|
2
|
+
|
3
|
+
This an implementation of the geodesic algorithms described in
|
4
|
+
C. F. F. Karney "Algorithms for geodesics" ( http://dx.doi.org/10.1007/s00190-012-0578-z ).
|
5
|
+
It uses the WGS84 standard as a reference ( http://en.wikipedia.org/wiki/World_Geodetic_System ).
|
6
|
+
|
7
|
+
### From the abstract of this article
|
8
|
+
|
9
|
+
Algorithms for the computation of geodesics on
|
10
|
+
an ellipsoid of revolution are given. These provide accurate,
|
11
|
+
robust, and fast solutions to the direct and inverse geodesic
|
12
|
+
problems and they allow differential and integral properties
|
13
|
+
of geodesics to be computed.
|
14
|
+
|
15
|
+
### Original work
|
16
|
+
|
17
|
+
The files geodesic.c and geodesic.h make up for the real work and can be found
|
18
|
+
at ( http://geographiclib.sourceforge.net/html/C/ ).
|
19
|
+
|
20
|
+
## Installation
|
21
|
+
|
22
|
+
Add this line to your application's Gemfile:
|
23
|
+
|
24
|
+
gem 'geodesic_wgs84'
|
25
|
+
|
26
|
+
And then execute:
|
27
|
+
|
28
|
+
$ bundle
|
29
|
+
|
30
|
+
Or install it yourself as:
|
31
|
+
|
32
|
+
$ gem install geodesic_wgs84
|
33
|
+
|
34
|
+
## Sample Usage
|
35
|
+
|
36
|
+
require 'geodesic_wgs84'
|
37
|
+
|
38
|
+
wgs84 = Wgs84.new
|
39
|
+
|
40
|
+
wgs84.lat_lon ...
|
41
|
+
|
42
|
+
wgs84.distance ...
|
43
|
+
|
44
|
+
wgs84.average ...
|
45
|
+
|
46
|
+
## Running tests
|
47
|
+
|
48
|
+
Tests are based on minitest.
|
49
|
+
|
50
|
+
rake test
|
51
|
+
|
52
|
+
## Contributing
|
53
|
+
|
54
|
+
1. Fork it ( https://github.com/volkerwiegand/geodesic_wgs84/fork )
|
55
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
56
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
57
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
58
|
+
5. Create a new Pull Request
|
data/Rakefile
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
2
|
+
|
3
|
+
require 'rake/extensiontask'
|
4
|
+
|
5
|
+
Rake::ExtensionTask.new "geodesic_wgs84" do |ext|
|
6
|
+
ext.lib_dir = "lib/geodesic_wgs84"
|
7
|
+
end
|
8
|
+
|
9
|
+
require 'rake/testtask'
|
10
|
+
|
11
|
+
Rake::TestTask.new do |t|
|
12
|
+
t.pattern = "spec/*_spec.rb"
|
13
|
+
end
|
14
|
+
|
15
|
+
task :default => :test
|
16
|
+
task :spec => :test
|
17
|
+
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require "mkmf"
|
2
|
+
|
3
|
+
have_header 'math.h'
|
4
|
+
find_header 'geodesic.h'
|
5
|
+
|
6
|
+
abort "missing sscanf()" unless have_func "sscanf"
|
7
|
+
abort "missing memset()" unless have_func "memset"
|
8
|
+
abort "missing memcpy()" unless have_func "memcpy"
|
9
|
+
abort "missing strchr()" unless have_func "strchr"
|
10
|
+
abort "missing round()" unless have_func "round"
|
11
|
+
|
12
|
+
create_makefile 'geodesic_wgs84/geodesic_wgs84'
|
13
|
+
|