georuby_remake 1.0.0

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 (70) 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 +47 -0
  6. data/VERSION +1 -0
  7. data/georuby_remake.gemspec +132 -0
  8. data/lib/geo_ruby.rb +5 -0
  9. data/lib/geo_ruby/gpx4r.rb +9 -0
  10. data/lib/geo_ruby/gpx4r/gpx.rb +104 -0
  11. data/lib/geo_ruby/shp4r.rb +57 -0
  12. data/lib/geo_ruby/shp4r/dbf.rb +38 -0
  13. data/lib/geo_ruby/shp4r/shp_file.rb +297 -0
  14. data/lib/geo_ruby/shp4r/shp_record.rb +14 -0
  15. data/lib/geo_ruby/shp4r/shp_transaction.rb +345 -0
  16. data/lib/geo_ruby/simple_features.rb +20 -0
  17. data/lib/geo_ruby/simple_features/envelope.rb +167 -0
  18. data/lib/geo_ruby/simple_features/ewkb_parser.rb +216 -0
  19. data/lib/geo_ruby/simple_features/ewkt_parser.rb +336 -0
  20. data/lib/geo_ruby/simple_features/geometry.rb +230 -0
  21. data/lib/geo_ruby/simple_features/geometry_collection.rb +136 -0
  22. data/lib/geo_ruby/simple_features/geometry_factory.rb +81 -0
  23. data/lib/geo_ruby/simple_features/georss_parser.rb +135 -0
  24. data/lib/geo_ruby/simple_features/helper.rb +18 -0
  25. data/lib/geo_ruby/simple_features/line_string.rb +206 -0
  26. data/lib/geo_ruby/simple_features/linear_ring.rb +12 -0
  27. data/lib/geo_ruby/simple_features/multi_line_string.rb +51 -0
  28. data/lib/geo_ruby/simple_features/multi_point.rb +46 -0
  29. data/lib/geo_ruby/simple_features/multi_polygon.rb +52 -0
  30. data/lib/geo_ruby/simple_features/point.rb +364 -0
  31. data/lib/geo_ruby/simple_features/polygon.rb +157 -0
  32. data/spec/data/gpx/fells_loop.gpx +1077 -0
  33. data/spec/data/gpx/long.gpx +1642 -0
  34. data/spec/data/gpx/long.kml +31590 -0
  35. data/spec/data/gpx/long.nmea +2220 -0
  36. data/spec/data/gpx/short.gpx +13634 -0
  37. data/spec/data/gpx/short.kml +130 -0
  38. data/spec/data/gpx/tracktreks.gpx +706 -0
  39. data/spec/data/multipoint.dbf +0 -0
  40. data/spec/data/multipoint.shp +0 -0
  41. data/spec/data/multipoint.shx +0 -0
  42. data/spec/data/point.dbf +0 -0
  43. data/spec/data/point.shp +0 -0
  44. data/spec/data/point.shx +0 -0
  45. data/spec/data/polygon.dbf +0 -0
  46. data/spec/data/polygon.shp +0 -0
  47. data/spec/data/polygon.shx +0 -0
  48. data/spec/data/polyline.dbf +0 -0
  49. data/spec/data/polyline.shp +0 -0
  50. data/spec/data/polyline.shx +0 -0
  51. data/spec/geo_ruby/gpx4r/gpx_spec.rb +106 -0
  52. data/spec/geo_ruby/shp4r/shp_spec.rb +240 -0
  53. data/spec/geo_ruby/simple_features/envelope_spec.rb +45 -0
  54. data/spec/geo_ruby/simple_features/ewkb_parser_spec.rb +158 -0
  55. data/spec/geo_ruby/simple_features/ewkt_parser_spec.rb +179 -0
  56. data/spec/geo_ruby/simple_features/geometry_collection_spec.rb +55 -0
  57. data/spec/geo_ruby/simple_features/geometry_factory_spec.rb +11 -0
  58. data/spec/geo_ruby/simple_features/geometry_spec.rb +32 -0
  59. data/spec/geo_ruby/simple_features/georss_parser_spec.rb +218 -0
  60. data/spec/geo_ruby/simple_features/line_string_spec.rb +245 -0
  61. data/spec/geo_ruby/simple_features/linear_ring_spec.rb +14 -0
  62. data/spec/geo_ruby/simple_features/multi_line_string_spec.rb +54 -0
  63. data/spec/geo_ruby/simple_features/multi_point_spec.rb +35 -0
  64. data/spec/geo_ruby/simple_features/multi_polygon_spec.rb +50 -0
  65. data/spec/geo_ruby/simple_features/point_spec.rb +356 -0
  66. data/spec/geo_ruby/simple_features/polygon_spec.rb +108 -0
  67. data/spec/geo_ruby_spec.rb +27 -0
  68. data/spec/spec.opts +6 -0
  69. data/spec/spec_helper.rb +65 -0
  70. metadata +185 -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/shp4r'
