ppe-georuby 1.7.2

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 (71) hide show
  1. data/.gitignore +6 -0
  2. data/History.txt +4 -0
  3. data/LICENSE +21 -0
  4. data/README.txt +118 -0
  5. data/Rakefile +48 -0
  6. data/VERSION +1 -0
  7. data/lib/geo_ruby.rb +22 -0
  8. data/lib/geo_ruby/gpx.rb +1 -0
  9. data/lib/geo_ruby/gpx4r/gpx.rb +117 -0
  10. data/lib/geo_ruby/shp.rb +1 -0
  11. data/lib/geo_ruby/shp4r/dbf.rb +41 -0
  12. data/lib/geo_ruby/shp4r/shp.rb +697 -0
  13. data/lib/geo_ruby/simple_features/envelope.rb +167 -0
  14. data/lib/geo_ruby/simple_features/ewkb_parser.rb +216 -0
  15. data/lib/geo_ruby/simple_features/ewkt_parser.rb +336 -0
  16. data/lib/geo_ruby/simple_features/geometry.rb +228 -0
  17. data/lib/geo_ruby/simple_features/geometry_collection.rb +136 -0
  18. data/lib/geo_ruby/simple_features/geometry_factory.rb +81 -0
  19. data/lib/geo_ruby/simple_features/georss_parser.rb +135 -0
  20. data/lib/geo_ruby/simple_features/helper.rb +18 -0
  21. data/lib/geo_ruby/simple_features/line_string.rb +206 -0
  22. data/lib/geo_ruby/simple_features/linear_ring.rb +12 -0
  23. data/lib/geo_ruby/simple_features/multi_line_string.rb +51 -0
  24. data/lib/geo_ruby/simple_features/multi_point.rb +46 -0
  25. data/lib/geo_ruby/simple_features/multi_polygon.rb +52 -0
  26. data/lib/geo_ruby/simple_features/point.rb +364 -0
  27. data/lib/geo_ruby/simple_features/polygon.rb +157 -0
  28. data/ppe-georuby.gemspec +133 -0
  29. data/script/console +10 -0
  30. data/script/destroy +14 -0
  31. data/script/generate +14 -0
  32. data/script/txt2html +82 -0
  33. data/spec/data/gpx/fells_loop.gpx +1077 -0
  34. data/spec/data/gpx/long.gpx +1642 -0
  35. data/spec/data/gpx/long.kml +31590 -0
  36. data/spec/data/gpx/long.nmea +2220 -0
  37. data/spec/data/gpx/short.gpx +13634 -0
  38. data/spec/data/gpx/short.kml +130 -0
  39. data/spec/data/gpx/tracktreks.gpx +706 -0
  40. data/spec/data/multipoint.dbf +0 -0
  41. data/spec/data/multipoint.shp +0 -0
  42. data/spec/data/multipoint.shx +0 -0
  43. data/spec/data/point.dbf +0 -0
  44. data/spec/data/point.shp +0 -0
  45. data/spec/data/point.shx +0 -0
  46. data/spec/data/polygon.dbf +0 -0
  47. data/spec/data/polygon.shp +0 -0
  48. data/spec/data/polygon.shx +0 -0
  49. data/spec/data/polyline.dbf +0 -0
  50. data/spec/data/polyline.shp +0 -0
  51. data/spec/data/polyline.shx +0 -0
  52. data/spec/geo_ruby/gpx4r/gpx_spec.rb +106 -0
  53. data/spec/geo_ruby/shp4r/shp_spec.rb +240 -0
  54. data/spec/geo_ruby/simple_features/envelope_spec.rb +45 -0
  55. data/spec/geo_ruby/simple_features/ewkb_parser_spec.rb +158 -0
  56. data/spec/geo_ruby/simple_features/ewkt_parser_spec.rb +179 -0
  57. data/spec/geo_ruby/simple_features/geometry_collection_spec.rb +55 -0
  58. data/spec/geo_ruby/simple_features/geometry_factory_spec.rb +11 -0
  59. data/spec/geo_ruby/simple_features/geometry_spec.rb +32 -0
  60. data/spec/geo_ruby/simple_features/georss_parser_spec.rb +218 -0
  61. data/spec/geo_ruby/simple_features/line_string_spec.rb +245 -0
  62. data/spec/geo_ruby/simple_features/linear_ring_spec.rb +14 -0
  63. data/spec/geo_ruby/simple_features/multi_line_string_spec.rb +54 -0
  64. data/spec/geo_ruby/simple_features/multi_point_spec.rb +35 -0
  65. data/spec/geo_ruby/simple_features/multi_polygon_spec.rb +50 -0
  66. data/spec/geo_ruby/simple_features/point_spec.rb +356 -0
  67. data/spec/geo_ruby/simple_features/polygon_spec.rb +108 -0
  68. data/spec/geo_ruby_spec.rb +27 -0
  69. data/spec/spec.opts +6 -0
  70. data/spec/spec_helper.rb +65 -0
  71. metadata +162 -0
