ppe-georuby 1.7.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +6 -0
- data/History.txt +4 -0
- data/LICENSE +21 -0
- data/README.txt +118 -0
- data/Rakefile +48 -0
- data/VERSION +1 -0
- data/lib/geo_ruby.rb +22 -0
- data/lib/geo_ruby/gpx.rb +1 -0
- data/lib/geo_ruby/gpx4r/gpx.rb +117 -0
- data/lib/geo_ruby/shp.rb +1 -0
- data/lib/geo_ruby/shp4r/dbf.rb +41 -0
- data/lib/geo_ruby/shp4r/shp.rb +697 -0
- data/lib/geo_ruby/simple_features/envelope.rb +167 -0
- data/lib/geo_ruby/simple_features/ewkb_parser.rb +216 -0
- data/lib/geo_ruby/simple_features/ewkt_parser.rb +336 -0
- data/lib/geo_ruby/simple_features/geometry.rb +228 -0
- data/lib/geo_ruby/simple_features/geometry_collection.rb +136 -0
- data/lib/geo_ruby/simple_features/geometry_factory.rb +81 -0
- data/lib/geo_ruby/simple_features/georss_parser.rb +135 -0
- data/lib/geo_ruby/simple_features/helper.rb +18 -0
- data/lib/geo_ruby/simple_features/line_string.rb +206 -0
- data/lib/geo_ruby/simple_features/linear_ring.rb +12 -0
- data/lib/geo_ruby/simple_features/multi_line_string.rb +51 -0
- data/lib/geo_ruby/simple_features/multi_point.rb +46 -0
- data/lib/geo_ruby/simple_features/multi_polygon.rb +52 -0
- data/lib/geo_ruby/simple_features/point.rb +364 -0
- data/lib/geo_ruby/simple_features/polygon.rb +157 -0
- data/ppe-georuby.gemspec +133 -0
- data/script/console +10 -0
- data/script/destroy +14 -0
- data/script/generate +14 -0
- data/script/txt2html +82 -0
- data/spec/data/gpx/fells_loop.gpx +1077 -0
- data/spec/data/gpx/long.gpx +1642 -0
- data/spec/data/gpx/long.kml +31590 -0
- data/spec/data/gpx/long.nmea +2220 -0
- data/spec/data/gpx/short.gpx +13634 -0
- data/spec/data/gpx/short.kml +130 -0
- data/spec/data/gpx/tracktreks.gpx +706 -0
- data/spec/data/multipoint.dbf +0 -0
- data/spec/data/multipoint.shp +0 -0
- data/spec/data/multipoint.shx +0 -0
- data/spec/data/point.dbf +0 -0
- data/spec/data/point.shp +0 -0
- data/spec/data/point.shx +0 -0
- data/spec/data/polygon.dbf +0 -0
- data/spec/data/polygon.shp +0 -0
- data/spec/data/polygon.shx +0 -0
- data/spec/data/polyline.dbf +0 -0
- data/spec/data/polyline.shp +0 -0
- data/spec/data/polyline.shx +0 -0
- data/spec/geo_ruby/gpx4r/gpx_spec.rb +106 -0
- data/spec/geo_ruby/shp4r/shp_spec.rb +240 -0
- data/spec/geo_ruby/simple_features/envelope_spec.rb +45 -0
- data/spec/geo_ruby/simple_features/ewkb_parser_spec.rb +158 -0
- data/spec/geo_ruby/simple_features/ewkt_parser_spec.rb +179 -0
- data/spec/geo_ruby/simple_features/geometry_collection_spec.rb +55 -0
- data/spec/geo_ruby/simple_features/geometry_factory_spec.rb +11 -0
- data/spec/geo_ruby/simple_features/geometry_spec.rb +32 -0
- data/spec/geo_ruby/simple_features/georss_parser_spec.rb +218 -0
- data/spec/geo_ruby/simple_features/line_string_spec.rb +245 -0
- data/spec/geo_ruby/simple_features/linear_ring_spec.rb +14 -0
- data/spec/geo_ruby/simple_features/multi_line_string_spec.rb +54 -0
- data/spec/geo_ruby/simple_features/multi_point_spec.rb +35 -0
- data/spec/geo_ruby/simple_features/multi_polygon_spec.rb +50 -0
- data/spec/geo_ruby/simple_features/point_spec.rb +356 -0
- data/spec/geo_ruby/simple_features/polygon_spec.rb +108 -0
- data/spec/geo_ruby_spec.rb +27 -0
- data/spec/spec.opts +6 -0
- data/spec/spec_helper.rb +65 -0
- metadata +162 -0
@@ -0,0 +1,157 @@
|
|
1
|
+
require 'geo_ruby/simple_features/geometry'
|
2
|
+
|
3
|
+
module GeoRuby
|
4
|
+
|
5
|
+
module SimpleFeatures
|
6
|
+
|
7
|
+
#Represents a polygon as an array of linear rings (see LinearRing). No check is performed regarding the validity of the geometries forming the polygon.
|
8
|
+
class Polygon < Geometry
|
9
|
+
#the list of rings forming the polygon
|
10
|
+
attr_reader :rings
|
11
|
+
|
12
|
+
def initialize(srid = DEFAULT_SRID,with_z=false,with_m=false)
|
13
|
+
super(srid,with_z,with_m)
|
14
|
+
@rings = []
|
15
|
+
end
|
16
|
+
|
17
|
+
#Delegate the unknown methods to the rings array
|
18
|
+
def method_missing(method_name,*args,&b)
|
19
|
+
@rings.send(method_name,*args,&b)
|
20
|
+
end
|
21
|
+
|
22
|
+
#Bounding box in 2D/3D. Returns an array of 2 points
|
23
|
+
def bounding_box
|
24
|
+
unless with_z
|
25
|
+
@rings[0].bounding_box
|
26
|
+
else
|
27
|
+
result = @rings[0].bounding_box #valid for x and y
|
28
|
+
max_z, min_z = result[1].z, result[0].z
|
29
|
+
1.upto(size - 1) do |index|
|
30
|
+
bbox = @rings[index].bounding_box
|
31
|
+
sw = bbox[0]
|
32
|
+
ne = bbox[1]
|
33
|
+
max_z = ne.z if ne.z > max_z
|
34
|
+
min_z = sw.z if sw.z < min_z
|
35
|
+
end
|
36
|
+
result[1].z, result[0].z = max_z, min_z
|
37
|
+
result
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def m_range
|
42
|
+
if with_m
|
43
|
+
max_m, min_m = -Float::MAX, Float::MAX
|
44
|
+
each do |lr|
|
45
|
+
lrmr = lr.m_range
|
46
|
+
max_m = lrmr[1] if lrmr[1] > max_m
|
47
|
+
min_m = lrmr[0] if lrmr[0] < min_m
|
48
|
+
end
|
49
|
+
[min_m,max_m]
|
50
|
+
else
|
51
|
+
[0,0]
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
#tests for other equality. The SRID is not taken into account.
|
56
|
+
def ==(other_polygon)
|
57
|
+
if other_polygon.class != self.class or
|
58
|
+
length != other_polygon.length
|
59
|
+
false
|
60
|
+
else
|
61
|
+
index=0
|
62
|
+
while index<length
|
63
|
+
return false if self[index] != other_polygon[index]
|
64
|
+
index+=1
|
65
|
+
end
|
66
|
+
true
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
#binary representation of a polygon, without the headers neccessary for a valid WKB string
|
71
|
+
def binary_representation(allow_z=true,allow_m=true)
|
72
|
+
rep = [length].pack("V")
|
73
|
+
each {|linear_ring| rep << linear_ring.binary_representation(allow_z,allow_m)}
|
74
|
+
rep
|
75
|
+
end
|
76
|
+
|
77
|
+
#WKB geometry type
|
78
|
+
def binary_geometry_type
|
79
|
+
3
|
80
|
+
end
|
81
|
+
|
82
|
+
#Text representation of a polygon
|
83
|
+
def text_representation(allow_z=true,allow_m=true)
|
84
|
+
@rings.collect{|line_string| "(" + line_string.text_representation(allow_z,allow_m) + ")" }.join(",")
|
85
|
+
end
|
86
|
+
|
87
|
+
#WKT geometry type
|
88
|
+
def text_geometry_type
|
89
|
+
"POLYGON"
|
90
|
+
end
|
91
|
+
|
92
|
+
#georss simple representation : outputs only the outer ring
|
93
|
+
def georss_simple_representation(options)
|
94
|
+
georss_ns = options[:georss_ns] || "georss"
|
95
|
+
geom_attr = options[:geom_attr]
|
96
|
+
"<#{georss_ns}:polygon#{geom_attr}>" + self[0].georss_poslist + "</#{georss_ns}:polygon>\n"
|
97
|
+
end
|
98
|
+
|
99
|
+
#georss w3c representation : outputs the first point of the outer ring
|
100
|
+
def georss_w3cgeo_representation(options)
|
101
|
+
w3cgeo_ns = options[:w3cgeo_ns] || "geo"
|
102
|
+
|
103
|
+
"<#{w3cgeo_ns}:lat>#{self[0][0].y}</#{w3cgeo_ns}:lat>\n<#{w3cgeo_ns}:long>#{self[0][0].x}</#{w3cgeo_ns}:long>\n"
|
104
|
+
end
|
105
|
+
#georss gml representation
|
106
|
+
def georss_gml_representation(options)
|
107
|
+
georss_ns = options[:georss_ns] || "georss"
|
108
|
+
gml_ns = options[:gml_ns] || "gml"
|
109
|
+
|
110
|
+
result = "<#{georss_ns}:where>\n<#{gml_ns}:Polygon>\n<#{gml_ns}:exterior>\n<#{gml_ns}:LinearRing>\n<#{gml_ns}:posList>\n" + self[0].georss_poslist + "\n</#{gml_ns}:posList>\n</#{gml_ns}:LinearRing>\n</#{gml_ns}:exterior>\n</#{gml_ns}:Polygon>\n</#{georss_ns}:where>\n"
|
111
|
+
end
|
112
|
+
|
113
|
+
#outputs the geometry in kml format : options are <tt>:id</tt>, <tt>:tesselate</tt>, <tt>:extrude</tt>,
|
114
|
+
#<tt>:altitude_mode</tt>. If the altitude_mode option is not present, the Z (if present) will not be output (since
|
115
|
+
#it won't be used by GE anyway: clampToGround is the default)
|
116
|
+
def kml_representation(options = {})
|
117
|
+
result = "<Polygon#{options[:id_attr]}>\n"
|
118
|
+
result += options[:geom_data] if options[:geom_data]
|
119
|
+
rings.each_with_index do |ring, i|
|
120
|
+
if i == 0
|
121
|
+
boundary = "outerBoundaryIs"
|
122
|
+
else
|
123
|
+
boundary = "innerBoundaryIs"
|
124
|
+
end
|
125
|
+
result += "<#{boundary}><LinearRing><coordinates>\n"
|
126
|
+
result += ring.kml_poslist(options)
|
127
|
+
result += "\n</coordinates></LinearRing></#{boundary}>\n"
|
128
|
+
end
|
129
|
+
result += "</Polygon>\n"
|
130
|
+
end
|
131
|
+
|
132
|
+
#creates a new polygon. Accepts an array of linear strings as argument
|
133
|
+
def self.from_linear_rings(linear_rings,srid = DEFAULT_SRID,with_z=false,with_m=false)
|
134
|
+
polygon = new(srid,with_z,with_m)
|
135
|
+
polygon.concat(linear_rings)
|
136
|
+
polygon
|
137
|
+
end
|
138
|
+
|
139
|
+
#creates a new polygon. Accepts a sequence of points as argument : ((x,y)....(x,y)),((x,y).....(x,y))
|
140
|
+
def self.from_coordinates(point_sequences,srid=DEFAULT_SRID,with_z=false,with_m=false)
|
141
|
+
polygon = new(srid,with_z,with_m)
|
142
|
+
polygon.concat( point_sequences.map {|points| LinearRing.from_coordinates(points,srid,with_z,with_m) } )
|
143
|
+
polygon
|
144
|
+
end
|
145
|
+
|
146
|
+
#creates a new polygon from a list of Points (pt1....ptn),(pti....ptj)
|
147
|
+
def self.from_points(point_sequences, srid=DEFAULT_SRID,with_z=false,with_m=false)
|
148
|
+
polygon = new(srid,with_z,with_m)
|
149
|
+
polygon.concat( point_sequences.map {|points| LinearRing.from_points(points,srid,with_z,with_m) } )
|
150
|
+
polygon
|
151
|
+
end
|
152
|
+
|
153
|
+
end
|
154
|
+
|
155
|
+
end
|
156
|
+
|
157
|
+
end
|
data/ppe-georuby.gemspec
ADDED
@@ -0,0 +1,133 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = %q{ppe-georuby}
|
8
|
+
s.version = "1.7.2"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["Guilhem Vellut", "Marcos Piccinini"]
|
12
|
+
s.date = %q{2010-04-04}
|
13
|
+
s.description = %q{GeoRuby provides geometric data types from the OGC 'Simple Features' specification.}
|
14
|
+
s.email = %q{x@nofxx.com}
|
15
|
+
s.extra_rdoc_files = [
|
16
|
+
"LICENSE",
|
17
|
+
"README.txt"
|
18
|
+
]
|
19
|
+
s.files = [
|
20
|
+
".gitignore",
|
21
|
+
"History.txt",
|
22
|
+
"LICENSE",
|
23
|
+
"README.txt",
|
24
|
+
"Rakefile",
|
25
|
+
"VERSION",
|
26
|
+
"lib/geo_ruby.rb",
|
27
|
+
"lib/geo_ruby/gpx.rb",
|
28
|
+
"lib/geo_ruby/gpx4r/gpx.rb",
|
29
|
+
"lib/geo_ruby/shp.rb",
|
30
|
+
"lib/geo_ruby/shp4r/dbf.rb",
|
31
|
+
"lib/geo_ruby/shp4r/shp.rb",
|
32
|
+
"lib/geo_ruby/simple_features/envelope.rb",
|
33
|
+
"lib/geo_ruby/simple_features/ewkb_parser.rb",
|
34
|
+
"lib/geo_ruby/simple_features/ewkt_parser.rb",
|
35
|
+
"lib/geo_ruby/simple_features/geometry.rb",
|
36
|
+
"lib/geo_ruby/simple_features/geometry_collection.rb",
|
37
|
+
"lib/geo_ruby/simple_features/geometry_factory.rb",
|
38
|
+
"lib/geo_ruby/simple_features/georss_parser.rb",
|
39
|
+
"lib/geo_ruby/simple_features/helper.rb",
|
40
|
+
"lib/geo_ruby/simple_features/line_string.rb",
|
41
|
+
"lib/geo_ruby/simple_features/linear_ring.rb",
|
42
|
+
"lib/geo_ruby/simple_features/multi_line_string.rb",
|
43
|
+
"lib/geo_ruby/simple_features/multi_point.rb",
|
44
|
+
"lib/geo_ruby/simple_features/multi_polygon.rb",
|
45
|
+
"lib/geo_ruby/simple_features/point.rb",
|
46
|
+
"lib/geo_ruby/simple_features/polygon.rb",
|
47
|
+
"ppe-georuby.gemspec",
|
48
|
+
"script/console",
|
49
|
+
"script/destroy",
|
50
|
+
"script/generate",
|
51
|
+
"script/txt2html",
|
52
|
+
"spec/data/gpx/fells_loop.gpx",
|
53
|
+
"spec/data/gpx/long.gpx",
|
54
|
+
"spec/data/gpx/long.kml",
|
55
|
+
"spec/data/gpx/long.nmea",
|
56
|
+
"spec/data/gpx/short.gpx",
|
57
|
+
"spec/data/gpx/short.kml",
|
58
|
+
"spec/data/gpx/tracktreks.gpx",
|
59
|
+
"spec/data/multipoint.dbf",
|
60
|
+
"spec/data/multipoint.shp",
|
61
|
+
"spec/data/multipoint.shx",
|
62
|
+
"spec/data/point.dbf",
|
63
|
+
"spec/data/point.shp",
|
64
|
+
"spec/data/point.shx",
|
65
|
+
"spec/data/polygon.dbf",
|
66
|
+
"spec/data/polygon.shp",
|
67
|
+
"spec/data/polygon.shx",
|
68
|
+
"spec/data/polyline.dbf",
|
69
|
+
"spec/data/polyline.shp",
|
70
|
+
"spec/data/polyline.shx",
|
71
|
+
"spec/geo_ruby/gpx4r/gpx_spec.rb",
|
72
|
+
"spec/geo_ruby/shp4r/shp_spec.rb",
|
73
|
+
"spec/geo_ruby/simple_features/envelope_spec.rb",
|
74
|
+
"spec/geo_ruby/simple_features/ewkb_parser_spec.rb",
|
75
|
+
"spec/geo_ruby/simple_features/ewkt_parser_spec.rb",
|
76
|
+
"spec/geo_ruby/simple_features/geometry_collection_spec.rb",
|
77
|
+
"spec/geo_ruby/simple_features/geometry_factory_spec.rb",
|
78
|
+
"spec/geo_ruby/simple_features/geometry_spec.rb",
|
79
|
+
"spec/geo_ruby/simple_features/georss_parser_spec.rb",
|
80
|
+
"spec/geo_ruby/simple_features/line_string_spec.rb",
|
81
|
+
"spec/geo_ruby/simple_features/linear_ring_spec.rb",
|
82
|
+
"spec/geo_ruby/simple_features/multi_line_string_spec.rb",
|
83
|
+
"spec/geo_ruby/simple_features/multi_point_spec.rb",
|
84
|
+
"spec/geo_ruby/simple_features/multi_polygon_spec.rb",
|
85
|
+
"spec/geo_ruby/simple_features/point_spec.rb",
|
86
|
+
"spec/geo_ruby/simple_features/polygon_spec.rb",
|
87
|
+
"spec/geo_ruby_spec.rb",
|
88
|
+
"spec/spec.opts",
|
89
|
+
"spec/spec_helper.rb"
|
90
|
+
]
|
91
|
+
s.homepage = %q{http://github.com/nofxx/georuby}
|
92
|
+
s.rdoc_options = ["--charset=UTF-8"]
|
93
|
+
s.require_paths = ["lib"]
|
94
|
+
s.rubygems_version = %q{1.3.6}
|
95
|
+
s.summary = %q{Ruby data holder for OGC Simple Features}
|
96
|
+
s.test_files = [
|
97
|
+
"spec/geo_ruby_spec.rb",
|
98
|
+
"spec/spec_helper.rb",
|
99
|
+
"spec/geo_ruby/gpx4r/gpx_spec.rb",
|
100
|
+
"spec/geo_ruby/shp4r/shp_spec.rb",
|
101
|
+
"spec/geo_ruby/simple_features/point_spec.rb",
|
102
|
+
"spec/geo_ruby/simple_features/geometry_factory_spec.rb",
|
103
|
+
"spec/geo_ruby/simple_features/envelope_spec.rb",
|
104
|
+
"spec/geo_ruby/simple_features/polygon_spec.rb",
|
105
|
+
"spec/geo_ruby/simple_features/line_string_spec.rb",
|
106
|
+
"spec/geo_ruby/simple_features/multi_line_string_spec.rb",
|
107
|
+
"spec/geo_ruby/simple_features/ewkt_parser_spec.rb",
|
108
|
+
"spec/geo_ruby/simple_features/ewkb_parser_spec.rb",
|
109
|
+
"spec/geo_ruby/simple_features/linear_ring_spec.rb",
|
110
|
+
"spec/geo_ruby/simple_features/geometry_collection_spec.rb",
|
111
|
+
"spec/geo_ruby/simple_features/multi_polygon_spec.rb",
|
112
|
+
"spec/geo_ruby/simple_features/multi_point_spec.rb",
|
113
|
+
"spec/geo_ruby/simple_features/georss_parser_spec.rb",
|
114
|
+
"spec/geo_ruby/simple_features/geometry_spec.rb"
|
115
|
+
]
|
116
|
+
|
117
|
+
if s.respond_to? :specification_version then
|
118
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
119
|
+
s.specification_version = 3
|
120
|
+
|
121
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
122
|
+
s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
|
123
|
+
s.add_development_dependency(%q<dbf>, [">= 1.1.2"])
|
124
|
+
else
|
125
|
+
s.add_dependency(%q<rspec>, [">= 1.2.9"])
|
126
|
+
s.add_dependency(%q<dbf>, [">= 1.1.2"])
|
127
|
+
end
|
128
|
+
else
|
129
|
+
s.add_dependency(%q<rspec>, [">= 1.2.9"])
|
130
|
+
s.add_dependency(%q<dbf>, [">= 1.1.2"])
|
131
|
+
end
|
132
|
+
end
|
133
|
+
|
data/script/console
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# File: script/console
|
3
|
+
irb = RUBY_PLATFORM =~ /(:?mswin|mingw)/ ? 'irb.bat' : 'irb'
|
4
|
+
|
5
|
+
libs = " -r irb/completion"
|
6
|
+
# Perhaps use a console_lib to store any extra methods I may want available in the cosole
|
7
|
+
# libs << " -r #{File.dirname(__FILE__) + '/../lib/console_lib/console_logger.rb'}"
|
8
|
+
libs << " -r #{File.dirname(__FILE__) + '/../lib/geo_ruby.rb'}"
|
9
|
+
puts "Loading geo_ruby gem"
|
10
|
+
exec "#{irb} #{libs} --simple-prompt"
|
data/script/destroy
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
|
3
|
+
|
4
|
+
begin
|
5
|
+
require 'rubigen'
|
6
|
+
rescue LoadError
|
7
|
+
require 'rubygems'
|
8
|
+
require 'rubigen'
|
9
|
+
end
|
10
|
+
require 'rubigen/scripts/destroy'
|
11
|
+
|
12
|
+
ARGV.shift if ['--help', '-h'].include?(ARGV[0])
|
13
|
+
RubiGen::SimpleFeatures.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
|
14
|
+
RubiGen::Scripts::Destroy.new.run(ARGV)
|
data/script/generate
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
|
3
|
+
|
4
|
+
begin
|
5
|
+
require 'rubigen'
|
6
|
+
rescue LoadError
|
7
|
+
require 'rubygems'
|
8
|
+
require 'rubigen'
|
9
|
+
end
|
10
|
+
require 'rubigen/scripts/generate'
|
11
|
+
|
12
|
+
ARGV.shift if ['--help', '-h'].include?(ARGV[0])
|
13
|
+
RubiGen::SimpleFeatures.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
|
14
|
+
RubiGen::Scripts::Generate.new.run(ARGV)
|
data/script/txt2html
ADDED
@@ -0,0 +1,82 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
GEM_NAME = 'geo_ruby' # what ppl will type to install your gem
|
4
|
+
RUBYFORGE_PROJECT = 'geo_ruby'
|
5
|
+
|
6
|
+
require 'rubygems'
|
7
|
+
begin
|
8
|
+
require 'newgem'
|
9
|
+
require 'rubyforge'
|
10
|
+
rescue LoadError
|
11
|
+
puts "\n\nGenerating the website requires the newgem RubyGem"
|
12
|
+
puts "Install: gem install newgem\n\n"
|
13
|
+
exit(1)
|
14
|
+
end
|
15
|
+
require 'redcloth'
|
16
|
+
require 'syntax/convertors/html'
|
17
|
+
require 'erb'
|
18
|
+
require File.dirname(__FILE__) + "/../lib/#{GEM_NAME}/version.rb"
|
19
|
+
|
20
|
+
version = GeoRuby::VERSION::STRING
|
21
|
+
download = "http://rubyforge.org/projects/#{RUBYFORGE_PROJECT}"
|
22
|
+
|
23
|
+
def rubyforge_project_id
|
24
|
+
RubyForge.new.autoconfig["group_ids"][RUBYFORGE_PROJECT]
|
25
|
+
end
|
26
|
+
|
27
|
+
class Fixnum
|
28
|
+
def ordinal
|
29
|
+
# teens
|
30
|
+
return 'th' if (10..19).include?(self % 100)
|
31
|
+
# others
|
32
|
+
case self % 10
|
33
|
+
when 1: return 'st'
|
34
|
+
when 2: return 'nd'
|
35
|
+
when 3: return 'rd'
|
36
|
+
else return 'th'
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
class Time
|
42
|
+
def pretty
|
43
|
+
return "#{mday}#{mday.ordinal} #{strftime('%B')} #{year}"
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
def convert_syntax(syntax, source)
|
48
|
+
return Syntax::Convertors::HTML.for_syntax(syntax).convert(source).gsub(%r!^<pre>|</pre>$!,'')
|
49
|
+
end
|
50
|
+
|
51
|
+
if ARGV.length >= 1
|
52
|
+
src, template = ARGV
|
53
|
+
template ||= File.join(File.dirname(__FILE__), '/../website/template.html.erb')
|
54
|
+
else
|
55
|
+
puts("Usage: #{File.split($0).last} source.txt [template.html.erb] > output.html")
|
56
|
+
exit!
|
57
|
+
end
|
58
|
+
|
59
|
+
template = ERB.new(File.open(template).read)
|
60
|
+
|
61
|
+
title = nil
|
62
|
+
body = nil
|
63
|
+
File.open(src) do |fsrc|
|
64
|
+
title_text = fsrc.readline
|
65
|
+
body_text_template = fsrc.read
|
66
|
+
body_text = ERB.new(body_text_template).result(binding)
|
67
|
+
syntax_items = []
|
68
|
+
body_text.gsub!(%r!<(pre|code)[^>]*?syntax=['"]([^'"]+)[^>]*>(.*?)</\1>!m){
|
69
|
+
ident = syntax_items.length
|
70
|
+
element, syntax, source = $1, $2, $3
|
71
|
+
syntax_items << "<#{element} class='syntax'>#{convert_syntax(syntax, source)}</#{element}>"
|
72
|
+
"syntax-temp-#{ident}"
|
73
|
+
}
|
74
|
+
title = RedCloth.new(title_text).to_html.gsub(%r!<.*?>!,'').strip
|
75
|
+
body = RedCloth.new(body_text).to_html
|
76
|
+
body.gsub!(%r!(?:<pre><code>)?syntax-temp-(\d+)(?:</code></pre>)?!){ syntax_items[$1.to_i] }
|
77
|
+
end
|
78
|
+
stat = File.stat(src)
|
79
|
+
created = stat.ctime
|
80
|
+
modified = stat.mtime
|
81
|
+
|
82
|
+
$stdout << template.result(binding)
|
@@ -0,0 +1,1077 @@
|
|
1
|
+
<?xml version="1.0"?>
|
2
|
+
<gpx
|
3
|
+
version="1.0"
|
4
|
+
creator="ExpertGPS 1.1 - http://www.topografix.com"
|
5
|
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
6
|
+
xmlns="http://www.topografix.com/GPX/1/0"
|
7
|
+
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
|
8
|
+
<time>2002-02-27T17:18:33Z</time>
|
9
|
+
<bounds minlat="42.401051" minlon="-71.126602" maxlat="42.468655" maxlon="-71.102973"/>
|
10
|
+
<wpt lat="42.438878" lon="-71.119277">
|
11
|
+
<ele>44.586548</ele>
|
12
|
+
<time>2001-11-28T21:05:28Z</time>
|
13
|
+
<name>5066</name>
|
14
|
+
<desc><![CDATA[5066]]></desc>
|
15
|
+
<sym>Crossing</sym>
|
16
|
+
<type><![CDATA[Crossing]]></type>
|
17
|
+
</wpt>
|
18
|
+
<wpt lat="42.439227" lon="-71.119689">
|
19
|
+
<ele>57.607200</ele>
|
20
|
+
<time>2001-06-02T03:26:55Z</time>
|
21
|
+
<name>5067</name>
|
22
|
+
<desc><![CDATA[5067]]></desc>
|
23
|
+
<sym>Dot</sym>
|
24
|
+
<type><![CDATA[Intersection]]></type>
|
25
|
+
</wpt>
|
26
|
+
<wpt lat="42.438917" lon="-71.116146">
|
27
|
+
<ele>44.826904</ele>
|
28
|
+
<time>2001-11-16T23:03:38Z</time>
|
29
|
+
<name>5096</name>
|
30
|
+
<desc><![CDATA[5096]]></desc>
|
31
|
+
<sym>Dot</sym>
|
32
|
+
<type><![CDATA[Dot]]></type>
|
33
|
+
</wpt>
|
34
|
+
<wpt lat="42.443904" lon="-71.122044">
|
35
|
+
<ele>50.594727</ele>
|
36
|
+
<time>2001-11-28T21:05:28Z</time>
|
37
|
+
<name>5142</name>
|
38
|
+
<desc><![CDATA[5142]]></desc>
|
39
|
+
<sym>Dot</sym>
|
40
|
+
<type><![CDATA[Dot]]></type>
|
41
|
+
</wpt>
|
42
|
+
<wpt lat="42.447298" lon="-71.121447">
|
43
|
+
<ele>127.711200</ele>
|
44
|
+
<time>2001-06-02T03:26:58Z</time>
|
45
|
+
<name>5156</name>
|
46
|
+
<desc><![CDATA[5156]]></desc>
|
47
|
+
<sym>Dot</sym>
|
48
|
+
<type><![CDATA[Intersection]]></type>
|
49
|
+
</wpt>
|
50
|
+
<wpt lat="42.454873" lon="-71.125094">
|
51
|
+
<ele>96.926400</ele>
|
52
|
+
<time>2001-06-02T03:26:59Z</time>
|
53
|
+
<name>5224</name>
|
54
|
+
<desc><![CDATA[5224]]></desc>
|
55
|
+
<sym>Dot</sym>
|
56
|
+
<type><![CDATA[Intersection]]></type>
|
57
|
+
</wpt>
|
58
|
+
<wpt lat="42.459079" lon="-71.124988">
|
59
|
+
<ele>82.600800</ele>
|
60
|
+
<time>2001-06-02T03:26:59Z</time>
|
61
|
+
<name>5229</name>
|
62
|
+
<desc><![CDATA[5229]]></desc>
|
63
|
+
<sym>Dot</sym>
|
64
|
+
<type><![CDATA[Intersection]]></type>
|
65
|
+
</wpt>
|
66
|
+
<wpt lat="42.456979" lon="-71.124474">
|
67
|
+
<ele>82.905600</ele>
|
68
|
+
<time>2001-06-02T03:26:59Z</time>
|
69
|
+
<name>5237</name>
|
70
|
+
<desc><![CDATA[5237]]></desc>
|
71
|
+
<sym>Dot</sym>
|
72
|
+
<type><![CDATA[Intersection]]></type>
|
73
|
+
</wpt>
|
74
|
+
<wpt lat="42.454401" lon="-71.120990">
|
75
|
+
<ele>66.696655</ele>
|
76
|
+
<time>2001-11-28T21:05:28Z</time>
|
77
|
+
<name>5254</name>
|
78
|
+
<desc><![CDATA[5254]]></desc>
|
79
|
+
<sym>Dot</sym>
|
80
|
+
<type><![CDATA[Dot]]></type>
|
81
|
+
</wpt>
|
82
|
+
<wpt lat="42.451442" lon="-71.121746">
|
83
|
+
<ele>74.627442</ele>
|
84
|
+
<time>2001-11-07T23:53:41Z</time>
|
85
|
+
<name>5258</name>
|
86
|
+
<desc><![CDATA[5258]]></desc>
|
87
|
+
<sym>Dot</sym>
|
88
|
+
<type><![CDATA[Dot]]></type>
|
89
|
+
</wpt>
|
90
|
+
<wpt lat="42.454404" lon="-71.120660">
|
91
|
+
<ele>65.254761</ele>
|
92
|
+
<time>2001-11-28T21:05:28Z</time>
|
93
|
+
<name>5264</name>
|
94
|
+
<desc><![CDATA[5264]]></desc>
|
95
|
+
<sym>Dot</sym>
|
96
|
+
<type><![CDATA[Dot]]></type>
|
97
|
+
</wpt>
|
98
|
+
<wpt lat="42.457761" lon="-71.121045">
|
99
|
+
<ele>77.419200</ele>
|
100
|
+
<time>2001-06-02T03:27:00Z</time>
|
101
|
+
<name>526708</name>
|
102
|
+
<desc><![CDATA[526708]]></desc>
|
103
|
+
<sym>Dot</sym>
|
104
|
+
<type><![CDATA[Intersection]]></type>
|
105
|
+
</wpt>
|
106
|
+
<wpt lat="42.457089" lon="-71.120313">
|
107
|
+
<ele>74.676000</ele>
|
108
|
+
<time>2001-06-02T03:27:00Z</time>
|
109
|
+
<name>526750</name>
|
110
|
+
<desc><![CDATA[526750]]></desc>
|
111
|
+
<sym>Dot</sym>
|
112
|
+
<type><![CDATA[Intersection]]></type>
|
113
|
+
</wpt>
|
114
|
+
<wpt lat="42.456592" lon="-71.119676">
|
115
|
+
<ele>78.713135</ele>
|
116
|
+
<time>2001-11-07T23:53:41Z</time>
|
117
|
+
<name>527614</name>
|
118
|
+
<desc><![CDATA[527614]]></desc>
|
119
|
+
<sym>Dot</sym>
|
120
|
+
<type><![CDATA[Dot]]></type>
|
121
|
+
</wpt>
|
122
|
+
<wpt lat="42.456252" lon="-71.119356">
|
123
|
+
<ele>78.713135</ele>
|
124
|
+
<time>2001-11-07T23:53:41Z</time>
|
125
|
+
<name>527631</name>
|
126
|
+
<desc><![CDATA[527631]]></desc>
|
127
|
+
<sym>Dot</sym>
|
128
|
+
<type><![CDATA[Dot]]></type>
|
129
|
+
</wpt>
|
130
|
+
<wpt lat="42.458148" lon="-71.119135">
|
131
|
+
<ele>68.275200</ele>
|
132
|
+
<time>2001-06-02T03:27:00Z</time>
|
133
|
+
<name>5278</name>
|
134
|
+
<desc><![CDATA[5278]]></desc>
|
135
|
+
<sym>Dot</sym>
|
136
|
+
<type><![CDATA[Intersection]]></type>
|
137
|
+
</wpt>
|
138
|
+
<wpt lat="42.459377" lon="-71.117693">
|
139
|
+
<ele>64.008000</ele>
|
140
|
+
<time>2001-06-02T03:27:01Z</time>
|
141
|
+
<name>5289</name>
|
142
|
+
<desc><![CDATA[5289]]></desc>
|
143
|
+
<sym>Dot</sym>
|
144
|
+
<type><![CDATA[Intersection]]></type>
|
145
|
+
</wpt>
|
146
|
+
<wpt lat="42.464183" lon="-71.119828">
|
147
|
+
<ele>52.997925</ele>
|
148
|
+
<time>2001-11-28T21:05:28Z</time>
|
149
|
+
<name>5374FIRE</name>
|
150
|
+
<desc><![CDATA[5374FIRE]]></desc>
|
151
|
+
<sym>Dot</sym>
|
152
|
+
<type><![CDATA[Dot]]></type>
|
153
|
+
</wpt>
|
154
|
+
<wpt lat="42.465650" lon="-71.119399">
|
155
|
+
<ele>56.388000</ele>
|
156
|
+
<time>2001-06-02T03:27:02Z</time>
|
157
|
+
<name>5376</name>
|
158
|
+
<desc><![CDATA[5376]]></desc>
|
159
|
+
<sym>Dot</sym>
|
160
|
+
<type><![CDATA[Intersection]]></type>
|
161
|
+
</wpt>
|
162
|
+
<wpt lat="42.439018" lon="-71.114456">
|
163
|
+
<ele>56.388000</ele>
|
164
|
+
<time>2001-06-02T03:26:55Z</time>
|
165
|
+
<name>6006</name>
|
166
|
+
<desc><![CDATA[600698]]></desc>
|
167
|
+
<sym>Dot</sym>
|
168
|
+
<type><![CDATA[Intersection]]></type>
|
169
|
+
</wpt>
|
170
|
+
<wpt lat="42.438594" lon="-71.114803">
|
171
|
+
<ele>46.028564</ele>
|
172
|
+
<time>2001-11-28T21:05:28Z</time>
|
173
|
+
<name>6006BLUE</name>
|
174
|
+
<desc><![CDATA[6006BLUE]]></desc>
|
175
|
+
<sym>Dot</sym>
|
176
|
+
<type><![CDATA[Dot]]></type>
|
177
|
+
</wpt>
|
178
|
+
<wpt lat="42.436757" lon="-71.113223">
|
179
|
+
<ele>37.616943</ele>
|
180
|
+
<time>2001-11-28T21:05:28Z</time>
|
181
|
+
<name>6014MEADOW</name>
|
182
|
+
<desc><![CDATA[6014MEADOW]]></desc>
|
183
|
+
<sym>Dot</sym>
|
184
|
+
<type><![CDATA[Dot]]></type>
|
185
|
+
</wpt>
|
186
|
+
<wpt lat="42.441754" lon="-71.113220">
|
187
|
+
<ele>56.388000</ele>
|
188
|
+
<time>2001-06-02T03:26:55Z</time>
|
189
|
+
<name>6029</name>
|
190
|
+
<desc><![CDATA[6029]]></desc>
|
191
|
+
<sym>Dot</sym>
|
192
|
+
<type><![CDATA[Intersection]]></type>
|
193
|
+
</wpt>
|
194
|
+
<wpt lat="42.436243" lon="-71.109075">
|
195
|
+
<ele>50.292000</ele>
|
196
|
+
<time>2001-06-02T03:27:05Z</time>
|
197
|
+
<name>6053</name>
|
198
|
+
<desc><![CDATA[6053]]></desc>
|
199
|
+
<sym>Dot</sym>
|
200
|
+
<type><![CDATA[Intersection]]></type>
|
201
|
+
</wpt>
|
202
|
+
<wpt lat="42.439250" lon="-71.107500">
|
203
|
+
<ele>25.603200</ele>
|
204
|
+
<time>2001-06-02T03:26:57Z</time>
|
205
|
+
<name>6066</name>
|
206
|
+
<desc><![CDATA[6066]]></desc>
|
207
|
+
<sym>Dot</sym>
|
208
|
+
<type><![CDATA[Intersection]]></type>
|
209
|
+
</wpt>
|
210
|
+
<wpt lat="42.439764" lon="-71.107582">
|
211
|
+
<ele>34.442400</ele>
|
212
|
+
<time>2001-06-02T03:26:57Z</time>
|
213
|
+
<name>6067</name>
|
214
|
+
<desc><![CDATA[6067]]></desc>
|
215
|
+
<sym>Dot</sym>
|
216
|
+
<type><![CDATA[Intersection]]></type>
|
217
|
+
</wpt>
|
218
|
+
<wpt lat="42.434766" lon="-71.105874">
|
219
|
+
<ele>30.480000</ele>
|
220
|
+
<time>2001-06-02T03:26:57Z</time>
|
221
|
+
<name>6071</name>
|
222
|
+
<desc><![CDATA[6071]]></desc>
|
223
|
+
<sym>Dot</sym>
|
224
|
+
<type><![CDATA[Intersection]]></type>
|
225
|
+
</wpt>
|
226
|
+
<wpt lat="42.433304" lon="-71.106599">
|
227
|
+
<ele>15.240000</ele>
|
228
|
+
<time>2001-06-02T03:26:56Z</time>
|
229
|
+
<name>6073</name>
|
230
|
+
<desc><![CDATA[6073]]></desc>
|
231
|
+
<sym>Dot</sym>
|
232
|
+
<type><![CDATA[Intersection]]></type>
|
233
|
+
</wpt>
|
234
|
+
<wpt lat="42.437338" lon="-71.104772">
|
235
|
+
<ele>37.795200</ele>
|
236
|
+
<time>2001-06-02T03:26:57Z</time>
|
237
|
+
<name>6084</name>
|
238
|
+
<desc><![CDATA[6084]]></desc>
|
239
|
+
<sym>Dot</sym>
|
240
|
+
<type><![CDATA[Intersection]]></type>
|
241
|
+
</wpt>
|
242
|
+
<wpt lat="42.442196" lon="-71.110975">
|
243
|
+
<ele>64.008000</ele>
|
244
|
+
<time>2001-06-02T03:26:55Z</time>
|
245
|
+
<name>6130</name>
|
246
|
+
<desc><![CDATA[6130]]></desc>
|
247
|
+
<sym>Dot</sym>
|
248
|
+
<type><![CDATA[Intersection]]></type>
|
249
|
+
</wpt>
|
250
|
+
<wpt lat="42.442981" lon="-71.111441">
|
251
|
+
<ele>64.008000</ele>
|
252
|
+
<time>2001-06-02T03:26:58Z</time>
|
253
|
+
<name>6131</name>
|
254
|
+
<desc><![CDATA[6131]]></desc>
|
255
|
+
<sym>Dot</sym>
|
256
|
+
<type><![CDATA[Intersection]]></type>
|
257
|
+
</wpt>
|
258
|
+
<wpt lat="42.444773" lon="-71.108882">
|
259
|
+
<ele>62.788800</ele>
|
260
|
+
<time>2001-06-02T03:27:05Z</time>
|
261
|
+
<name>6153</name>
|
262
|
+
<desc><![CDATA[6153]]></desc>
|
263
|
+
<sym>Dot</sym>
|
264
|
+
<type><![CDATA[Intersection]]></type>
|
265
|
+
</wpt>
|
266
|
+
<wpt lat="42.443592" lon="-71.106301">
|
267
|
+
<ele>55.473600</ele>
|
268
|
+
<time>2001-06-02T03:27:05Z</time>
|
269
|
+
<name>6171</name>
|
270
|
+
<desc><![CDATA[6171]]></desc>
|
271
|
+
<sym>Dot</sym>
|
272
|
+
<type><![CDATA[Intersection]]></type>
|
273
|
+
</wpt>
|
274
|
+
<wpt lat="42.447804" lon="-71.106624">
|
275
|
+
<ele>62.484000</ele>
|
276
|
+
<time>2001-06-02T03:27:04Z</time>
|
277
|
+
<name>6176</name>
|
278
|
+
<desc><![CDATA[6176]]></desc>
|
279
|
+
<sym>Dot</sym>
|
280
|
+
<type><![CDATA[Intersection]]></type>
|
281
|
+
</wpt>
|
282
|
+
<wpt lat="42.448448" lon="-71.106158">
|
283
|
+
<ele>62.179200</ele>
|
284
|
+
<time>2001-06-02T03:27:04Z</time>
|
285
|
+
<name>6177</name>
|
286
|
+
<desc><![CDATA[6177]]></desc>
|
287
|
+
<sym>Dot</sym>
|
288
|
+
<type><![CDATA[Intersection]]></type>
|
289
|
+
</wpt>
|
290
|
+
<wpt lat="42.453415" lon="-71.106783">
|
291
|
+
<ele>69.799200</ele>
|
292
|
+
<time>2001-06-02T03:26:55Z</time>
|
293
|
+
<name>6272</name>
|
294
|
+
<desc><![CDATA[6272]]></desc>
|
295
|
+
<sym>Dot</sym>
|
296
|
+
<type><![CDATA[Intersection]]></type>
|
297
|
+
</wpt>
|
298
|
+
<wpt lat="42.453434" lon="-71.107253">
|
299
|
+
<ele>73.152000</ele>
|
300
|
+
<time>2001-06-02T03:26:56Z</time>
|
301
|
+
<name>6272</name>
|
302
|
+
<desc><![CDATA[6272]]></desc>
|
303
|
+
<sym>Dot</sym>
|
304
|
+
<type><![CDATA[Intersection]]></type>
|
305
|
+
</wpt>
|
306
|
+
<wpt lat="42.458298" lon="-71.106771">
|
307
|
+
<ele>70.104000</ele>
|
308
|
+
<time>2001-06-02T03:27:04Z</time>
|
309
|
+
<name>6278</name>
|
310
|
+
<desc><![CDATA[6278]]></desc>
|
311
|
+
<sym>Dot</sym>
|
312
|
+
<type><![CDATA[Intersection]]></type>
|
313
|
+
</wpt>
|
314
|
+
<wpt lat="42.451430" lon="-71.105413">
|
315
|
+
<ele>57.564209</ele>
|
316
|
+
<time>2001-11-16T23:03:38Z</time>
|
317
|
+
<name>6280</name>
|
318
|
+
<desc><![CDATA[6280]]></desc>
|
319
|
+
<sym>Dot</sym>
|
320
|
+
<type><![CDATA[Dot]]></type>
|
321
|
+
</wpt>
|
322
|
+
<wpt lat="42.453845" lon="-71.105206">
|
323
|
+
<ele>66.696655</ele>
|
324
|
+
<time>2001-11-16T23:03:38Z</time>
|
325
|
+
<name>6283</name>
|
326
|
+
<desc><![CDATA[6283]]></desc>
|
327
|
+
<sym>Dot</sym>
|
328
|
+
<type><![CDATA[Dot]]></type>
|
329
|
+
</wpt>
|
330
|
+
<wpt lat="42.459986" lon="-71.106170">
|
331
|
+
<ele>72.945191</ele>
|
332
|
+
<time>2001-11-16T23:03:38Z</time>
|
333
|
+
<name>6289</name>
|
334
|
+
<desc><![CDATA[6289]]></desc>
|
335
|
+
<sym>Dot</sym>
|
336
|
+
<type><![CDATA[Dot]]></type>
|
337
|
+
</wpt>
|
338
|
+
<wpt lat="42.457616" lon="-71.105116">
|
339
|
+
<ele>72.847200</ele>
|
340
|
+
<time>2001-06-02T03:27:04Z</time>
|
341
|
+
<name>6297</name>
|
342
|
+
<desc><![CDATA[6297]]></desc>
|
343
|
+
<sym>Dot</sym>
|
344
|
+
<type><![CDATA[Intersection]]></type>
|
345
|
+
</wpt>
|
346
|
+
<wpt lat="42.467110" lon="-71.113574">
|
347
|
+
<ele>53.644800</ele>
|
348
|
+
<time>2001-06-02T03:27:02Z</time>
|
349
|
+
<name>6328</name>
|
350
|
+
<desc><![CDATA[6328]]></desc>
|
351
|
+
<sym>Dot</sym>
|
352
|
+
<type><![CDATA[Intersection]]></type>
|
353
|
+
</wpt>
|
354
|
+
<wpt lat="42.464202" lon="-71.109863">
|
355
|
+
<ele>43.891200</ele>
|
356
|
+
<time>2001-06-02T03:27:03Z</time>
|
357
|
+
<name>6354</name>
|
358
|
+
<desc><![CDATA[6354]]></desc>
|
359
|
+
<sym>Dot</sym>
|
360
|
+
<type><![CDATA[Intersection]]></type>
|
361
|
+
</wpt>
|
362
|
+
<wpt lat="42.466459" lon="-71.110067">
|
363
|
+
<ele>48.768000</ele>
|
364
|
+
<time>2001-06-02T03:27:02Z</time>
|
365
|
+
<name>635722</name>
|
366
|
+
<desc><![CDATA[635722]]></desc>
|
367
|
+
<sym>Dot</sym>
|
368
|
+
<type><![CDATA[Intersection]]></type>
|
369
|
+
</wpt>
|
370
|
+
<wpt lat="42.466557" lon="-71.109410">
|
371
|
+
<ele>49.072800</ele>
|
372
|
+
<time>2001-06-02T03:27:02Z</time>
|
373
|
+
<name>635783</name>
|
374
|
+
<desc><![CDATA[635783]]></desc>
|
375
|
+
<sym>Dot</sym>
|
376
|
+
<type><![CDATA[Intersection]]></type>
|
377
|
+
</wpt>
|
378
|
+
<wpt lat="42.463495" lon="-71.107117">
|
379
|
+
<ele>62.484000</ele>
|
380
|
+
<time>2001-06-02T03:27:03Z</time>
|
381
|
+
<name>6373</name>
|
382
|
+
<desc><![CDATA[6373]]></desc>
|
383
|
+
<sym>Dot</sym>
|
384
|
+
<type><![CDATA[Intersection]]></type>
|
385
|
+
</wpt>
|
386
|
+
<wpt lat="42.401051" lon="-71.110241">
|
387
|
+
<ele>3.962400</ele>
|
388
|
+
<time>2001-06-02T03:26:56Z</time>
|
389
|
+
<name>6634</name>
|
390
|
+
<desc><![CDATA[6634]]></desc>
|
391
|
+
<sym>Dot</sym>
|
392
|
+
<type><![CDATA[Intersection]]></type>
|
393
|
+
</wpt>
|
394
|
+
<wpt lat="42.432621" lon="-71.106532">
|
395
|
+
<ele>13.411200</ele>
|
396
|
+
<time>2001-06-02T03:26:56Z</time>
|
397
|
+
<name>6979</name>
|
398
|
+
<desc><![CDATA[6979]]></desc>
|
399
|
+
<sym>Dot</sym>
|
400
|
+
<type><![CDATA[Intersection]]></type>
|
401
|
+
</wpt>
|
402
|
+
<wpt lat="42.431033" lon="-71.107883">
|
403
|
+
<ele>34.012085</ele>
|
404
|
+
<time>2001-11-16T23:03:38Z</time>
|
405
|
+
<name>6997</name>
|
406
|
+
<desc><![CDATA[6997]]></desc>
|
407
|
+
<sym>Dot</sym>
|
408
|
+
<type><![CDATA[Dot]]></type>
|
409
|
+
</wpt>
|
410
|
+
<wpt lat="42.465687" lon="-71.107360">
|
411
|
+
<ele>87.782400</ele>
|
412
|
+
<time>2001-06-02T03:27:03Z</time>
|
413
|
+
<name>BEAR HILL</name>
|
414
|
+
<cmt>BEAR HILL TOWER</cmt>
|
415
|
+
<desc><![CDATA[Bear Hill Tower]]></desc>
|
416
|
+
<sym>Tall Tower</sym>
|
417
|
+
<type><![CDATA[Tower]]></type>
|
418
|
+
</wpt>
|
419
|
+
<wpt lat="42.430950" lon="-71.107628">
|
420
|
+
<ele>23.469600</ele>
|
421
|
+
<time>2001-06-02T00:18:15Z</time>
|
422
|
+
<name>BELLEVUE</name>
|
423
|
+
<cmt>BELLEVUE</cmt>
|
424
|
+
<desc><![CDATA[Bellevue Parking Lot]]></desc>
|
425
|
+
<sym>Parking Area</sym>
|
426
|
+
<type><![CDATA[Parking]]></type>
|
427
|
+
</wpt>
|
428
|
+
<wpt lat="42.438666" lon="-71.114079">
|
429
|
+
<ele>43.384766</ele>
|
430
|
+
<time>2001-11-28T21:05:28Z</time>
|
431
|
+
<name>6016</name>
|
432
|
+
<desc><![CDATA[Bike Loop Connector]]></desc>
|
433
|
+
<sym>Trailhead</sym>
|
434
|
+
<type><![CDATA[Intersection]]></type>
|
435
|
+
</wpt>
|
436
|
+
<wpt lat="42.456469" lon="-71.124651">
|
437
|
+
<ele>89.916000</ele>
|
438
|
+
<time>2001-06-02T03:26:59Z</time>
|
439
|
+
<name>5236BRIDGE</name>
|
440
|
+
<desc><![CDATA[Bridge]]></desc>
|
441
|
+
<sym>Bridge</sym>
|
442
|
+
<type><![CDATA[Bridge]]></type>
|
443
|
+
</wpt>
|
444
|
+
<wpt lat="42.465759" lon="-71.119815">
|
445
|
+
<ele>55.473600</ele>
|
446
|
+
<time>2001-06-02T03:27:01Z</time>
|
447
|
+
<name>5376BRIDGE</name>
|
448
|
+
<desc><![CDATA[Bridge]]></desc>
|
449
|
+
<sym>Bridge</sym>
|
450
|
+
<type><![CDATA[Bridge]]></type>
|
451
|
+
</wpt>
|
452
|
+
<wpt lat="42.442993" lon="-71.105878">
|
453
|
+
<ele>52.730400</ele>
|
454
|
+
<time>2001-06-02T03:27:05Z</time>
|
455
|
+
<name>6181CROSS</name>
|
456
|
+
<desc><![CDATA[Crossing]]></desc>
|
457
|
+
<sym>Crossing</sym>
|
458
|
+
<type><![CDATA[Crossing]]></type>
|
459
|
+
</wpt>
|
460
|
+
<wpt lat="42.435472" lon="-71.109664">
|
461
|
+
<ele>45.110400</ele>
|
462
|
+
<time>2001-06-02T03:27:05Z</time>
|
463
|
+
<name>6042CROSS</name>
|
464
|
+
<desc><![CDATA[Crossing]]></desc>
|
465
|
+
<sym>Crossing</sym>
|
466
|
+
<type><![CDATA[Crossing]]></type>
|
467
|
+
</wpt>
|
468
|
+
<wpt lat="42.458516" lon="-71.103646">
|
469
|
+
<name>DARKHOLLPO</name>
|
470
|
+
<desc><![CDATA[Dark Hollow Pond]]></desc>
|
471
|
+
<sym>Fishing Area</sym>
|
472
|
+
</wpt>
|
473
|
+
<wpt lat="42.443109" lon="-71.112675">
|
474
|
+
<ele>56.083200</ele>
|
475
|
+
<time>2001-06-02T03:26:57Z</time>
|
476
|
+
<name>6121DEAD</name>
|
477
|
+
<desc><![CDATA[Dead End]]></desc>
|
478
|
+
<sym>Danger Area</sym>
|
479
|
+
<type><![CDATA[Dead End]]></type>
|
480
|
+
</wpt>
|
481
|
+
<wpt lat="42.449866" lon="-71.119298">
|
482
|
+
<ele>117.043200</ele>
|
483
|
+
<time>2001-06-02T03:26:59Z</time>
|
484
|
+
<name>5179DEAD</name>
|
485
|
+
<desc><![CDATA[Dead End]]></desc>
|
486
|
+
<sym>Danger Area</sym>
|
487
|
+
<type><![CDATA[Dead End]]></type>
|
488
|
+
</wpt>
|
489
|
+
<wpt lat="42.459629" lon="-71.116524">
|
490
|
+
<ele>69.494400</ele>
|
491
|
+
<time>2001-06-02T03:27:01Z</time>
|
492
|
+
<name>5299DEAD</name>
|
493
|
+
<desc><![CDATA[Dead End]]></desc>
|
494
|
+
<sym>Danger Area</sym>
|
495
|
+
<type><![CDATA[Dead End]]></type>
|
496
|
+
</wpt>
|
497
|
+
<wpt lat="42.465485" lon="-71.119148">
|
498
|
+
<ele>56.997600</ele>
|
499
|
+
<time>2001-06-02T03:27:02Z</time>
|
500
|
+
<name>5376DEAD</name>
|
501
|
+
<desc><![CDATA[Dead End]]></desc>
|
502
|
+
<sym>Danger Area</sym>
|
503
|
+
<type><![CDATA[Dead End]]></type>
|
504
|
+
</wpt>
|
505
|
+
<wpt lat="42.462776" lon="-71.109986">
|
506
|
+
<ele>46.939200</ele>
|
507
|
+
<time>2001-06-02T03:27:03Z</time>
|
508
|
+
<name>6353DEAD</name>
|
509
|
+
<desc><![CDATA[Dead End]]></desc>
|
510
|
+
<sym>Danger Area</sym>
|
511
|
+
<type><![CDATA[Dead End]]></type>
|
512
|
+
</wpt>
|
513
|
+
<wpt lat="42.446793" lon="-71.108784">
|
514
|
+
<ele>61.264800</ele>
|
515
|
+
<time>2001-06-02T03:27:04Z</time>
|
516
|
+
<name>6155DEAD</name>
|
517
|
+
<desc><![CDATA[Dead End]]></desc>
|
518
|
+
<sym>Danger Area</sym>
|
519
|
+
<type><![CDATA[Dead End]]></type>
|
520
|
+
</wpt>
|
521
|
+
<wpt lat="42.451204" lon="-71.126602">
|
522
|
+
<ele>110.947200</ele>
|
523
|
+
<time>2001-06-02T03:26:59Z</time>
|
524
|
+
<name>GATE14</name>
|
525
|
+
<desc><![CDATA[Gate 14]]></desc>
|
526
|
+
<sym>Truck Stop</sym>
|
527
|
+
<type><![CDATA[Road]]></type>
|
528
|
+
</wpt>
|
529
|
+
<wpt lat="42.458499" lon="-71.122078">
|
530
|
+
<ele>77.724000</ele>
|
531
|
+
<time>2001-06-02T03:27:00Z</time>
|
532
|
+
<name>GATE16</name>
|
533
|
+
<desc><![CDATA[Gate 16]]></desc>
|
534
|
+
<sym>Truck Stop</sym>
|
535
|
+
<type><![CDATA[Road]]></type>
|
536
|
+
</wpt>
|
537
|
+
<wpt lat="42.459376" lon="-71.119238">
|
538
|
+
<ele>65.836800</ele>
|
539
|
+
<time>2001-06-02T03:27:01Z</time>
|
540
|
+
<name>GATE17</name>
|
541
|
+
<desc><![CDATA[Gate 17]]></desc>
|
542
|
+
<sym>Truck Stop</sym>
|
543
|
+
<type><![CDATA[Road]]></type>
|
544
|
+
</wpt>
|
545
|
+
<wpt lat="42.466353" lon="-71.119240">
|
546
|
+
<ele>57.302400</ele>
|
547
|
+
<time>2001-06-02T03:27:02Z</time>
|
548
|
+
<name>GATE19</name>
|
549
|
+
<desc><![CDATA[Gate 19]]></desc>
|
550
|
+
<sym>Truck Stop</sym>
|
551
|
+
<type><![CDATA[Road]]></type>
|
552
|
+
</wpt>
|
553
|
+
<wpt lat="42.468655" lon="-71.107697">
|
554
|
+
<ele>49.377600</ele>
|
555
|
+
<time>2001-06-02T03:27:03Z</time>
|
556
|
+
<name>GATE21</name>
|
557
|
+
<desc><![CDATA[Gate 21]]></desc>
|
558
|
+
<sym>Truck Stop</sym>
|
559
|
+
<type><![CDATA[Road]]></type>
|
560
|
+
</wpt>
|
561
|
+
<wpt lat="42.456718" lon="-71.102973">
|
562
|
+
<ele>81.076800</ele>
|
563
|
+
<time>2001-06-02T03:27:03Z</time>
|
564
|
+
<name>GATE24</name>
|
565
|
+
<desc><![CDATA[Gate 24]]></desc>
|
566
|
+
<sym>Truck Stop</sym>
|
567
|
+
<type><![CDATA[Road]]></type>
|
568
|
+
</wpt>
|
569
|
+
<wpt lat="42.430847" lon="-71.107690">
|
570
|
+
<ele>21.515015</ele>
|
571
|
+
<time>2001-11-28T21:05:28Z</time>
|
572
|
+
<name>GATE5</name>
|
573
|
+
<desc><![CDATA[Gate 5]]></desc>
|
574
|
+
<sym>Truck Stop</sym>
|
575
|
+
<type><![CDATA[Truck Stop]]></type>
|
576
|
+
</wpt>
|
577
|
+
<wpt lat="42.431240" lon="-71.109236">
|
578
|
+
<ele>26.561890</ele>
|
579
|
+
<time>2001-11-07T23:53:41Z</time>
|
580
|
+
<name>GATE6</name>
|
581
|
+
<desc><![CDATA[Gate 6]]></desc>
|
582
|
+
<sym>Trailhead</sym>
|
583
|
+
<type><![CDATA[Trail Head]]></type>
|
584
|
+
</wpt>
|
585
|
+
<wpt lat="42.439502" lon="-71.106556">
|
586
|
+
<ele>32.004000</ele>
|
587
|
+
<time>2001-06-02T00:18:16Z</time>
|
588
|
+
<name>6077LOGS</name>
|
589
|
+
<desc><![CDATA[Log Crossing]]></desc>
|
590
|
+
<sym>Amusement Park</sym>
|
591
|
+
<type><![CDATA[Obstacle]]></type>
|
592
|
+
</wpt>
|
593
|
+
<wpt lat="42.449765" lon="-71.122320">
|
594
|
+
<ele>119.809082</ele>
|
595
|
+
<time>2001-11-07T23:53:41Z</time>
|
596
|
+
<name>5148NANEPA</name>
|
597
|
+
<desc><![CDATA[Nanepashemet Road Crossing]]></desc>
|
598
|
+
<sym>Trailhead</sym>
|
599
|
+
<type><![CDATA[Trail Head]]></type>
|
600
|
+
</wpt>
|
601
|
+
<wpt lat="42.457388" lon="-71.119845">
|
602
|
+
<ele>73.761600</ele>
|
603
|
+
<time>2001-06-02T03:27:00Z</time>
|
604
|
+
<name>5267OBSTAC</name>
|
605
|
+
<desc><![CDATA[Obstacle]]></desc>
|
606
|
+
<sym>Amusement Park</sym>
|
607
|
+
<type><![CDATA[Obstacle]]></type>
|
608
|
+
</wpt>
|
609
|
+
<wpt lat="42.434980" lon="-71.109942">
|
610
|
+
<ele>45.307495</ele>
|
611
|
+
<time>2001-11-07T23:53:41Z</time>
|
612
|
+
<name>PANTHRCAVE</name>
|
613
|
+
<desc><![CDATA[Panther Cave]]></desc>
|
614
|
+
<sym>Tunnel</sym>
|
615
|
+
<type><![CDATA[Tunnel]]></type>
|
616
|
+
</wpt>
|
617
|
+
<wpt lat="42.453256" lon="-71.121211">
|
618
|
+
<ele>77.992066</ele>
|
619
|
+
<time>2001-11-07T23:53:41Z</time>
|
620
|
+
<name>5252PURPLE</name>
|
621
|
+
<desc><![CDATA[Purple Rock Hill]]></desc>
|
622
|
+
<sym>Summit</sym>
|
623
|
+
<type><![CDATA[Summit]]></type>
|
624
|
+
</wpt>
|
625
|
+
<wpt lat="42.457734" lon="-71.117481">
|
626
|
+
<ele>67.970400</ele>
|
627
|
+
<time>2001-06-02T03:27:01Z</time>
|
628
|
+
<name>5287WATER</name>
|
629
|
+
<desc><![CDATA[Reservoir]]></desc>
|
630
|
+
<sym>Swimming Area</sym>
|
631
|
+
<type><![CDATA[Reservoir]]></type>
|
632
|
+
</wpt>
|
633
|
+
<wpt lat="42.459278" lon="-71.124574">
|
634
|
+
<ele>81.076800</ele>
|
635
|
+
<time>2001-06-02T03:27:00Z</time>
|
636
|
+
<name>5239ROAD</name>
|
637
|
+
<desc><![CDATA[Road]]></desc>
|
638
|
+
<sym>Truck Stop</sym>
|
639
|
+
<type><![CDATA[Road]]></type>
|
640
|
+
</wpt>
|
641
|
+
<wpt lat="42.458782" lon="-71.118991">
|
642
|
+
<ele>67.360800</ele>
|
643
|
+
<time>2001-06-02T03:27:01Z</time>
|
644
|
+
<name>5278ROAD</name>
|
645
|
+
<desc><![CDATA[Road]]></desc>
|
646
|
+
<sym>Truck Stop</sym>
|
647
|
+
<type><![CDATA[Road]]></type>
|
648
|
+
</wpt>
|
649
|
+
<wpt lat="42.439993" lon="-71.120925">
|
650
|
+
<ele>53.949600</ele>
|
651
|
+
<time>2001-06-02T00:18:14Z</time>
|
652
|
+
<name>5058ROAD</name>
|
653
|
+
<cmt>ROAD CROSSING</cmt>
|
654
|
+
<desc><![CDATA[Road Crossing]]></desc>
|
655
|
+
<sym>Dot</sym>
|
656
|
+
<type><![CDATA[Road Crossing]]></type>
|
657
|
+
</wpt>
|
658
|
+
<wpt lat="42.453415" lon="-71.106782">
|
659
|
+
<ele>69.799200</ele>
|
660
|
+
<time>2001-06-02T00:18:13Z</time>
|
661
|
+
<name>SHEEPFOLD</name>
|
662
|
+
<desc><![CDATA[Sheepfold Parking Lot]]></desc>
|
663
|
+
<sym>Parking Area</sym>
|
664
|
+
<type><![CDATA[Parking]]></type>
|
665
|
+
</wpt>
|
666
|
+
<wpt lat="42.455956" lon="-71.107483">
|
667
|
+
<ele>64.008000</ele>
|
668
|
+
<time>2001-06-02T03:27:04Z</time>
|
669
|
+
<name>SOAPBOX</name>
|
670
|
+
<desc><![CDATA[Soap Box Derby Track]]></desc>
|
671
|
+
<sym>Cemetery</sym>
|
672
|
+
<type><![CDATA[Intersection]]></type>
|
673
|
+
</wpt>
|
674
|
+
<wpt lat="42.465913" lon="-71.119328">
|
675
|
+
<ele>64.533692</ele>
|
676
|
+
<time>2001-11-07T23:53:41Z</time>
|
677
|
+
<name>5376STREAM</name>
|
678
|
+
<desc><![CDATA[Stream Crossing]]></desc>
|
679
|
+
<sym>Bridge</sym>
|
680
|
+
<type><![CDATA[Bridge]]></type>
|
681
|
+
</wpt>
|
682
|
+
<wpt lat="42.445359" lon="-71.122845">
|
683
|
+
<ele>61.649902</ele>
|
684
|
+
<time>2001-11-28T21:05:28Z</time>
|
685
|
+
<name>5144SUMMIT</name>
|
686
|
+
<desc><![CDATA[Summit]]></desc>
|
687
|
+
<sym>Summit</sym>
|
688
|
+
<type><![CDATA[Summit]]></type>
|
689
|
+
</wpt>
|
690
|
+
<wpt lat="42.441727" lon="-71.121676">
|
691
|
+
<ele>67.360800</ele>
|
692
|
+
<time>2001-06-02T00:18:16Z</time>
|
693
|
+
<name>5150TANK</name>
|
694
|
+
<cmt>WATER TANK</cmt>
|
695
|
+
<desc><![CDATA[Water Tank]]></desc>
|
696
|
+
<sym>Museum</sym>
|
697
|
+
<type><![CDATA[Water Tank]]></type>
|
698
|
+
</wpt>
|
699
|
+
<rte>
|
700
|
+
<name>BELLEVUE</name>
|
701
|
+
<desc><![CDATA[Bike Loop Bellevue]]></desc>
|
702
|
+
<number>1</number>
|
703
|
+
<rtept lat="42.430950" lon="-71.107628">
|
704
|
+
<ele>23.469600</ele>
|
705
|
+
<time>2001-06-02T00:18:15Z</time>
|
706
|
+
<name>BELLEVUE</name>
|
707
|
+
<cmt>BELLEVUE</cmt>
|
708
|
+
<desc><![CDATA[Bellevue Parking Lot]]></desc>
|
709
|
+
<sym>Parking Area</sym>
|
710
|
+
<type><![CDATA[Parking]]></type>
|
711
|
+
</rtept>
|
712
|
+
<rtept lat="42.431240" lon="-71.109236">
|
713
|
+
<ele>26.561890</ele>
|
714
|
+
<time>2001-11-07T23:53:41Z</time>
|
715
|
+
<name>GATE6</name>
|
716
|
+
<desc><![CDATA[Gate 6]]></desc>
|
717
|
+
<sym>Trailhead</sym>
|
718
|
+
<type><![CDATA[Trail Head]]></type>
|
719
|
+
</rtept>
|
720
|
+
<rtept lat="42.434980" lon="-71.109942">
|
721
|
+
<ele>45.307495</ele>
|
722
|
+
<time>2001-11-07T23:53:41Z</time>
|
723
|
+
<name>PANTHRCAVE</name>
|
724
|
+
<desc><![CDATA[Panther Cave]]></desc>
|
725
|
+
<sym>Tunnel</sym>
|
726
|
+
<type><![CDATA[Tunnel]]></type>
|
727
|
+
</rtept>
|
728
|
+
<rtept lat="42.436757" lon="-71.113223">
|
729
|
+
<ele>37.616943</ele>
|
730
|
+
<time>2001-11-28T21:05:28Z</time>
|
731
|
+
<name>6014MEADOW</name>
|
732
|
+
<desc><![CDATA[6014MEADOW]]></desc>
|
733
|
+
<sym>Dot</sym>
|
734
|
+
<type><![CDATA[Dot]]></type>
|
735
|
+
</rtept>
|
736
|
+
<rtept lat="42.439018" lon="-71.114456">
|
737
|
+
<ele>56.388000</ele>
|
738
|
+
<time>2001-06-02T03:26:55Z</time>
|
739
|
+
<name>6006</name>
|
740
|
+
<desc><![CDATA[600698]]></desc>
|
741
|
+
<sym>Dot</sym>
|
742
|
+
<type><![CDATA[Intersection]]></type>
|
743
|
+
</rtept>
|
744
|
+
<rtept lat="42.438594" lon="-71.114803">
|
745
|
+
<ele>46.028564</ele>
|
746
|
+
<time>2001-11-28T21:05:28Z</time>
|
747
|
+
<name>6006BLUE</name>
|
748
|
+
<desc><![CDATA[6006BLUE]]></desc>
|
749
|
+
<sym>Dot</sym>
|
750
|
+
<type><![CDATA[Dot]]></type>
|
751
|
+
</rtept>
|
752
|
+
<rtept lat="42.438917" lon="-71.116146">
|
753
|
+
<ele>44.826904</ele>
|
754
|
+
<time>2001-11-16T23:03:38Z</time>
|
755
|
+
<name>5096</name>
|
756
|
+
<desc><![CDATA[5096]]></desc>
|
757
|
+
<sym>Dot</sym>
|
758
|
+
<type><![CDATA[Dot]]></type>
|
759
|
+
</rtept>
|
760
|
+
<rtept lat="42.438878" lon="-71.119277">
|
761
|
+
<ele>44.586548</ele>
|
762
|
+
<time>2001-11-28T21:05:28Z</time>
|
763
|
+
<name>5066</name>
|
764
|
+
<desc><![CDATA[5066]]></desc>
|
765
|
+
<sym>Crossing</sym>
|
766
|
+
<type><![CDATA[Crossing]]></type>
|
767
|
+
</rtept>
|
768
|
+
<rtept lat="42.439227" lon="-71.119689">
|
769
|
+
<ele>57.607200</ele>
|
770
|
+
<time>2001-06-02T03:26:55Z</time>
|
771
|
+
<name>5067</name>
|
772
|
+
<desc><![CDATA[5067]]></desc>
|
773
|
+
<sym>Dot</sym>
|
774
|
+
<type><![CDATA[Intersection]]></type>
|
775
|
+
</rtept>
|
776
|
+
<rtept lat="42.439993" lon="-71.120925">
|
777
|
+
<ele>53.949600</ele>
|
778
|
+
<time>2001-06-02T00:18:14Z</time>
|
779
|
+
<name>5058ROAD</name>
|
780
|
+
<cmt>ROAD CROSSING</cmt>
|
781
|
+
<desc><![CDATA[Road Crossing]]></desc>
|
782
|
+
<sym>Dot</sym>
|
783
|
+
<type><![CDATA[Road Crossing]]></type>
|
784
|
+
</rtept>
|
785
|
+
<rtept lat="42.441727" lon="-71.121676">
|
786
|
+
<ele>67.360800</ele>
|
787
|
+
<time>2001-06-02T00:18:16Z</time>
|
788
|
+
<name>5150TANK</name>
|
789
|
+
<cmt>WATER TANK</cmt>
|
790
|
+
<desc><![CDATA[Water Tank]]></desc>
|
791
|
+
<sym>Museum</sym>
|
792
|
+
<type><![CDATA[Water Tank]]></type>
|
793
|
+
</rtept>
|
794
|
+
<rtept lat="42.443904" lon="-71.122044">
|
795
|
+
<ele>50.594727</ele>
|
796
|
+
<time>2001-11-28T21:05:28Z</time>
|
797
|
+
<name>5142</name>
|
798
|
+
<desc><![CDATA[5142]]></desc>
|
799
|
+
<sym>Dot</sym>
|
800
|
+
<type><![CDATA[Dot]]></type>
|
801
|
+
</rtept>
|
802
|
+
<rtept lat="42.445359" lon="-71.122845">
|
803
|
+
<ele>61.649902</ele>
|
804
|
+
<time>2001-11-28T21:05:28Z</time>
|
805
|
+
<name>5144SUMMIT</name>
|
806
|
+
<desc><![CDATA[Summit]]></desc>
|
807
|
+
<sym>Summit</sym>
|
808
|
+
<type><![CDATA[Summit]]></type>
|
809
|
+
</rtept>
|
810
|
+
<rtept lat="42.447298" lon="-71.121447">
|
811
|
+
<ele>127.711200</ele>
|
812
|
+
<time>2001-06-02T03:26:58Z</time>
|
813
|
+
<name>5156</name>
|
814
|
+
<desc><![CDATA[5156]]></desc>
|
815
|
+
<sym>Dot</sym>
|
816
|
+
<type><![CDATA[Intersection]]></type>
|
817
|
+
</rtept>
|
818
|
+
<rtept lat="42.449765" lon="-71.122320">
|
819
|
+
<ele>119.809082</ele>
|
820
|
+
<time>2001-11-07T23:53:41Z</time>
|
821
|
+
<name>5148NANEPA</name>
|
822
|
+
<desc><![CDATA[Nanepashemet Road Crossing]]></desc>
|
823
|
+
<sym>Trailhead</sym>
|
824
|
+
<type><![CDATA[Trail Head]]></type>
|
825
|
+
</rtept>
|
826
|
+
<rtept lat="42.451442" lon="-71.121746">
|
827
|
+
<ele>74.627442</ele>
|
828
|
+
<time>2001-11-07T23:53:41Z</time>
|
829
|
+
<name>5258</name>
|
830
|
+
<desc><![CDATA[5258]]></desc>
|
831
|
+
<sym>Dot</sym>
|
832
|
+
<type><![CDATA[Dot]]></type>
|
833
|
+
</rtept>
|
834
|
+
<rtept lat="42.453256" lon="-71.121211">
|
835
|
+
<ele>77.992066</ele>
|
836
|
+
<time>2001-11-07T23:53:41Z</time>
|
837
|
+
<name>5252PURPLE</name>
|
838
|
+
<desc><![CDATA[Purple Rock Hill]]></desc>
|
839
|
+
<sym>Summit</sym>
|
840
|
+
<type><![CDATA[Summit]]></type>
|
841
|
+
</rtept>
|
842
|
+
<rtept lat="42.456252" lon="-71.119356">
|
843
|
+
<ele>78.713135</ele>
|
844
|
+
<time>2001-11-07T23:53:41Z</time>
|
845
|
+
<name>527631</name>
|
846
|
+
<desc><![CDATA[527631]]></desc>
|
847
|
+
<sym>Dot</sym>
|
848
|
+
<type><![CDATA[Dot]]></type>
|
849
|
+
</rtept>
|
850
|
+
<rtept lat="42.456592" lon="-71.119676">
|
851
|
+
<ele>78.713135</ele>
|
852
|
+
<time>2001-11-07T23:53:41Z</time>
|
853
|
+
<name>527614</name>
|
854
|
+
<desc><![CDATA[527614]]></desc>
|
855
|
+
<sym>Dot</sym>
|
856
|
+
<type><![CDATA[Dot]]></type>
|
857
|
+
</rtept>
|
858
|
+
<rtept lat="42.457388" lon="-71.119845">
|
859
|
+
<ele>73.761600</ele>
|
860
|
+
<time>2001-06-02T03:27:00Z</time>
|
861
|
+
<name>5267OBSTAC</name>
|
862
|
+
<desc><![CDATA[Obstacle]]></desc>
|
863
|
+
<sym>Amusement Park</sym>
|
864
|
+
<type><![CDATA[Obstacle]]></type>
|
865
|
+
</rtept>
|
866
|
+
<rtept lat="42.458148" lon="-71.119135">
|
867
|
+
<ele>68.275200</ele>
|
868
|
+
<time>2001-06-02T03:27:00Z</time>
|
869
|
+
<name>5278</name>
|
870
|
+
<desc><![CDATA[5278]]></desc>
|
871
|
+
<sym>Dot</sym>
|
872
|
+
<type><![CDATA[Intersection]]></type>
|
873
|
+
</rtept>
|
874
|
+
<rtept lat="42.459377" lon="-71.117693">
|
875
|
+
<ele>64.008000</ele>
|
876
|
+
<time>2001-06-02T03:27:01Z</time>
|
877
|
+
<name>5289</name>
|
878
|
+
<desc><![CDATA[5289]]></desc>
|
879
|
+
<sym>Dot</sym>
|
880
|
+
<type><![CDATA[Intersection]]></type>
|
881
|
+
</rtept>
|
882
|
+
<rtept lat="42.464183" lon="-71.119828">
|
883
|
+
<ele>52.997925</ele>
|
884
|
+
<time>2001-11-28T21:05:28Z</time>
|
885
|
+
<name>5374FIRE</name>
|
886
|
+
<desc><![CDATA[5374FIRE]]></desc>
|
887
|
+
<sym>Dot</sym>
|
888
|
+
<type><![CDATA[Dot]]></type>
|
889
|
+
</rtept>
|
890
|
+
<rtept lat="42.465650" lon="-71.119399">
|
891
|
+
<ele>56.388000</ele>
|
892
|
+
<time>2001-06-02T03:27:02Z</time>
|
893
|
+
<name>5376</name>
|
894
|
+
<desc><![CDATA[5376]]></desc>
|
895
|
+
<sym>Dot</sym>
|
896
|
+
<type><![CDATA[Intersection]]></type>
|
897
|
+
</rtept>
|
898
|
+
<rtept lat="42.465913" lon="-71.119328">
|
899
|
+
<ele>64.533692</ele>
|
900
|
+
<time>2001-11-07T23:53:41Z</time>
|
901
|
+
<name>5376STREAM</name>
|
902
|
+
<desc><![CDATA[Stream Crossing]]></desc>
|
903
|
+
<sym>Bridge</sym>
|
904
|
+
<type><![CDATA[Bridge]]></type>
|
905
|
+
</rtept>
|
906
|
+
<rtept lat="42.467110" lon="-71.113574">
|
907
|
+
<ele>53.644800</ele>
|
908
|
+
<time>2001-06-02T03:27:02Z</time>
|
909
|
+
<name>6328</name>
|
910
|
+
<desc><![CDATA[6328]]></desc>
|
911
|
+
<sym>Dot</sym>
|
912
|
+
<type><![CDATA[Intersection]]></type>
|
913
|
+
</rtept>
|
914
|
+
<rtept lat="42.466459" lon="-71.110067">
|
915
|
+
<ele>48.768000</ele>
|
916
|
+
<time>2001-06-02T03:27:02Z</time>
|
917
|
+
<name>635722</name>
|
918
|
+
<desc><![CDATA[635722]]></desc>
|
919
|
+
<sym>Dot</sym>
|
920
|
+
<type><![CDATA[Intersection]]></type>
|
921
|
+
</rtept>
|
922
|
+
<rtept lat="42.466557" lon="-71.109410">
|
923
|
+
<ele>49.072800</ele>
|
924
|
+
<time>2001-06-02T03:27:02Z</time>
|
925
|
+
<name>635783</name>
|
926
|
+
<desc><![CDATA[635783]]></desc>
|
927
|
+
<sym>Dot</sym>
|
928
|
+
<type><![CDATA[Intersection]]></type>
|
929
|
+
</rtept>
|
930
|
+
<rtept lat="42.463495" lon="-71.107117">
|
931
|
+
<ele>62.484000</ele>
|
932
|
+
<time>2001-06-02T03:27:03Z</time>
|
933
|
+
<name>6373</name>
|
934
|
+
<desc><![CDATA[6373]]></desc>
|
935
|
+
<sym>Dot</sym>
|
936
|
+
<type><![CDATA[Intersection]]></type>
|
937
|
+
</rtept>
|
938
|
+
<rtept lat="42.465687" lon="-71.107360">
|
939
|
+
<ele>87.782400</ele>
|
940
|
+
<time>2001-06-02T03:27:03Z</time>
|
941
|
+
<name>BEAR HILL</name>
|
942
|
+
<cmt>BEAR HILL TOWER</cmt>
|
943
|
+
<desc><![CDATA[Bear Hill Tower]]></desc>
|
944
|
+
<sym>Tall Tower</sym>
|
945
|
+
<type><![CDATA[Tower]]></type>
|
946
|
+
</rtept>
|
947
|
+
<rtept lat="42.459986" lon="-71.106170">
|
948
|
+
<ele>72.945191</ele>
|
949
|
+
<time>2001-11-16T23:03:38Z</time>
|
950
|
+
<name>6289</name>
|
951
|
+
<desc><![CDATA[6289]]></desc>
|
952
|
+
<sym>Dot</sym>
|
953
|
+
<type><![CDATA[Dot]]></type>
|
954
|
+
</rtept>
|
955
|
+
<rtept lat="42.457616" lon="-71.105116">
|
956
|
+
<ele>72.847200</ele>
|
957
|
+
<time>2001-06-02T03:27:04Z</time>
|
958
|
+
<name>6297</name>
|
959
|
+
<desc><![CDATA[6297]]></desc>
|
960
|
+
<sym>Dot</sym>
|
961
|
+
<type><![CDATA[Intersection]]></type>
|
962
|
+
</rtept>
|
963
|
+
<rtept lat="42.453845" lon="-71.105206">
|
964
|
+
<ele>66.696655</ele>
|
965
|
+
<time>2001-11-16T23:03:38Z</time>
|
966
|
+
<name>6283</name>
|
967
|
+
<desc><![CDATA[6283]]></desc>
|
968
|
+
<sym>Dot</sym>
|
969
|
+
<type><![CDATA[Dot]]></type>
|
970
|
+
</rtept>
|
971
|
+
<rtept lat="42.451430" lon="-71.105413">
|
972
|
+
<ele>57.564209</ele>
|
973
|
+
<time>2001-11-16T23:03:38Z</time>
|
974
|
+
<name>6280</name>
|
975
|
+
<desc><![CDATA[6280]]></desc>
|
976
|
+
<sym>Dot</sym>
|
977
|
+
<type><![CDATA[Dot]]></type>
|
978
|
+
</rtept>
|
979
|
+
<rtept lat="42.448448" lon="-71.106158">
|
980
|
+
<ele>62.179200</ele>
|
981
|
+
<time>2001-06-02T03:27:04Z</time>
|
982
|
+
<name>6177</name>
|
983
|
+
<desc><![CDATA[6177]]></desc>
|
984
|
+
<sym>Dot</sym>
|
985
|
+
<type><![CDATA[Intersection]]></type>
|
986
|
+
</rtept>
|
987
|
+
<rtept lat="42.447804" lon="-71.106624">
|
988
|
+
<ele>62.484000</ele>
|
989
|
+
<time>2001-06-02T03:27:04Z</time>
|
990
|
+
<name>6176</name>
|
991
|
+
<desc><![CDATA[6176]]></desc>
|
992
|
+
<sym>Dot</sym>
|
993
|
+
<type><![CDATA[Intersection]]></type>
|
994
|
+
</rtept>
|
995
|
+
<rtept lat="42.444773" lon="-71.108882">
|
996
|
+
<ele>62.788800</ele>
|
997
|
+
<time>2001-06-02T03:27:05Z</time>
|
998
|
+
<name>6153</name>
|
999
|
+
<desc><![CDATA[6153]]></desc>
|
1000
|
+
<sym>Dot</sym>
|
1001
|
+
<type><![CDATA[Intersection]]></type>
|
1002
|
+
</rtept>
|
1003
|
+
<rtept lat="42.443592" lon="-71.106301">
|
1004
|
+
<ele>55.473600</ele>
|
1005
|
+
<time>2001-06-02T03:27:05Z</time>
|
1006
|
+
<name>6171</name>
|
1007
|
+
<desc><![CDATA[6171]]></desc>
|
1008
|
+
<sym>Dot</sym>
|
1009
|
+
<type><![CDATA[Intersection]]></type>
|
1010
|
+
</rtept>
|
1011
|
+
<rtept lat="42.442981" lon="-71.111441">
|
1012
|
+
<ele>64.008000</ele>
|
1013
|
+
<time>2001-06-02T03:26:58Z</time>
|
1014
|
+
<name>6131</name>
|
1015
|
+
<desc><![CDATA[6131]]></desc>
|
1016
|
+
<sym>Dot</sym>
|
1017
|
+
<type><![CDATA[Intersection]]></type>
|
1018
|
+
</rtept>
|
1019
|
+
<rtept lat="42.442196" lon="-71.110975">
|
1020
|
+
<ele>64.008000</ele>
|
1021
|
+
<time>2001-06-02T03:26:55Z</time>
|
1022
|
+
<name>6130</name>
|
1023
|
+
<desc><![CDATA[6130]]></desc>
|
1024
|
+
<sym>Dot</sym>
|
1025
|
+
<type><![CDATA[Intersection]]></type>
|
1026
|
+
</rtept>
|
1027
|
+
<rtept lat="42.441754" lon="-71.113220">
|
1028
|
+
<ele>56.388000</ele>
|
1029
|
+
<time>2001-06-02T03:26:55Z</time>
|
1030
|
+
<name>6029</name>
|
1031
|
+
<desc><![CDATA[6029]]></desc>
|
1032
|
+
<sym>Dot</sym>
|
1033
|
+
<type><![CDATA[Intersection]]></type>
|
1034
|
+
</rtept>
|
1035
|
+
<rtept lat="42.439018" lon="-71.114456">
|
1036
|
+
<ele>56.388000</ele>
|
1037
|
+
<time>2001-06-02T03:26:55Z</time>
|
1038
|
+
<name>6006</name>
|
1039
|
+
<desc><![CDATA[600698]]></desc>
|
1040
|
+
<sym>Dot</sym>
|
1041
|
+
<type><![CDATA[Intersection]]></type>
|
1042
|
+
</rtept>
|
1043
|
+
<rtept lat="42.436757" lon="-71.113223">
|
1044
|
+
<ele>37.616943</ele>
|
1045
|
+
<time>2001-11-28T21:05:28Z</time>
|
1046
|
+
<name>6014MEADOW</name>
|
1047
|
+
<desc><![CDATA[6014MEADOW]]></desc>
|
1048
|
+
<sym>Dot</sym>
|
1049
|
+
<type><![CDATA[Dot]]></type>
|
1050
|
+
</rtept>
|
1051
|
+
<rtept lat="42.434980" lon="-71.109942">
|
1052
|
+
<ele>45.307495</ele>
|
1053
|
+
<time>2001-11-07T23:53:41Z</time>
|
1054
|
+
<name>PANTHRCAVE</name>
|
1055
|
+
<desc><![CDATA[Panther Cave]]></desc>
|
1056
|
+
<sym>Tunnel</sym>
|
1057
|
+
<type><![CDATA[Tunnel]]></type>
|
1058
|
+
</rtept>
|
1059
|
+
<rtept lat="42.431240" lon="-71.109236">
|
1060
|
+
<ele>26.561890</ele>
|
1061
|
+
<time>2001-11-07T23:53:41Z</time>
|
1062
|
+
<name>GATE6</name>
|
1063
|
+
<desc><![CDATA[Gate 6]]></desc>
|
1064
|
+
<sym>Trailhead</sym>
|
1065
|
+
<type><![CDATA[Trail Head]]></type>
|
1066
|
+
</rtept>
|
1067
|
+
<rtept lat="42.430950" lon="-71.107628">
|
1068
|
+
<ele>23.469600</ele>
|
1069
|
+
<time>2001-06-02T00:18:15Z</time>
|
1070
|
+
<name>BELLEVUE</name>
|
1071
|
+
<cmt>BELLEVUE</cmt>
|
1072
|
+
<desc><![CDATA[Bellevue Parking Lot]]></desc>
|
1073
|
+
<sym>Parking Area</sym>
|
1074
|
+
<type><![CDATA[Parking]]></type>
|
1075
|
+
</rtept>
|
1076
|
+
</rte>
|
1077
|
+
</gpx>
|