12
+ require 'geo_ruby/gpx4r'
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,185 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: georuby_remake
3
+ version: !ruby/object:Gem::Version
4
+ hash: 23
5
+ prerelease: false
6
+ segments:
7
+ - 1
8
+ - 0
9
+ - 0
10
+ version: 1.0.0
11
+ platform: ruby
12
+ authors:
13
+ - Guilhem Vellut
14
+ - Marcos Piccinini
15
+ autorequire:
16
+ bindir: bin
17
+ cert_chain: []
18
+
19
+ date: 2010-09-20 00:00:00 -03:00
20
+ default_executable:
21
+ dependencies:
22
+ - !ruby/object:Gem::Dependency
23
+ name: rspec
24
+ prerelease: false
25
+ requirement: &id001 !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ">="
29
+ - !ruby/object:Gem::Version
30
+ hash: 13
31
+ segments:
32
+ - 1
33
+ - 2
34
+ - 9
35
+ version: 1.2.9
36
+ type: :development
37
+ version_requirements: *id001
38
+ - !ruby/object:Gem::Dependency
39
+ name: dbf
40
+ prerelease: false
41
+ requirement: &id002 !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ hash: 23
47
+ segments:
48
+ - 1
49
+ - 1
50
+ - 2
51
+ version: 1.1.2
52
+ type: :development
53
+ version_requirements: *id002
54
+ description: GeoRuby provides geometric data types from the OGC 'Simple Features' specification.
55
+ email: juniorz@gmail.com
56
+ executables: []
57
+
58
+ extensions: []
59
+
60
+ extra_rdoc_files:
61
+ - LICENSE
62
+ - README.txt
63
+ files:
64
+ - .gitignore
65
+ - History.txt
66
+ - LICENSE
67
+ - README.txt
68
+ - Rakefile
69
+ - VERSION
70
+ - georuby_remake.gemspec
71
+ - lib/geo_ruby.rb
72
+ - lib/geo_ruby/gpx4r.rb
73
+ - lib/geo_ruby/gpx4r/gpx.rb
74
+ - lib/geo_ruby/shp4r.rb
75
+ - lib/geo_ruby/shp4r/dbf.rb
76
+ - lib/geo_ruby/shp4r/shp_file.rb
77
+ - lib/geo_ruby/shp4r/shp_record.rb
78
+ - lib/geo_ruby/shp4r/shp_transaction.rb
79
+ - lib/geo_ruby/simple_features.rb
80
+ - lib/geo_ruby/simple_features/envelope.rb
81
+ - lib/geo_ruby/simple_features/ewkb_parser.rb
82
+ - lib/geo_ruby/simple_features/ewkt_parser.rb
83
+ - lib/geo_ruby/simple_features/geometry.rb
84
+ - lib/geo_ruby/simple_features/geometry_collection.rb
85
+ - lib/geo_ruby/simple_features/geometry_factory.rb
86
+ - lib/geo_ruby/simple_features/georss_parser.rb
87
+ - lib/geo_ruby/simple_features/helper.rb
88
+ - lib/geo_ruby/simple_features/line_string.rb
89
+ - lib/geo_ruby/simple_features/linear_ring.rb
90
+ - lib/geo_ruby/simple_features/multi_line_string.rb
91
+ - lib/geo_ruby/simple_features/multi_point.rb
92
+ - lib/geo_ruby/simple_features/multi_polygon.rb
93
+ - lib/geo_ruby/simple_features/point.rb
94
+ - lib/geo_ruby/simple_features/polygon.rb
95
+ - spec/data/gpx/fells_loop.gpx
96
+ - spec/data/gpx/long.gpx
97
+ - spec/data/gpx/long.kml
98
+ - spec/data/gpx/long.nmea
99
+ - spec/data/gpx/short.gpx
100
+ - spec/data/gpx/short.kml
101
+ - spec/data/gpx/tracktreks.gpx
102
+ - spec/data/multipoint.dbf
103
+ - spec/data/multipoint.shp
104
+ - spec/data/multipoint.shx
105
+ - spec/data/point.dbf
106
+ - spec/data/point.shp
107
+ - spec/data/point.shx
108
+ - spec/data/polygon.dbf
109
+ - spec/data/polygon.shp
110
+ - spec/data/polygon.shx
111
+ - spec/data/polyline.dbf
112
+ - spec/data/polyline.shp
113
+ - spec/data/polyline.shx
114
+ - spec/geo_ruby/gpx4r/gpx_spec.rb
115
+ - spec/geo_ruby/shp4r/shp_spec.rb
116
+ - spec/geo_ruby/simple_features/envelope_spec.rb
117
+ - spec/geo_ruby/simple_features/ewkb_parser_spec.rb
118
+ - spec/geo_ruby/simple_features/ewkt_parser_spec.rb
119
+ - spec/geo_ruby/simple_features/geometry_collection_spec.rb
120
+ - spec/geo_ruby/simple_features/geometry_factory_spec.rb
121
+ - spec/geo_ruby/simple_features/geometry_spec.rb
122
+ - spec/geo_ruby/simple_features/georss_parser_spec.rb
123
+ - spec/geo_ruby/simple_features/line_string_spec.rb
124
+ - spec/geo_ruby/simple_features/linear_ring_spec.rb
125
+ - spec/geo_ruby/simple_features/multi_line_string_spec.rb
126
+ - spec/geo_ruby/simple_features/multi_point_spec.rb
127
+ - spec/geo_ruby/simple_features/multi_polygon_spec.rb
128
+ - spec/geo_ruby/simple_features/point_spec.rb
129
+ - spec/geo_ruby/simple_features/polygon_spec.rb
130
+ - spec/geo_ruby_spec.rb
131
+ - spec/spec.opts
132
+ - spec/spec_helper.rb
133
+ has_rdoc: true
134
+ homepage: http://github.com/juniorz/georuby_remake
135
+ licenses: []
136
+
137
+ post_install_message:
138
+ rdoc_options:
139
+ - --charset=UTF-8
140
+ require_paths:
141
+ - lib
142
+ required_ruby_version: !ruby/object:Gem::Requirement
143
+ none: false
144
+ requirements:
145
+ - - ">="
146
+ - !ruby/object:Gem::Version
147
+ hash: 3
148
+ segments:
149
+ - 0
150
+ version: "0"
151
+ required_rubygems_version: !ruby/object:Gem::Requirement
152
+ none: false
153
+ requirements:
154
+ - - ">="
155
+ - !ruby/object:Gem::Version
156
+ hash: 3
157
+ segments:
158
+ - 0
159
+ version: "0"
160
+ requirements: []
161
+
162
+ rubyforge_project:
163
+ rubygems_version: 1.3.7
164
+ signing_key:
165
+ specification_version: 3
166
+ summary: Ruby data holder for OGC Simple Features
167
+ test_files:
168
+ - spec/geo_ruby_spec.rb
169
+ - spec/spec_helper.rb
170
+ - spec/geo_ruby/shp4r/shp_spec.rb
171
+ - spec/geo_ruby/gpx4r/gpx_spec.rb
172
+ - spec/geo_ruby/simple_features/geometry_factory_spec.rb
173
+ - spec/geo_ruby/simple_features/multi_polygon_spec.rb
174
+ - spec/geo_ruby/simple_features/multi_point_spec.rb
175
+ - spec/geo_ruby/simple_features/geometry_collection_spec.rb
176
+ - spec/geo_ruby/simple_features/multi_line_string_spec.rb
177
+ - spec/geo_ruby/simple_features/envelope_spec.rb
178
+ - spec/geo_ruby/simple_features/polygon_spec.rb
179
+ - spec/geo_ruby/simple_features/geometry_spec.rb
180
+ - spec/geo_ruby/simple_features/linear_ring_spec.rb
181
+ - spec/geo_ruby/simple_features/point_spec.rb
182
+ - spec/geo_ruby/simple_features/georss_parser_spec.rb
183
+ - spec/geo_ruby/simple_features/ewkb_parser_spec.rb
184
+ - spec/geo_ruby/simple_features/line_string_spec.rb
185
+ - spec/geo_ruby/simple_features/ewkt_parser_spec.rb