@@ -0,0 +1,108 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
+
3
+ describe Polygon do
4
+
5
+ describe "tu conveted" do
6
+ #no test of the binary representation for linear_rings : always with polygons and like line_string
7
+ it "should test_polygon_creation" do
8
+ linear_ring1 = LinearRing.from_coordinates([[12.4,-45.3],[45.4,41.6],[4.456,1.0698],[12.4,-45.3]],256)
9
+ linear_ring2 = LinearRing.from_coordinates([[2.4,5.3],[5.4,1.4263],[14.46,1.06],[2.4,5.3]],256)
10
+ point1 = Point.from_x_y(12.4,-45.3,256)
11
+ point2 = Point.from_x_y(45.4,41.6,256)
12
+ point3 = Point.from_x_y(4.456,1.0698,256)
13
+ point4 = Point.from_x_y(12.4,-45.3,256)
14
+ point5 = Point.from_x_y(2.4,5.3,256)
15
+ point6 = Point.from_x_y(5.4,1.4263,256)
16
+ point7 = Point.from_x_y(14.46,1.06,256)
17
+ point8 = Point.from_x_y(2.4,5.3,256)
18
+
19
+ polygon = Polygon::new(256)
20
+ polygon.length.should be_zero
21
+
22
+ polygon << linear_ring1
23
+ polygon.length.should eql(1)
24
+ polygon[0].should == linear_ring1
25
+
26
+ #the validity of the hole is not checked : just for the sake of example
27
+ polygon << linear_ring2
28
+ polygon.length.should eql(2)
29
+ polygon[1].should == linear_ring2
30
+
31
+ polygon = Polygon.from_linear_rings([linear_ring1,linear_ring2],256)
32
+ polygon.class.should eql(Polygon)
33
+ polygon.length.should eql(2)
34
+ polygon[0].should == linear_ring1
35
+ polygon[1].should == linear_ring2
36
+
37
+ polygon = Polygon.from_coordinates([[[12.4,-45.3],[45.4,41.6],[4.456,1.0698],[12.4,-45.3]],[[2.4,5.3],[5.4,1.4263],[14.46,1.06],[2.4,5.3]]],256)
38
+ polygon.class.should eql(Polygon)
39
+ polygon.length.should eql(2)
40
+ polygon[0].should == linear_ring1
41
+ polygon[1].should == linear_ring2
42
+
43
+ polygon = Polygon.from_points([[point1,point2,point3,point4],[point5,point6,point7,point8]],256)
44
+ polygon.length.should eql(2)
45
+ polygon[0].should == linear_ring1
46
+ polygon[1].should == linear_ring2
47
+
48
+ polygon = Polygon.from_coordinates([[[12.4,-45.3,15.2],[45.4,41.6,2.4],[4.456,1.0698,5.6],[12.4,-45.3,6.1]],[[2.4,5.3,4.5],[5.4,1.4263,4.2],[14.46,1.06,123.1],[2.4,5.3,4.4]]],256,true)
49
+ polygon.class.should eql(Polygon)
50
+ polygon.length.should eql(2)
51
+
52
+ linear_ring1 = LinearRing.from_coordinates([[12.4,-45.3,15.2],[45.4,41.6,2.4],[4.456,1.0698,5.6],[12.4,-45.3,6.1]],256,true)
53
+ linear_ring2 = LinearRing.from_coordinates([[2.4,5.3,4.5],[5.4,1.4263,4.2],[14.46,1.06,123.1],[2.4,5.3,4.4]],256,true)
54
+ polygon[0].should == linear_ring1
55
+ polygon[1].should == linear_ring2
56
+ end
57
+
58
+ it "bbox" do
59
+ bbox = Polygon.from_coordinates([[[12.4,-45.3,15.2],[45.4,41.6,2.4],[4.456,1.0698,5.6],[12.4,-45.3,6.1]],[[2.4,5.3,4.5],[5.4,1.4263,4.2],[14.46,1.06,123.1],[2.4,5.3,4.4]]],256,true).bounding_box
60
+ bbox.length.should eql(2)
61
+ bbox[0].should == Point.from_x_y_z(4.456,-45.3,2.4)
62
+ bbox[1].should == Point.from_x_y_z(45.4,41.6,123.1)
63
+ end
64
+
65
+
66
+ it "test_polygon_equal" do
67
+ polygon1 = Polygon.from_coordinates([[[12.4,-45.3],[45.4,41.6],[4.456,1.0698],[12.4,-45.3]],[[2.4,5.3],[5.4,1.4263],[14.46,1.06],[2.4,5.3]]],256)
68
+ polygon2 = Polygon.from_coordinates([[[12.4,-45.3],[45.4,41.6],[4.456,1.0698],[12.4,-45.3]],[[2.4,5.3],[5.4,1.4263],[14.46,1.06]]])
69
+ point = Point.from_x_y(12.4,-45.3,123)
70
+
71
+ polygon1.should == Polygon.from_coordinates([[[12.4,-45.3],[45.4,41.6],[4.456,1.0698],[12.4,-45.3]],[[2.4,5.3],[5.4,1.4263],[14.46,1.06],[2.4,5.3]]],256)
72
+ polygon1.should_not == polygon2
73
+ polygon1.should_not == point
74
+ end
75
+
76
+ it "test_polygon_binary" do
77
+ polygon = Polygon.from_coordinates([[[0,0],[4,0],[4,4],[0,4],[0,0]],[[1,1],[3,1],[3,3],[1,3],[1,1]]],256)
78
+ #taken from PostGIS answer
79
+ polygon.as_hex_ewkb.should eql("0103000020000100000200000005000000000000000000000000000000000000000000000000001040000000000000000000000000000010400000000000001040000000000000000000000000000010400000000000000000000000000000000005000000000000000000F03F000000000000F03F0000000000000840000000000000F03F00000000000008400000000000000840000000000000F03F0000000000000840000000000000F03F000000000000F03F")
80
+
81
+ polygon = Polygon.from_coordinates([[[0,0,2],[4,0,2],[4,4,2],[0,4,2],[0,0,2]],[[1,1,2],[3,1,2],[3,3,2],[1,3,2],[1,1,2]]],256,true)
82
+ #taken from PostGIS answer
83
+ polygon.as_hex_ewkb.should eql("01030000A000010000020000000500000000000000000000000000000000000000000000000000004000000000000010400000000000000000000000000000004000000000000010400000000000001040000000000000004000000000000000000000000000001040000000000000004000000000000000000000000000000000000000000000004005000000000000000000F03F000000000000F03F00000000000000400000000000000840000000000000F03F0000000000000040000000000000084000000000000008400000000000000040000000000000F03F00000000000008400000000000000040000000000000F03F000000000000F03F0000000000000040")
84
+
85
+ polygon = Polygon.from_coordinates([[[0,0,2],[4,0,2],[4,4,2],[0,4,2],[0,0,2]],[[1,1,2],[3,1,2],[3,3,2],[1,3,2],[1,1,2]]],256,false,true)
86
+ polygon.as_hex_ewkb.should eql("010300006000010000020000000500000000000000000000000000000000000000000000000000004000000000000010400000000000000000000000000000004000000000000010400000000000001040000000000000004000000000000000000000000000001040000000000000004000000000000000000000000000000000000000000000004005000000000000000000F03F000000000000F03F00000000000000400000000000000840000000000000F03F0000000000000040000000000000084000000000000008400000000000000040000000000000F03F00000000000008400000000000000040000000000000F03F000000000000F03F0000000000000040")
87
+
88
+ polygon = Polygon.from_coordinates([[[0,0,2,-45.1],[4,0,2,5],[4,4,2,4.67],[0,4,2,1.34],[0,0,2,-45.1]],[[1,1,2,12.3],[3,1,2,123],[3,3,2,12.2],[1,3,2,12],[1,1,2,12.3]]],256,true,true)
89
+ polygon.as_hex_ewkb.should eql("01030000E0000100000200000005000000000000000000000000000000000000000000000000000040CDCCCCCCCC8C46C00000000000001040000000000000000000000000000000400000000000001440000000000000104000000000000010400000000000000040AE47E17A14AE1240000000000000000000000000000010400000000000000040713D0AD7A370F53F000000000000000000000000000000000000000000000040CDCCCCCCCC8C46C005000000000000000000F03F000000000000F03F00000000000000409A999999999928400000000000000840000000000000F03F00000000000000400000000000C05E400000000000000840000000000000084000000000000000406666666666662840000000000000F03F000000000000084000000000000000400000000000002840000000000000F03F000000000000F03F00000000000000409A99999999992840")
90
+ end
91
+
92
+ it "should test_polygon_text" do
93
+ polygon = Polygon.from_coordinates([[[0,0],[4,0],[4,4],[0,4],[0,0]],[[1,1],[3,1],[3,3],[1,3],[1,1]]],256)
94
+ polygon.as_ewkt.should eql("SRID=256;POLYGON((0 0,4 0,4 4,0 4,0 0),(1 1,3 1,3 3,1 3,1 1))")
95
+
96
+ polygon = Polygon.from_coordinates([[[0,0,2],[4,0,2],[4,4,2],[0,4,2],[0,0,2]],[[1,1,2],[3,1,2],[3,3,2],[1,3,2],[1,1,2]]],256,true)
97
+ polygon.as_ewkt.should eql("SRID=256;POLYGON((0 0 2,4 0 2,4 4 2,0 4 2,0 0 2),(1 1 2,3 1 2,3 3 2,1 3 2,1 1 2))")
98
+
99
+ polygon = Polygon.from_coordinates([[[0,0,2],[4,0,2],[4,4,2],[0,4,2],[0,0,2]],[[1,1,2],[3,1,2],[3,3,2],[1,3,2],[1,1,2]]],256,false,true)
100
+ polygon.as_ewkt.should eql("SRID=256;POLYGONM((0 0 2,4 0 2,4 4 2,0 4 2,0 0 2),(1 1 2,3 1 2,3 3 2,1 3 2,1 1 2))")
101
+
102
+ polygon = Polygon.from_coordinates([[[0,0,2,-45.1],[4,0,2,5],[4,4,2,4.67],[0,4,2,1.34],[0,0,2,-45.1]],[[1,1,2,12.3],[3,1,2,123],[3,3,2,12.2],[1,3,2,12],[1,1,2,12.3]]],256,true,true)
103
+ polygon.as_ewkt.should eql("SRID=256;POLYGON((0 0 2 -45.1,4 0 2 5,4 4 2 4.67,0 4 2 1.34,0 0 2 -45.1),(1 1 2 12.3,3 1 2 123,3 3 2 12.2,1 3 2 12,1 1 2 12.3))")
104
+ end
105
+
106
+ end
107
+
108
+ end
@@ -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,6 @@
1
+ --colour
2
+ --format
3
+ profile
4
+ --timeout
5
+ 20
6
+ --diff
@@ -0,0 +1,65 @@
1
+ begin
2
+ require 'spec'
3
+ rescue LoadError
4
+ require 'rubygems'
5
+ gem 'rspec'
6
+ require 'spec'
7
+ end
8
+
9
+ $:.unshift(File.dirname(__FILE__) + '/../lib')
10
+ require 'geo_ruby'
11
+ require 'geo_ruby/shp'
12
+ require 'geo_ruby/gpx'
13
+
14
+ include GeoRuby
15
+ include SimpleFeatures
16
+
17
+ module GeorubyMatchers
18
+
19
+ class BeGeometric
20
+
21
+ def matches?(actual)
22
+ actual.ancestors.include?(actual) || actual.kind_of?("Geometry")
23
+ end
24
+
25
+ def failure_message; "expected #{@actual.inspect} to be some geom"; end
26
+ end
27
+
28
+ class BeAPoint
29
+ include Spec::Matchers
30
+
31
+ def initialize(expect=nil)
32
+ @expect = expect
33
+ end
34
+
35
+ def matches?(actual)
36
+ if @expect
37
+ [:x, :y, :z, :m].each_with_index do |c, i|
38
+ next unless val = @expect[i]
39
+ if val.kind_of? Numeric
40
+ actual.send(c).should be_close(val, 0.1)
41
+ else
42
+ actual.send(c).should eql(val)
43
+ end
44
+ end
45
+ end
46
+ actual.should be_instance_of(Point)
47
+ end
48
+
49
+ def failure_message; "expected #{@expect} but received #{@actual.inspect}"; end
50
+ def negative_failure_message; "expected something else then '#{@expect}' but got '#{@actual}'"; end
51
+ end
52
+
53
+ def be_a_point(*args)
54
+ args.empty? ? BeAPoint.new : BeAPoint.new(args)
55
+ end
56
+
57
+ def be_geometric
58
+ BeGeometric.new
59
+ end
60
+ end
61
+
62
+ Spec::Runner.configure do |config|
63
+ config.include GeorubyMatchers
64
+ end
65
+
metadata ADDED
@@ -0,0 +1,162 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ppe-georuby
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.7.2
5
+ platform: ruby
6
+ authors:
7
+ - Guilhem Vellut
8
+ - Marcos Piccinini
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2010-04-04 00:00:00 +01:00
14
+ default_executable:
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: rspec
18
+ type: :development
19
+ version_requirement:
20
+ version_requirements: !ruby/object:Gem::Requirement
21
+ requirements:
22
+ - - ">="
23
+ - !ruby/object:Gem::Version
24
+ version: 1.2.9
25
+ version:
26
+ - !ruby/object:Gem::Dependency
27
+ name: dbf
28
+ type: :development
29
+ version_requirement:
30
+ version_requirements: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: 1.1.2
35
+ version:
36
+ description: GeoRuby provides geometric data types from the OGC 'Simple Features' specification.
37
+ email: x@nofxx.com
38
+ executables: []
39
+
40
+ extensions: []
41
+
42
+ extra_rdoc_files:
43
+ - LICENSE
44
+ - README.txt
45
+ files:
46
+ - .gitignore
47
+ - History.txt
48
+ - LICENSE
49
+ - README.txt
50
+ - Rakefile
51
+ - VERSION
52
+ - lib/geo_ruby.rb
53
+ - lib/geo_ruby/gpx.rb
54
+ - lib/geo_ruby/gpx4r/gpx.rb
55
+ - lib/geo_ruby/shp.rb
56
+ - lib/geo_ruby/shp4r/dbf.rb
57
+ - lib/geo_ruby/shp4r/shp.rb
58
+ - lib/geo_ruby/simple_features/envelope.rb
59
+ - lib/geo_ruby/simple_features/ewkb_parser.rb
60
+ - lib/geo_ruby/simple_features/ewkt_parser.rb
61
+ - lib/geo_ruby/simple_features/geometry.rb
62
+ - lib/geo_ruby/simple_features/geometry_collection.rb
63
+ - lib/geo_ruby/simple_features/geometry_factory.rb
64
+ - lib/geo_ruby/simple_features/georss_parser.rb
65
+ - lib/geo_ruby/simple_features/helper.rb
66
+ - lib/geo_ruby/simple_features/line_string.rb
67
+ - lib/geo_ruby/simple_features/linear_ring.rb
68
+ - lib/geo_ruby/simple_features/multi_line_string.rb
69
+ - lib/geo_ruby/simple_features/multi_point.rb
70
+ - lib/geo_ruby/simple_features/multi_polygon.rb
71
+ - lib/geo_ruby/simple_features/point.rb
72
+ - lib/geo_ruby/simple_features/polygon.rb
73
+ - ppe-georuby.gemspec
74
+ - script/console
75
+ - script/destroy
76
+ - script/generate
77
+ - script/txt2html
78
+ - spec/data/gpx/fells_loop.gpx
79
+ - spec/data/gpx/long.gpx
80
+ - spec/data/gpx/long.kml
81
+ - spec/data/gpx/long.nmea
82
+ - spec/data/gpx/short.gpx
83
+ - spec/data/gpx/short.kml
84
+ - spec/data/gpx/tracktreks.gpx
85
+ - spec/data/multipoint.dbf
86
+ - spec/data/multipoint.shp
87
+ - spec/data/multipoint.shx
88
+ - spec/data/point.dbf
89
+ - spec/data/point.shp
90
+ - spec/data/point.shx
91
+ - spec/data/polygon.dbf
92
+ - spec/data/polygon.shp
93
+ - spec/data/polygon.shx
94
+ - spec/data/polyline.dbf
95
+ - spec/data/polyline.shp
96
+ - spec/data/polyline.shx
97
+ - spec/geo_ruby/gpx4r/gpx_spec.rb
98
+ - spec/geo_ruby/shp4r/shp_spec.rb
99
+ - spec/geo_ruby/simple_features/envelope_spec.rb
100
+ - spec/geo_ruby/simple_features/ewkb_parser_spec.rb
101
+ - spec/geo_ruby/simple_features/ewkt_parser_spec.rb
102
+ - spec/geo_ruby/simple_features/geometry_collection_spec.rb
103
+ - spec/geo_ruby/simple_features/geometry_factory_spec.rb
104
+ - spec/geo_ruby/simple_features/geometry_spec.rb
105
+ - spec/geo_ruby/simple_features/georss_parser_spec.rb
106
+ - spec/geo_ruby/simple_features/line_string_spec.rb
107
+ - spec/geo_ruby/simple_features/linear_ring_spec.rb
108
+ - spec/geo_ruby/simple_features/multi_line_string_spec.rb
109
+ - spec/geo_ruby/simple_features/multi_point_spec.rb
110
+ - spec/geo_ruby/simple_features/multi_polygon_spec.rb
111
+ - spec/geo_ruby/simple_features/point_spec.rb
112
+ - spec/geo_ruby/simple_features/polygon_spec.rb
113
+ - spec/geo_ruby_spec.rb
114
+ - spec/spec.opts
115
+ - spec/spec_helper.rb
116
+ has_rdoc: true
117
+ homepage: http://github.com/nofxx/georuby
118
+ licenses: []
119
+
120
+ post_install_message:
121
+ rdoc_options:
122
+ - --charset=UTF-8
123
+ require_paths:
124
+ - lib
125
+ required_ruby_version: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - ">="
128
+ - !ruby/object:Gem::Version
129
+ version: "0"
130
+ version:
131
+ required_rubygems_version: !ruby/object:Gem::Requirement
132
+ requirements:
133
+ - - ">="
134
+ - !ruby/object:Gem::Version
135
+ version: "0"
136
+ version:
137
+ requirements: []
138
+
139
+ rubyforge_project:
140
+ rubygems_version: 1.3.5
141
+ signing_key:
142
+ specification_version: 3
143
+ summary: Ruby data holder for OGC Simple Features
144
+ test_files:
145
+ - spec/geo_ruby_spec.rb
146
+ - spec/spec_helper.rb
147
+ - spec/geo_ruby/gpx4r/gpx_spec.rb
148
+ - spec/geo_ruby/shp4r/shp_spec.rb
149
+ - spec/geo_ruby/simple_features/point_spec.rb
150
+ - spec/geo_ruby/simple_features/geometry_factory_spec.rb
151
+ - spec/geo_ruby/simple_features/envelope_spec.rb
152
+ - spec/geo_ruby/simple_features/polygon_spec.rb
153
+ - spec/geo_ruby/simple_features/line_string_spec.rb
154
+ - spec/geo_ruby/simple_features/multi_line_string_spec.rb
155
+ - spec/geo_ruby/simple_features/ewkt_parser_spec.rb
156
+ - spec/geo_ruby/simple_features/ewkb_parser_spec.rb
157
+ - spec/geo_ruby/simple_features/linear_ring_spec.rb
158
+ - spec/geo_ruby/simple_features/geometry_collection_spec.rb
159
+ - spec/geo_ruby/simple_features/multi_polygon_spec.rb
160
+ - spec/geo_ruby/simple_features/multi_point_spec.rb
161
+ - spec/geo_ruby/simple_features/georss_parser_spec.rb
162
+ - spec/geo_ruby/simple_features/geometry_spec.rb