gpx2exif 0.0.3 → 0.0.4

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.
data/Gemfile CHANGED
@@ -1,7 +1,7 @@
1
1
  source "http://rubygems.org"
2
2
 
3
3
  gem 'nokogiri'
4
- gem 'mini_exiftool'
4
+ gem 'mini_exiftool', git: 'git://github.com/akwiatkowski/mini_exiftool.git'
5
5
  gem 'builder'
6
6
 
7
7
  group :development do
data/Gemfile.lock CHANGED
@@ -1,3 +1,9 @@
1
+ GIT
2
+ remote: git://github.com/akwiatkowski/mini_exiftool.git
3
+ revision: e2ca8e0c3de9190bd08520d6c4204d510963eb54
4
+ specs:
5
+ mini_exiftool (1.5.1)
6
+
1
7
  GEM
2
8
  remote: http://rubygems.org/
3
9
  specs:
@@ -8,9 +14,8 @@ GEM
8
14
  bundler (~> 1.0)
9
15
  git (>= 1.2.5)
10
16
  rake
11
- mini_exiftool (1.3.1)
12
- multi_json (1.2.0)
13
- nokogiri (1.5.2)
17
+ multi_json (1.3.6)
18
+ nokogiri (1.5.3)
14
19
  rake (0.9.2.2)
15
20
  rspec (2.3.0)
16
21
  rspec-core (~> 2.3.0)
@@ -20,7 +25,7 @@ GEM
20
25
  rspec-expectations (2.3.0)
21
26
  diff-lcs (~> 1.1.2)
22
27
  rspec-mocks (2.3.0)
23
- simplecov (0.6.1)
28
+ simplecov (0.6.4)
24
29
  multi_json (~> 1.0)
25
30
  simplecov-html (~> 0.5.3)
26
31
  simplecov-html (0.5.3)
@@ -32,7 +37,7 @@ DEPENDENCIES
32
37
  builder
33
38
  bundler (~> 1.0.0)
34
39
  jeweler (~> 1.6.4)
35
- mini_exiftool
40
+ mini_exiftool!
36
41
  nokogiri
37
42
  rspec (~> 2.3.0)
38
43
  simplecov
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.3
1
+ 0.0.4
@@ -0,0 +1,54 @@
1
+ require 'rubygems'
2
+
3
+ $:.unshift(File.dirname(__FILE__))
4
+
5
+ module GarminUtils
6
+ class GpxWaypointParser
7
+
8
+ def initialize
9
+ @pois = Array.new
10
+ end
11
+
12
+ attr_reader :pois
13
+
14
+ def add_file(y)
15
+ @pois += parse_gpx_file(y)
16
+ end
17
+
18
+ def parse_gpx_file(path)
19
+ f = File.new(path)
20
+ doc = Nokogiri::XML(f)
21
+ doc.remove_namespaces!
22
+ a = Array.new
23
+
24
+ trackpoints = doc.xpath('//gpx/wpt')
25
+ trackpoints.each do |wpt|
26
+ w = {
27
+ :lat => wpt.xpath('@lat').to_s.to_f,
28
+ :lon => wpt.xpath('@lon').to_s.to_f,
29
+ :time => Gpx2exif::GpxParser.proc_time(wpt.xpath('time').children.first.to_s),
30
+ :alt => wpt.xpath('ele').children.first.to_s.to_f,
31
+ :name => wpt.xpath('name').children.first.to_s,
32
+ :sym => wpt.xpath('sym').children.first.to_s
33
+ }
34
+ a << w
35
+ end
36
+ f.close
37
+
38
+ return a
39
+ end
40
+
41
+ #def add(lat, lon, name, cmt = nil, time = nil, ele = nil, sym = nil)
42
+ # @pois << {
43
+ # :lat => lat,
44
+ # :lon => lon,
45
+ # :name => name,
46
+ # :cmt => cmt,
47
+ # :time => time,
48
+ # :ele => ele,
49
+ # :sym => sym
50
+ # }
51
+ #end
52
+
53
+ end
54
+ end
data/lib/garmin_utils.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  $:.unshift(File.dirname(__FILE__))
2
2
 
3
3
  require 'garmin_utils/waypoint_list_generator'
4
+ require 'garmin_utils/gpx_waypoint_parser'
4
5
 
5
6
  module GarminUtils
6
7
  end
@@ -45,12 +45,16 @@ module Gpx2exif
45
45
  @coords += a
46
46
  end
47
47
 
48
- def proc_time(ts, time_offset)
48
+ def self.proc_time(ts, time_offset = 0)
49
49
  if ts =~ /(\d{4})-(\d{2})-(\d{2})T(\d{1,2}):(\d{2}):(\d{2})Z/
50
50
  return Time.gm($1.to_i, $2.to_i, $3.to_i, $4.to_i, $5.to_i, $6.to_i).localtime + time_offset
51
51
  end
52
52
  end
53
53
 
54
+ def proc_time(ts, time_offset)
55
+ self.class.proc_time(ts, time_offset)
56
+ end
57
+
54
58
  def find_by_time(time)
55
59
  selected_coords = @coords.select { |c| (c[:time].localtime - time.localtime).abs < THRESHOLD }
56
60
  selected_coords = selected_coords.sort { |a, b| (a[:time].localtime - time.localtime).abs <=> (b[:time].localtime - time.localtime).abs }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gpx2exif
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-28 00:00:00.000000000Z
12
+ date: 2012-06-05 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
16
- requirement: &16259820 !ruby/object:Gem::Requirement
16
+ requirement: &20827660 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *16259820
24
+ version_requirements: *20827660
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: mini_exiftool
27
- requirement: &16259220 !ruby/object:Gem::Requirement
27
+ requirement: &20826940 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *16259220
35
+ version_requirements: *20826940
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: builder
38
- requirement: &16258560 !ruby/object:Gem::Requirement
38
+ requirement: &20823620 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *16258560
46
+ version_requirements: *20823620
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rspec
49
- requirement: &16257960 !ruby/object:Gem::Requirement
49
+ requirement: &20823020 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 2.3.0
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *16257960
57
+ version_requirements: *20823020
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: bundler
60
- requirement: &16257320 !ruby/object:Gem::Requirement
60
+ requirement: &20822420 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 1.0.0
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *16257320
68
+ version_requirements: *20822420
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: jeweler
71
- requirement: &16256720 !ruby/object:Gem::Requirement
71
+ requirement: &20821820 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ~>
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: 1.6.4
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *16256720
79
+ version_requirements: *20821820
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: simplecov
82
- requirement: &16256120 !ruby/object:Gem::Requirement
82
+ requirement: &20821160 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,7 +87,7 @@ dependencies:
87
87
  version: '0'
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *16256120
90
+ version_requirements: *20821160
91
91
  description: Mass geotagger using GPX files.
92
92
  email: bobikx@poczta.fm
93
93
  executables:
@@ -108,6 +108,7 @@ files:
108
108
  - bin/geotag_all_images
109
109
  - bin/geotag_simulate
110
110
  - lib/garmin_utils.rb
111
+ - lib/garmin_utils/gpx_waypoint_parser.rb
111
112
  - lib/garmin_utils/waypoint_list_generator.rb
112
113
  - lib/gpx2exif.rb
113
114
  - lib/gpx2exif/exif_editor.rb
@@ -128,7 +129,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
128
129
  version: '0'
129
130
  segments:
130
131
  - 0
131
- hash: -92745170139221156
132
+ hash: 3559381687049303324
132
133
  required_rubygems_version: !ruby/object:Gem::Requirement
133
134
  none: false
134
135
  requirements: