georuby 1.9.3

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.
Files changed (75) hide show
  1. data/Gemfile +8 -0
  2. data/Gemfile.lock +29 -0
  3. data/History.txt +4 -0
  4. data/LICENSE +21 -0
  5. data/README.rdoc +184 -0
  6. data/Rakefile +48 -0
  7. data/VERSION +1 -0
  8. data/georuby.gemspec +128 -0
  9. data/lib/geo_ruby.rb +23 -0
  10. data/lib/geo_ruby/geojson.rb +129 -0
  11. data/lib/geo_ruby/georss.rb +133 -0
  12. data/lib/geo_ruby/gpx.rb +1 -0
  13. data/lib/geo_ruby/gpx4r/gpx.rb +118 -0
  14. data/lib/geo_ruby/shp.rb +1 -0
  15. data/lib/geo_ruby/shp4r/dbf.rb +42 -0
  16. data/lib/geo_ruby/shp4r/shp.rb +718 -0
  17. data/lib/geo_ruby/simple_features/envelope.rb +167 -0
  18. data/lib/geo_ruby/simple_features/ewkb_parser.rb +218 -0
  19. data/lib/geo_ruby/simple_features/ewkt_parser.rb +336 -0
  20. data/lib/geo_ruby/simple_features/geometry.rb +236 -0
  21. data/lib/geo_ruby/simple_features/geometry_collection.rb +144 -0
  22. data/lib/geo_ruby/simple_features/geometry_factory.rb +81 -0
  23. data/lib/geo_ruby/simple_features/helper.rb +18 -0
  24. data/lib/geo_ruby/simple_features/line_string.rb +228 -0
  25. data/lib/geo_ruby/simple_features/linear_ring.rb +34 -0
  26. data/lib/geo_ruby/simple_features/multi_line_string.rb +63 -0
  27. data/lib/geo_ruby/simple_features/multi_point.rb +58 -0
  28. data/lib/geo_ruby/simple_features/multi_polygon.rb +64 -0
  29. data/lib/geo_ruby/simple_features/point.rb +381 -0
  30. data/lib/geo_ruby/simple_features/polygon.rb +175 -0
  31. data/nofxx-georuby.gemspec +149 -0
  32. data/spec/data/geojson/feature_collection.json +34 -0
  33. data/spec/data/georss/atom.xml +21 -0
  34. data/spec/data/georss/gml.xml +40 -0
  35. data/spec/data/georss/w3c.xml +22 -0
  36. data/spec/data/gpx/fells_loop.gpx +1077 -0
  37. data/spec/data/gpx/long.gpx +1642 -0
  38. data/spec/data/gpx/long.kml +31590 -0
  39. data/spec/data/gpx/long.nmea +2220 -0
  40. data/spec/data/gpx/short.gpx +13634 -0
  41. data/spec/data/gpx/short.kml +130 -0
  42. data/spec/data/gpx/tracktreks.gpx +706 -0
  43. data/spec/data/multipoint.dbf +0 -0
  44. data/spec/data/multipoint.shp +0 -0
  45. data/spec/data/multipoint.shx +0 -0
  46. data/spec/data/point.dbf +0 -0
  47. data/spec/data/point.shp +0 -0
  48. data/spec/data/point.shx +0 -0
  49. data/spec/data/polygon.dbf +0 -0
  50. data/spec/data/polygon.shp +0 -0
  51. data/spec/data/polygon.shx +0 -0
  52. data/spec/data/polyline.dbf +0 -0
  53. data/spec/data/polyline.shp +0 -0
  54. data/spec/data/polyline.shx +0 -0
  55. data/spec/geo_ruby/geojson_spec.rb +147 -0
  56. data/spec/geo_ruby/georss.rb +218 -0
  57. data/spec/geo_ruby/georss_spec.rb +14 -0
  58. data/spec/geo_ruby/gpx4r/gpx_spec.rb +106 -0
  59. data/spec/geo_ruby/shp4r/shp_spec.rb +239 -0
  60. data/spec/geo_ruby/simple_features/envelope_spec.rb +47 -0
  61. data/spec/geo_ruby/simple_features/ewkb_parser_spec.rb +158 -0
  62. data/spec/geo_ruby/simple_features/ewkt_parser_spec.rb +179 -0
  63. data/spec/geo_ruby/simple_features/geometry_collection_spec.rb +55 -0
  64. data/spec/geo_ruby/simple_features/geometry_factory_spec.rb +11 -0
  65. data/spec/geo_ruby/simple_features/geometry_spec.rb +32 -0
  66. data/spec/geo_ruby/simple_features/line_string_spec.rb +259 -0
  67. data/spec/geo_ruby/simple_features/linear_ring_spec.rb +24 -0
  68. data/spec/geo_ruby/simple_features/multi_line_string_spec.rb +54 -0
  69. data/spec/geo_ruby/simple_features/multi_point_spec.rb +35 -0
  70. data/spec/geo_ruby/simple_features/multi_polygon_spec.rb +50 -0
  71. data/spec/geo_ruby/simple_features/point_spec.rb +356 -0
  72. data/spec/geo_ruby/simple_features/polygon_spec.rb +122 -0
  73. data/spec/geo_ruby_spec.rb +27 -0
  74. data/spec/spec_helper.rb +73 -0
  75. metadata +228 -0
