simple-trail 0.2.0 → 0.2.1
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/lib/simple_trail/generator/gpx.rb +12 -1
- data/simple-trail.gemspec +1 -1
- data/spec/examples/test-xxl.gpx +1 -1
- data/spec/examples/test_no_time_and_ele.gpx +55 -0
- data/spec/generator/gpx_spec.rb +18 -0
- metadata +3 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5cc811d316ce33ec5e7695d057b9c19e773a95ad9b91b4346d2ac993197c0cc3
|
4
|
+
data.tar.gz: 61f58e616108bd731247c242151293d468d189c545c8411547e6b513f2e98398
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fd4800f320f0a5cdbf8a62f0923bdd0a3d1713ddf48243136d2bddc564696019242767c3921c98bef4ef59cca883bdec94d34cca491e2721146ff1281e5ec9e2
|
7
|
+
data.tar.gz: 948ee822893742f3dd182b2c14ee47f6b63a4eccfd9284956c4e543c76d03d656b53936c71af3befb6adbe84301f7123581efc9d72de139e4f2929801a59dc79
|
@@ -9,6 +9,14 @@ module Generator
|
|
9
9
|
@name = name
|
10
10
|
end
|
11
11
|
|
12
|
+
def time(xml, timestamp)
|
13
|
+
xml.send(:time, timestamp)
|
14
|
+
end
|
15
|
+
|
16
|
+
def ele(xml, elevation)
|
17
|
+
xml.send(:ele, elevation)
|
18
|
+
end
|
19
|
+
|
12
20
|
def gpx
|
13
21
|
builder = Nokogiri::XML::Builder.new(:encoding => 'UTF-8') do |xml|
|
14
22
|
xml.gpx(version: '1.0') {
|
@@ -16,7 +24,10 @@ module Generator
|
|
16
24
|
xml.trk {
|
17
25
|
xml.trkseg {
|
18
26
|
@points.map do |point|
|
19
|
-
xml.trkpt(lat: point[:lat], lon: point[:lon])
|
27
|
+
xml.trkpt(lat: point[:lat], lon: point[:lon]) {
|
28
|
+
time(xml, point[:time]) unless point[:time].nil?
|
29
|
+
ele(xml, point[:ele]) unless point[:ele].nil?
|
30
|
+
}
|
20
31
|
end
|
21
32
|
}
|
22
33
|
}
|
data/simple-trail.gemspec
CHANGED
@@ -5,7 +5,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = 'simple-trail'
|
8
|
-
s.version = '0.2.
|
8
|
+
s.version = '0.2.1'
|
9
9
|
s.date = '2020-08-03'
|
10
10
|
s.summary = 'Readind and manipulating GPX and other trail representation file'
|
11
11
|
s.description = 'Optimazing and manipulating GPX file data. For my private purposes mostly'
|
data/spec/examples/test-xxl.gpx
CHANGED
@@ -98424,4 +98424,4 @@
|
|
98424
98424
|
</trkpt>
|
98425
98425
|
</trkseg>
|
98426
98426
|
</trk>
|
98427
|
-
</gpx>
|
98427
|
+
</gpx>
|
@@ -0,0 +1,55 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?><gpx creator="https://mapa-turystyczna.pl" xmlns="http://www.topografix.com/GPX/1/1" version="1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd">
|
2
|
+
<metadata>
|
3
|
+
<link href="https://mapa-turystyczna.pl">
|
4
|
+
<text>mapa-turystyczna.pl</text>
|
5
|
+
</link>
|
6
|
+
<time>2020-06-07T13:17:32Z</time>
|
7
|
+
<bounds maxlat="49.5039739" maxlon="20.0407328" minlat="49.4986602" minlon="20.0366753"/>
|
8
|
+
</metadata>
|
9
|
+
<wpt lat="49.49866" lon="20.040733">
|
10
|
+
<ele>617</ele>
|
11
|
+
<name>Nowy Targ, Kowaniec</name>
|
12
|
+
<link href="https://mapa-turystyczna.pl/node/88">
|
13
|
+
<text>Nowy Targ, Kowaniec</text>
|
14
|
+
</link>
|
15
|
+
</wpt>
|
16
|
+
<wpt lat="49.503974" lon="20.037433">
|
17
|
+
<ele>631</ele>
|
18
|
+
<name>Nowy Targ, Robów</name>
|
19
|
+
<link href="https://mapa-turystyczna.pl/node/4103">
|
20
|
+
<text>Nowy Targ, Robów</text>
|
21
|
+
</link>
|
22
|
+
</wpt>
|
23
|
+
|
24
|
+
<trk>
|
25
|
+
<name>Nowy Targ, Kowaniec – Nowy Targ, Robów</name>
|
26
|
+
<link href="https://mapa-turystyczna.pl/route?q=49.4986600,20.0407330;49.5039740,20.0374330">
|
27
|
+
<text>Nowy Targ, Kowaniec – Nowy Targ, Robów</text>
|
28
|
+
</link>
|
29
|
+
<trkseg>
|
30
|
+
<trkpt lat="49.4986602" lon="20.0407328"/>
|
31
|
+
<trkpt lat="49.4986967" lon="20.0404556"/>
|
32
|
+
<trkpt lat="49.4987087" lon="20.0400335"/>
|
33
|
+
<trkpt lat="49.4988349" lon="20.0397599"/>
|
34
|
+
<trkpt lat="49.4989091" lon="20.0396378"/>
|
35
|
+
<trkpt lat="49.499428" lon="20.0394863"/>
|
36
|
+
<trkpt lat="49.4996371" lon="20.0392445"/>
|
37
|
+
<trkpt lat="49.4997661" lon="20.0389653"/>
|
38
|
+
<trkpt lat="49.5002861" lon="20.038577"/>
|
39
|
+
<trkpt lat="49.5007575" lon="20.0380165"/>
|
40
|
+
<trkpt lat="49.5008552" lon="20.0378636"/>
|
41
|
+
<trkpt lat="49.5011271" lon="20.0373244"/>
|
42
|
+
<trkpt lat="49.5013462" lon="20.0370132"/>
|
43
|
+
<trkpt lat="49.5014997" lon="20.0368389"/>
|
44
|
+
<trkpt lat="49.501667" lon="20.0367343"/>
|
45
|
+
<trkpt lat="49.5019824" lon="20.0366753"/>
|
46
|
+
<trkpt lat="49.5023919" lon="20.0367289"/>
|
47
|
+
<trkpt lat="49.5027698" lon="20.0370616"/>
|
48
|
+
<trkpt lat="49.5031206" lon="20.037299"/>
|
49
|
+
<trkpt lat="49.5033425" lon="20.0373218"/>
|
50
|
+
<trkpt lat="49.5035736" lon="20.0373084"/>
|
51
|
+
<trkpt lat="49.5038343" lon="20.0374016"/>
|
52
|
+
<trkpt lat="49.5039739" lon="20.0374335"/>
|
53
|
+
</trkseg>
|
54
|
+
</trk>
|
55
|
+
</gpx>
|
data/spec/generator/gpx_spec.rb
CHANGED
@@ -18,4 +18,22 @@ RSpec.describe Generator::Gpx do
|
|
18
18
|
expect(output.match(/#{random_point[:lon]}/)).not_to be_nil
|
19
19
|
expect(output.match(/#{random_point[:lat]}/)).not_to be_nil
|
20
20
|
end
|
21
|
+
|
22
|
+
it 'generates output when no time' do
|
23
|
+
parser = Parser::Gpx.new('./spec/examples/test_no_time_and_ele.gpx')
|
24
|
+
parser.read
|
25
|
+
|
26
|
+
points = parser.points
|
27
|
+
|
28
|
+
service = described_class.new(points: points)
|
29
|
+
expect{service.gpx}.not_to raise_error
|
30
|
+
output = service.output
|
31
|
+
expect(output).not_to be_nil
|
32
|
+
|
33
|
+
random_point = points.sample
|
34
|
+
expect(output.match(/#{random_point[:lon]}/)).not_to be_nil
|
35
|
+
expect(output.match(/#{random_point[:lat]}/)).not_to be_nil
|
36
|
+
expect(output.match(/time/)).to be_nil
|
37
|
+
expect(output.match(/ele/)).to be_nil
|
38
|
+
end
|
21
39
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simple-trail
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Staszek Zawadzki
|
@@ -113,6 +113,7 @@ files:
|
|
113
113
|
- spec/examples/test_7.gpx
|
114
114
|
- spec/examples/test_8.gpx
|
115
115
|
- spec/examples/test_9.gpx
|
116
|
+
- spec/examples/test_no_time_and_ele.gpx
|
116
117
|
- spec/examples/test_with_segments.gpx
|
117
118
|
- spec/examples/zyleta2021.gpx
|
118
119
|
- spec/generator/gpx_spec.rb
|
@@ -163,6 +164,7 @@ test_files:
|
|
163
164
|
- spec/examples/test_7.gpx
|
164
165
|
- spec/examples/test_8.gpx
|
165
166
|
- spec/examples/test_9.gpx
|
167
|
+
- spec/examples/test_no_time_and_ele.gpx
|
166
168
|
- spec/examples/test_with_segments.gpx
|
167
169
|
- spec/examples/zyleta2021.gpx
|
168
170
|
- spec/generator/gpx_spec.rb
|