gpx_reader 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/gpx_reader.gemspec +1 -1
- data/lib/gpx_reader/segment.rb +4 -1
- data/lib/gpx_reader/track.rb +3 -1
- data/lib/gpx_reader/version.rb +1 -1
- data/tests/gpx_1track_4points.rb +1 -0
- data/tests/gpx_real_file.rb +1 -0
- metadata +12 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 53fe0eaeb45b2da5e44d4927d94af9fb526e128c
|
4
|
+
data.tar.gz: 3193ba6ebca232fd28c4e1d2e14d7f11c03126df
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: aea81edbd272c9b07023cb97710528061a69c5ce95069cb48f3da8e37a76e9c89ebe9c85131267a76f8c6da36707e6eb655869826266b5653df3a973ed4574d2
|
7
|
+
data.tar.gz: 78ec07dc93e233bcc3e0d729aa5bd919b2b2a026454708c6fcf31065b5793d32481143d09df544eca797e87e7e54f80a5fcf2162d02c6b1fbdca524e9f62da37
|
data/gpx_reader.gemspec
CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
|
|
10
10
|
spec.email = ["nicolas.aguttes@gmail.com"]
|
11
11
|
spec.description = %q{Gem to parse a gpx file or string}
|
12
12
|
spec.summary = %q{gpx reader}
|
13
|
-
spec.homepage = ""
|
13
|
+
spec.homepage = "https://github.com/tranquiliste/gpx_reader"
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
16
16
|
spec.files = `git ls-files`.split($/)
|
data/lib/gpx_reader/segment.rb
CHANGED
@@ -22,10 +22,11 @@
|
|
22
22
|
#++
|
23
23
|
module GPXReader
|
24
24
|
class Segment
|
25
|
-
attr_accessor :points, :distance
|
25
|
+
attr_accessor :points, :distance, :elapsed_time
|
26
26
|
|
27
27
|
def initialize(segment)
|
28
28
|
@distance = 0
|
29
|
+
@elapsed_time = 0
|
29
30
|
@points = []
|
30
31
|
previous_pt = nil
|
31
32
|
segment.css("trkpt").each do |pt|
|
@@ -33,6 +34,8 @@ module GPXReader
|
|
33
34
|
@points << point
|
34
35
|
# calculate distance
|
35
36
|
@distance += haversine_distance(previous_pt, point) unless previous_pt.nil?
|
37
|
+
# calculate elapsed tiem
|
38
|
+
@elapsed_time += (previous_pt.nil? ? 0 : (point.time - previous_pt.time))
|
36
39
|
previous_pt = point
|
37
40
|
# puts @points.size if @points.size.modulo(100).zero?
|
38
41
|
end
|
data/lib/gpx_reader/track.rb
CHANGED
@@ -22,10 +22,11 @@
|
|
22
22
|
#++
|
23
23
|
module GPXReader
|
24
24
|
class Track
|
25
|
-
attr_accessor :segments, :name, :desc, :distance
|
25
|
+
attr_accessor :segments, :name, :desc, :distance, :elapsed_time
|
26
26
|
|
27
27
|
def initialize(trk)
|
28
28
|
@distance = 0
|
29
|
+
@elapsed_time = 0
|
29
30
|
@name = trk.at_css("name").text rescue ""
|
30
31
|
@desc = trk.at_css("desc").text rescue ""
|
31
32
|
@segments = []
|
@@ -33,6 +34,7 @@ module GPXReader
|
|
33
34
|
seg = Segment.new(seg)
|
34
35
|
@segments << seg
|
35
36
|
@distance += seg.distance
|
37
|
+
@elapsed_time += seg.elapsed_time
|
36
38
|
end
|
37
39
|
end
|
38
40
|
end
|
data/lib/gpx_reader/version.rb
CHANGED
data/tests/gpx_1track_4points.rb
CHANGED
@@ -29,6 +29,7 @@ class GPXFileTest < Test::Unit::TestCase
|
|
29
29
|
assert_equal(46.03444067761302, gpx.tracks.first.segments.first.points[1].lat)
|
30
30
|
assert_equal(46.03447579778731, gpx.tracks.first.segments.first.points[2].lat)
|
31
31
|
assert_equal(46.03450287133455, gpx.tracks.first.segments.first.points[3].lat)
|
32
|
+
assert_equal(6, gpx.tracks.first.elapsed_time)
|
32
33
|
end
|
33
34
|
|
34
35
|
|
data/tests/gpx_real_file.rb
CHANGED
@@ -13,6 +13,7 @@ class GPXRealFile < Test::Unit::TestCase
|
|
13
13
|
assert_equal(5424, gpx.tracks.first.segments.first.points.size)
|
14
14
|
assert_equal(116, gpx.tracks.first.segments.first.points.first.hr)
|
15
15
|
assert_equal("15.76", sprintf('%.2f', gpx.tracks.first.distance))
|
16
|
+
assert_equal(5424, gpx.tracks.first.elapsed_time)
|
16
17
|
end
|
17
18
|
|
18
19
|
end
|
metadata
CHANGED
@@ -1,41 +1,41 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gpx_reader
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nicolas Aguttes
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-04-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.3'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.3'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
@@ -59,8 +59,8 @@ executables: []
|
|
59
59
|
extensions: []
|
60
60
|
extra_rdoc_files: []
|
61
61
|
files:
|
62
|
-
- .DS_Store
|
63
|
-
- .gitignore
|
62
|
+
- ".DS_Store"
|
63
|
+
- ".gitignore"
|
64
64
|
- Gemfile
|
65
65
|
- LICENSE.txt
|
66
66
|
- README.md
|
@@ -78,7 +78,7 @@ files:
|
|
78
78
|
- tests/gpx_files/tranquiliste_2014_03_02.gpx
|
79
79
|
- tests/gpx_real_file.rb
|
80
80
|
- tests/gpx_with_string.rb
|
81
|
-
homepage:
|
81
|
+
homepage: https://github.com/tranquiliste/gpx_reader
|
82
82
|
licenses:
|
83
83
|
- MIT
|
84
84
|
metadata: {}
|
@@ -88,17 +88,17 @@ require_paths:
|
|
88
88
|
- lib
|
89
89
|
required_ruby_version: !ruby/object:Gem::Requirement
|
90
90
|
requirements:
|
91
|
-
- -
|
91
|
+
- - ">="
|
92
92
|
- !ruby/object:Gem::Version
|
93
93
|
version: '0'
|
94
94
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
95
95
|
requirements:
|
96
|
-
- -
|
96
|
+
- - ">="
|
97
97
|
- !ruby/object:Gem::Version
|
98
98
|
version: '0'
|
99
99
|
requirements: []
|
100
100
|
rubyforge_project:
|
101
|
-
rubygems_version: 2.
|
101
|
+
rubygems_version: 2.2.2
|
102
102
|
signing_key:
|
103
103
|
specification_version: 4
|
104
104
|
summary: gpx reader
|