@@ -0,0 +1,27 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ # Time to add your specs!
4
+ # http://rspec.info/
5
+ describe "GeoRuby Stuff" do
6
+
7
+ it "should instantiate Geometry" do
8
+ @geo = GeoRuby::SimpleFeatures::Geometry.new
9
+ @geo.class.should eql(Geometry)
10
+ end
11
+
12
+ it "should instantiate from SimpleFeatures for compatibility" do
13
+ @geo = GeoRuby::SimpleFeatures::Geometry.new
14
+ @geo.class.should eql(Geometry)
15
+ end
16
+
17
+ it "should instantiate Point" do
18
+ @point = Point.new
19
+ @point.should be_instance_of(Point)
20
+ end
21
+
22
+ it "should instantiate Line" do
23
+ @line = LineString.new
24
+ @line.should be_instance_of(LineString)
25
+ end
26
+
27
+ end
@@ -0,0 +1,73 @@
1
+ require 'rubygems'
2
+
3
+ # Must require active_spport/core_ext/object and then json/pure
4
+ # or the json module gets clobbered and geojson output
5
+ # becomes invalid... ie. it never calls class specific to_json
6
+ #require 'active_support/core_ext/object'
7
+ #require 'json/pure'
8
+
9
+ # begin
10
+ # require 'spec'
11
+ # rescue LoadError
12
+ require 'rspec'
13
+ #end
14
+
15
+ $:.unshift(File.dirname(__FILE__) + '/../lib')
16
+ require 'geo_ruby'
17
+ require 'geo_ruby/shp'
18
+ require 'geo_ruby/gpx'
19
+ require 'geo_ruby/geojson'
20
+ require 'geo_ruby/georss'
21
+
22
+ include GeoRuby
23
+ include SimpleFeatures
24
+
25
+ module GeorubyMatchers
26
+
27
+ class BeGeometric
28
+
29
+ def matches?(actual)
30
+ actual.ancestors.include?(actual) || actual.kind_of?("Geometry")
31
+ end
32
+
33
+ def failure_message; "expected #{@actual.inspect} to be some geom"; end
34
+ end
35
+
36
+ class BeAPoint
37
+ include RSpec::Matchers
38
+
39
+ def initialize(expect=nil)
40
+ @expect = expect
41
+ end
42
+
43
+ def matches?(actual)
44
+ if @expect
45
+ [:x, :y, :z, :m].each_with_index do |c, i|
46
+ next unless val = @expect[i]
47
+ if val.kind_of? Numeric
48
+ actual.send(c).should be_within(0.1).of(val)
49
+ else
50
+ actual.send(c).should eql(val)
51
+ end
52
+ end
53
+ end
54
+ actual.should be_instance_of(Point)
55
+ end
56
+
57
+ def failure_message; "expected #{@expect} but received #{@actual.inspect}"; end
58
+ def negative_failure_message; "expected something else then '#{@expect}' but got '#{@actual}'"; end
59
+ end
60
+
61
+ def be_a_point(*args)
62
+ args.empty? ? BeAPoint.new : BeAPoint.new(args)
63
+ end
64
+
65
+ def be_geometric
66
+ BeGeometric.new
67
+ end
68
+ end
69
+
70
+ RSpec.configure do |config|
71
+ config.include GeorubyMatchers
72
+ end
73
+
metadata ADDED
@@ -0,0 +1,228 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: georuby
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 1
7
+ - 9
8
+ - 3
9
+ version: 1.9.3
10
+ platform: ruby
11
+ authors:
12
+ - Guilhem Vellut
13
+ - Marcos Piccinini
14
+ - Marcus Mateus
15
+ - Doug Cole
16
+ autorequire:
17
+ bindir: bin
18
+ cert_chain: []
19
+
20
+ date: 2011-06-30 00:00:00 -03:00
21
+ default_executable:
22
+ dependencies:
23
+ - !ruby/object:Gem::Dependency
24
+ name: dbf
25
+ requirement: &id001 !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ">="
29
+ - !ruby/object:Gem::Version
30
+ segments:
31
+ - 1
32
+ - 5
33
+ - 0
34
+ version: 1.5.0
35
+ type: :development
36
+ prerelease: false
37
+ version_requirements: *id001
38
+ - !ruby/object:Gem::Dependency
39
+ name: rspec
40
+ requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ segments:
46
+ - 2
47
+ - 3
48
+ - 0
49
+ version: 2.3.0
50
+ type: :development
51
+ prerelease: false
52
+ version_requirements: *id002
53
+ - !ruby/object:Gem::Dependency
54
+ name: bundler
55
+ requirement: &id003 !ruby/object:Gem::Requirement
56
+ none: false
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ segments:
61
+ - 1
62
+ - 0
63
+ - 0
64
+ version: 1.0.0
65
+ type: :development
66
+ prerelease: false
67
+ version_requirements: *id003
68
+ - !ruby/object:Gem::Dependency
69
+ name: rcov
70
+ requirement: &id004 !ruby/object:Gem::Requirement
71
+ none: false
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ segments:
76
+ - 0
77
+ version: "0"
78
+ type: :development
79
+ prerelease: false
80
+ version_requirements: *id004
81
+ - !ruby/object:Gem::Dependency
82
+ name: rspec
83
+ requirement: &id005 !ruby/object:Gem::Requirement
84
+ none: false
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ segments:
89
+ - 2
90
+ - 0
91
+ - 0
92
+ version: 2.0.0
93
+ type: :development
94
+ prerelease: false
95
+ version_requirements: *id005
96
+ - !ruby/object:Gem::Dependency
97
+ name: dbf
98
+ requirement: &id006 !ruby/object:Gem::Requirement
99
+ none: false
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ segments:
104
+ - 1
105
+ - 2
106
+ - 9
107
+ version: 1.2.9
108
+ type: :development
109
+ prerelease: false
110
+ version_requirements: *id006
111
+ description: GeoRuby provides geometric data types from the OGC 'Simple Features' specification.
112
+ email: georuby@simplitex.com
113
+ executables: []
114
+
115
+ extensions: []
116
+
117
+ extra_rdoc_files:
118
+ - LICENSE
119
+ - README.rdoc
120
+ files:
121
+ - Gemfile
122
+ - Gemfile.lock
123
+ - History.txt
124
+ - LICENSE
125
+ - README.rdoc
126
+ - Rakefile
127
+ - VERSION
128
+ - georuby.gemspec
129
+ - lib/geo_ruby.rb
130
+ - lib/geo_ruby/geojson.rb
131
+ - lib/geo_ruby/georss.rb
132
+ - lib/geo_ruby/gpx.rb
133
+ - lib/geo_ruby/gpx4r/gpx.rb
134
+ - lib/geo_ruby/shp.rb
135
+ - lib/geo_ruby/shp4r/dbf.rb
136
+ - lib/geo_ruby/shp4r/shp.rb
137
+ - lib/geo_ruby/simple_features/envelope.rb
138
+ - lib/geo_ruby/simple_features/ewkb_parser.rb
139
+ - lib/geo_ruby/simple_features/ewkt_parser.rb
140
+ - lib/geo_ruby/simple_features/geometry.rb
141
+ - lib/geo_ruby/simple_features/geometry_collection.rb
142
+ - lib/geo_ruby/simple_features/geometry_factory.rb
143
+ - lib/geo_ruby/simple_features/helper.rb
144
+ - lib/geo_ruby/simple_features/line_string.rb
145
+ - lib/geo_ruby/simple_features/linear_ring.rb
146
+ - lib/geo_ruby/simple_features/multi_line_string.rb
147
+ - lib/geo_ruby/simple_features/multi_point.rb
148
+ - lib/geo_ruby/simple_features/multi_polygon.rb
149
+ - lib/geo_ruby/simple_features/point.rb
150
+ - lib/geo_ruby/simple_features/polygon.rb
151
+ - nofxx-georuby.gemspec
152
+ - spec/data/geojson/feature_collection.json
153
+ - spec/data/georss/atom.xml
154
+ - spec/data/georss/gml.xml
155
+ - spec/data/georss/w3c.xml
156
+ - spec/data/gpx/fells_loop.gpx
157
+ - spec/data/gpx/long.gpx
158
+ - spec/data/gpx/long.kml
159
+ - spec/data/gpx/long.nmea
160
+ - spec/data/gpx/short.gpx
161
+ - spec/data/gpx/short.kml
162
+ - spec/data/gpx/tracktreks.gpx
163
+ - spec/data/multipoint.dbf
164
+ - spec/data/multipoint.shp
165
+ - spec/data/multipoint.shx
166
+ - spec/data/point.dbf
167
+ - spec/data/point.shp
168
+ - spec/data/point.shx
169
+ - spec/data/polygon.dbf
170
+ - spec/data/polygon.shp
171
+ - spec/data/polygon.shx
172
+ - spec/data/polyline.dbf
173
+ - spec/data/polyline.shp
174
+ - spec/data/polyline.shx
175
+ - spec/geo_ruby/geojson_spec.rb
176
+ - spec/geo_ruby/georss.rb
177
+ - spec/geo_ruby/georss_spec.rb
178
+ - spec/geo_ruby/gpx4r/gpx_spec.rb
179
+ - spec/geo_ruby/shp4r/shp_spec.rb
180
+ - spec/geo_ruby/simple_features/envelope_spec.rb
181
+ - spec/geo_ruby/simple_features/ewkb_parser_spec.rb
182
+ - spec/geo_ruby/simple_features/ewkt_parser_spec.rb
183
+ - spec/geo_ruby/simple_features/geometry_collection_spec.rb
184
+ - spec/geo_ruby/simple_features/geometry_factory_spec.rb
185
+ - spec/geo_ruby/simple_features/geometry_spec.rb
186
+ - spec/geo_ruby/simple_features/line_string_spec.rb
187
+ - spec/geo_ruby/simple_features/linear_ring_spec.rb
188
+ - spec/geo_ruby/simple_features/multi_line_string_spec.rb
189
+ - spec/geo_ruby/simple_features/multi_point_spec.rb
190
+ - spec/geo_ruby/simple_features/multi_polygon_spec.rb
191
+ - spec/geo_ruby/simple_features/point_spec.rb
192
+ - spec/geo_ruby/simple_features/polygon_spec.rb
193
+ - spec/geo_ruby_spec.rb
194
+ - spec/spec_helper.rb
195
+ has_rdoc: true
196
+ homepage: http://github.com/nofxx/georuby
197
+ licenses: []
198
+
199
+ post_install_message:
200
+ rdoc_options: []
201
+
202
+ require_paths:
203
+ - lib
204
+ required_ruby_version: !ruby/object:Gem::Requirement
205
+ none: false
206
+ requirements:
207
+ - - ">="
208
+ - !ruby/object:Gem::Version
209
+ segments:
210
+ - 0
211
+ version: "0"
212
+ required_rubygems_version: !ruby/object:Gem::Requirement
213
+ none: false
214
+ requirements:
215
+ - - ">="
216
+ - !ruby/object:Gem::Version
217
+ segments:
218
+ - 0
219
+ version: "0"
220
+ requirements: []
221
+
222
+ rubyforge_project:
223
+ rubygems_version: 1.3.7
224
+ signing_key:
225
+ specification_version: 3
226
+ summary: Ruby data holder for OGC Simple Features
227
+ test_files: []
228
+