georuby 1.9.9 → 2.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.
- data/lib/geo_ruby.rb +1 -15
- data/lib/geo_ruby/geojson.rb +2 -0
- data/lib/geo_ruby/georss.rb +1 -0
- data/lib/geo_ruby/kml.rb +1 -1
- data/lib/geo_ruby/simple_features.rb +25 -0
- data/lib/geo_ruby/version.rb +1 -1
- data/spec/geo_ruby/geojson_spec.rb +26 -26
- data/spec/geo_ruby/georss_spec.rb +215 -3
- data/spec/geo_ruby/gpx4r/gpx_spec.rb +19 -22
- data/spec/geo_ruby/kml_spec.rb +6 -6
- data/spec/geo_ruby/shp4r/shp_spec.rb +36 -38
- data/spec/geo_ruby/simple_features/circle_spec.rb +3 -5
- data/spec/geo_ruby/simple_features/envelope_spec.rb +8 -8
- data/spec/geo_ruby/simple_features/ewkb_parser_spec.rb +45 -45
- data/spec/geo_ruby/simple_features/ewkt_parser_spec.rb +49 -49
- data/spec/geo_ruby/simple_features/geometry_collection_spec.rb +20 -20
- data/spec/geo_ruby/simple_features/geometry_factory_spec.rb +2 -2
- data/spec/geo_ruby/simple_features/geometry_spec.rb +9 -12
- data/spec/geo_ruby/simple_features/line_string_spec.rb +53 -53
- data/spec/geo_ruby/simple_features/linear_ring_spec.rb +6 -6
- data/spec/geo_ruby/simple_features/multi_line_string_spec.rb +13 -13
- data/spec/geo_ruby/simple_features/multi_point_spec.rb +10 -10
- data/spec/geo_ruby/simple_features/multi_polygon_spec.rb +13 -13
- data/spec/geo_ruby/simple_features/point_spec.rb +52 -52
- data/spec/geo_ruby/simple_features/polygon_spec.rb +40 -40
- data/spec/geo_ruby_spec.rb +7 -12
- data/spec/spec_helper.rb +1 -9
- metadata +21 -5
- data/spec/geo_ruby/georss.rb +0 -218
@@ -1,23 +1,20 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
2
|
|
3
|
-
|
4
|
-
include GeoRuby::SimpleFeatures
|
5
|
-
|
6
|
-
describe Gpx4r do
|
3
|
+
describe GeoRuby::Gpx4r do
|
7
4
|
|
8
5
|
it "should add gpx extension and raise if doesn't exists" do
|
9
6
|
lambda do
|
10
7
|
File.should_receive(:exists?).with("short.gpx").and_return(false)
|
11
|
-
GpxFile.open('short').should be_true
|
12
|
-
end.should raise_error MalformedGpxException
|
8
|
+
GeoRuby::Gpx4r::GpxFile.open('short').should be_true
|
9
|
+
end.should raise_error GeoRuby::Gpx4r::MalformedGpxException
|
13
10
|
end
|
14
11
|
|
15
12
|
describe "Waypoints" do
|
16
13
|
|
17
14
|
before(:all) do
|
18
|
-
@gpxfile = GpxFile.open(File.dirname(__FILE__) + '/../../data/gpx/short.gpx', :with_z => true, :with_m => true)
|
19
|
-
@gpxfile2 = GpxFile.open(File.dirname(__FILE__) + '/../../data/gpx/fells_loop', :with_z => true, :with_m => true)
|
20
|
-
@gpxfile3 = GpxFile.open(File.dirname(__FILE__) + '/../../data/gpx/tracktreks.gpx', :with_z => true)
|
15
|
+
@gpxfile = GeoRuby::Gpx4r::GpxFile.open(File.dirname(__FILE__) + '/../../data/gpx/short.gpx', :with_z => true, :with_m => true)
|
16
|
+
@gpxfile2 = GeoRuby::Gpx4r::GpxFile.open(File.dirname(__FILE__) + '/../../data/gpx/fells_loop', :with_z => true, :with_m => true)
|
17
|
+
@gpxfile3 = GeoRuby::Gpx4r::GpxFile.open(File.dirname(__FILE__) + '/../../data/gpx/tracktreks.gpx', :with_z => true)
|
21
18
|
end
|
22
19
|
|
23
20
|
it "should open and parse" do
|
@@ -63,43 +60,43 @@ describe Gpx4r do
|
|
63
60
|
end
|
64
61
|
|
65
62
|
it "should return it as a linestring" do
|
66
|
-
@gpxfile.as_line_string.should be_instance_of LineString
|
67
|
-
@gpxfile.as_polyline.should be_instance_of LineString
|
63
|
+
@gpxfile.as_line_string.should be_instance_of GeoRuby::SimpleFeatures::LineString
|
64
|
+
@gpxfile.as_polyline.should be_instance_of GeoRuby::SimpleFeatures::LineString
|
68
65
|
end
|
69
66
|
|
70
67
|
it "should return it as a linestring 3" do
|
71
|
-
@gpxfile3.as_line_string.should be_instance_of LineString
|
72
|
-
@gpxfile3.as_polyline.should be_instance_of LineString
|
68
|
+
@gpxfile3.as_line_string.should be_instance_of GeoRuby::SimpleFeatures::LineString
|
69
|
+
@gpxfile3.as_polyline.should be_instance_of GeoRuby::SimpleFeatures::LineString
|
73
70
|
end
|
74
71
|
|
75
72
|
it "should return a envelope" do
|
76
|
-
@gpxfile.envelope.should be_instance_of Envelope
|
73
|
+
@gpxfile.envelope.should be_instance_of GeoRuby::SimpleFeatures::Envelope
|
77
74
|
@gpxfile.envelope.lower_corner.x.should be_within(0.001).of(9.08128)
|
78
75
|
@gpxfile.envelope.lower_corner.y.should be_within(0.001).of(48.7169)
|
79
76
|
end
|
80
77
|
|
81
78
|
it "should return a envelope 3" do
|
82
|
-
@gpxfile3.envelope.should be_instance_of Envelope
|
79
|
+
@gpxfile3.envelope.should be_instance_of GeoRuby::SimpleFeatures::Envelope
|
83
80
|
@gpxfile3.envelope.lower_corner.x.should be_within(0.001).of(-149.8422613)
|
84
81
|
@gpxfile3.envelope.lower_corner.y.should be_within(0.001).of(-17.547636)
|
85
82
|
end
|
86
83
|
|
87
84
|
it "should return it as a polygon" do
|
88
85
|
[@gpxfile, @gpxfile2, @gpxfile3].each do |g|
|
89
|
-
g.as_polygon.should be_instance_of Polygon
|
90
|
-
g.as_polygon[0].should be_instance_of LinearRing
|
86
|
+
g.as_polygon.should be_instance_of GeoRuby::SimpleFeatures::Polygon
|
87
|
+
g.as_polygon[0].should be_instance_of GeoRuby::SimpleFeatures::LinearRing
|
91
88
|
g.as_polygon[0].should be_closed
|
92
89
|
g.as_polygon[1].should be_nil
|
93
90
|
end
|
94
91
|
end
|
95
92
|
|
96
93
|
it "should close the polygon" do
|
97
|
-
se = Point.from_x_y(-44, -23)
|
98
|
-
sw = Point.from_x_y(-42, -22)
|
99
|
-
nw = Point.from_x_y(-42, -25)
|
100
|
-
ne = Point.from_x_y(-44, -21)
|
94
|
+
se = GeoRuby::SimpleFeatures::Point.from_x_y(-44, -23)
|
95
|
+
sw = GeoRuby::SimpleFeatures::Point.from_x_y(-42, -22)
|
96
|
+
nw = GeoRuby::SimpleFeatures::Point.from_x_y(-42, -25)
|
97
|
+
ne = GeoRuby::SimpleFeatures::Point.from_x_y(-44, -21)
|
101
98
|
@gpxfile.instance_variable_set(:@points, [se,sw,nw,ne])
|
102
|
-
@gpxfile.as_polygon.should == Polygon.from_points([[se,sw,nw,ne,se]])
|
99
|
+
@gpxfile.as_polygon.should == GeoRuby::SimpleFeatures::Polygon.from_points([[se,sw,nw,ne,se]])
|
103
100
|
end
|
104
101
|
end
|
105
102
|
|
data/spec/geo_ruby/kml_spec.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
2
|
|
3
|
-
describe KmlParser do
|
3
|
+
describe GeoRuby::KmlParser do
|
4
4
|
before(:all) do
|
5
5
|
POINT = "<Point><coordinates>-82.4898187291883,34.2473206042649</coordinates></Point>"
|
6
6
|
LINESTRING = "<LineString><coordinates>-122.365662,37.826988 -122.365202,37.826302 -122.364581,37.82655 -122.365038,37.827237</coordinates></LineString>"
|
@@ -14,11 +14,11 @@ describe KmlParser do
|
|
14
14
|
end
|
15
15
|
|
16
16
|
before(:each) do
|
17
|
-
@factory = GeometryFactory.new
|
18
|
-
@kml_parser =
|
17
|
+
@factory = GeoRuby::SimpleFeatures::GeometryFactory.new
|
18
|
+
@kml_parser = described_class.new(@factory)
|
19
19
|
end
|
20
20
|
|
21
|
-
it "should parse a Point correctly" do
|
21
|
+
it "should parse a GeoRuby::SimpleFeatures::Point correctly" do
|
22
22
|
@kml_parser.parse(POINT)
|
23
23
|
g = @factory.geometry
|
24
24
|
g.should_not eql(nil)
|
@@ -26,7 +26,7 @@ describe KmlParser do
|
|
26
26
|
g.as_kml.gsub(/\n/,'').should eql(POINT)
|
27
27
|
end
|
28
28
|
|
29
|
-
it "should parse a LineString correctly" do
|
29
|
+
it "should parse a GeoRuby::SimpleFeatures::LineString correctly" do
|
30
30
|
@kml_parser.parse(LINESTRING)
|
31
31
|
g = @factory.geometry
|
32
32
|
g.should_not eql(nil)
|
@@ -40,7 +40,7 @@ describe KmlParser do
|
|
40
40
|
g.as_kml.gsub(/\n/,'').should eql(LINEARRING)
|
41
41
|
end
|
42
42
|
|
43
|
-
it "should parse a Polygon correctly" do
|
43
|
+
it "should parse a GeoRuby::SimpleFeatures::Polygon correctly" do
|
44
44
|
@kml_parser.parse(POLYGON)
|
45
45
|
g = @factory.geometry
|
46
46
|
g.should_not eql(nil)
|
@@ -1,18 +1,16 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
describe Shp4r do
|
3
|
+
describe GeoRuby::Shp4r do
|
6
4
|
|
7
5
|
describe "Point" do
|
8
6
|
before(:each) do
|
9
|
-
@shpfile = ShpFile.open(File.dirname(__FILE__) + '/../../data/point.shp')
|
7
|
+
@shpfile = GeoRuby::Shp4r::ShpFile.open(File.dirname(__FILE__) + '/../../data/point.shp')
|
10
8
|
end
|
11
9
|
|
12
10
|
it "should parse ok" do
|
13
11
|
@shpfile.record_count.should eql(2)
|
14
12
|
@shpfile.should have(1).fields
|
15
|
-
@shpfile.shp_type.should eql(ShpType::POINT)
|
13
|
+
@shpfile.shp_type.should eql(GeoRuby::Shp4r::ShpType::POINT)
|
16
14
|
end
|
17
15
|
|
18
16
|
it "should parse fields" do
|
@@ -23,7 +21,7 @@ describe Shp4r do
|
|
23
21
|
|
24
22
|
it "should parse record 1" do
|
25
23
|
rec = @shpfile[0]
|
26
|
-
rec.geometry.should be_kind_of Point
|
24
|
+
rec.geometry.should be_kind_of GeoRuby::SimpleFeatures::Point
|
27
25
|
rec.geometry.x.should be_within(0.00001).of(-90.08375)
|
28
26
|
rec.geometry.y.should be_within(0.00001).of(34.39996)
|
29
27
|
rec.data["Hoyoyo"].should eql(6)
|
@@ -31,7 +29,7 @@ describe Shp4r do
|
|
31
29
|
|
32
30
|
it "should parse record 2" do
|
33
31
|
rec = @shpfile[1]
|
34
|
-
rec.geometry.should be_kind_of Point
|
32
|
+
rec.geometry.should be_kind_of GeoRuby::SimpleFeatures::Point
|
35
33
|
rec.geometry.x.should be_within(0.00001).of(-87.82580)
|
36
34
|
rec.geometry.y.should be_within(0.00001).of(33.36416)
|
37
35
|
rec.data["Hoyoyo"].should eql(9)
|
@@ -41,26 +39,26 @@ describe Shp4r do
|
|
41
39
|
|
42
40
|
describe "Polyline" do
|
43
41
|
before(:each) do
|
44
|
-
@shpfile = ShpFile.open(File.dirname(__FILE__) + '/../../data/polyline.shp')
|
42
|
+
@shpfile = GeoRuby::Shp4r::ShpFile.open(File.dirname(__FILE__) + '/../../data/polyline.shp')
|
45
43
|
end
|
46
44
|
|
47
45
|
it "should parse ok" do
|
48
46
|
@shpfile.record_count.should eql(1)
|
49
47
|
@shpfile.should have(1).fields
|
50
|
-
@shpfile.shp_type.should eql(ShpType::POLYLINE)
|
48
|
+
@shpfile.shp_type.should eql(GeoRuby::Shp4r::ShpType::POLYLINE)
|
51
49
|
end
|
52
50
|
|
53
51
|
it "should parse fields" do
|
54
52
|
field = @shpfile.fields.first
|
55
53
|
field.name.should eql("Chipoto")
|
56
|
-
# Dbf now uses the decimal to choose between int and float
|
54
|
+
# GeoRuby::Shp4r::Dbf now uses the decimal to choose between int and float
|
57
55
|
# So here is N instead of F
|
58
56
|
field.type.should eql("N")
|
59
57
|
end
|
60
58
|
|
61
59
|
it "should parse record 1" do
|
62
60
|
rec = @shpfile[0]
|
63
|
-
rec.geometry.should be_kind_of MultiLineString
|
61
|
+
rec.geometry.should be_kind_of GeoRuby::SimpleFeatures::MultiLineString
|
64
62
|
rec.geometry.length.should eql(1)
|
65
63
|
rec.geometry[0].length.should eql(6)
|
66
64
|
rec.data["Chipoto"].should eql(5.678)
|
@@ -70,13 +68,13 @@ describe Shp4r do
|
|
70
68
|
|
71
69
|
describe "Polygon" do
|
72
70
|
before(:each) do
|
73
|
-
@shpfile = ShpFile.open(File.dirname(__FILE__) + '/../../data/polygon.shp')
|
71
|
+
@shpfile = GeoRuby::Shp4r::ShpFile.open(File.dirname(__FILE__) + '/../../data/polygon.shp')
|
74
72
|
end
|
75
73
|
|
76
74
|
it "should parse ok" do
|
77
75
|
@shpfile.record_count.should eql(1)
|
78
76
|
@shpfile.should have(1).fields
|
79
|
-
@shpfile.shp_type.should eql(ShpType::POLYGON)
|
77
|
+
@shpfile.shp_type.should eql(GeoRuby::Shp4r::ShpType::POLYGON)
|
80
78
|
end
|
81
79
|
|
82
80
|
it "should parse fields" do
|
@@ -87,7 +85,7 @@ describe Shp4r do
|
|
87
85
|
|
88
86
|
it "should parse record 1" do
|
89
87
|
rec = @shpfile[0]
|
90
|
-
rec.geometry.should be_kind_of MultiPolygon
|
88
|
+
rec.geometry.should be_kind_of GeoRuby::SimpleFeatures::MultiPolygon
|
91
89
|
rec.geometry.length.should eql(1)
|
92
90
|
rec.geometry[0].length.should eql(1)
|
93
91
|
rec.geometry[0][0].length.should eql(7)
|
@@ -111,12 +109,12 @@ describe Shp4r do
|
|
111
109
|
it "test_point" do
|
112
110
|
cp_all_shp(File.dirname(__FILE__) + '/../../data/point',
|
113
111
|
File.dirname(__FILE__) + '/../../data/point2')
|
114
|
-
shpfile = ShpFile.open(File.dirname(__FILE__) + '/../../data/point2.shp')
|
112
|
+
shpfile = GeoRuby::Shp4r::ShpFile.open(File.dirname(__FILE__) + '/../../data/point2.shp')
|
115
113
|
|
116
114
|
shpfile.transaction do |tr|
|
117
|
-
tr.should be_instance_of ShpTransaction
|
118
|
-
tr.add(ShpRecord.new(Point.from_x_y(123.4,123.4),'Hoyoyo' => 5))
|
119
|
-
tr.add(ShpRecord.new(Point.from_x_y(-16.67,16.41),'Hoyoyo' => -7))
|
115
|
+
tr.should be_instance_of GeoRuby::Shp4r::ShpTransaction
|
116
|
+
tr.add(GeoRuby::Shp4r::ShpRecord.new(GeoRuby::SimpleFeatures::Point.from_x_y(123.4,123.4),'Hoyoyo' => 5))
|
117
|
+
tr.add(GeoRuby::Shp4r::ShpRecord.new(GeoRuby::SimpleFeatures::Point.from_x_y(-16.67,16.41),'Hoyoyo' => -7))
|
120
118
|
tr.delete(1)
|
121
119
|
end
|
122
120
|
|
@@ -130,12 +128,12 @@ describe Shp4r do
|
|
130
128
|
cp_all_shp(File.dirname(__FILE__) + '/../../data/polyline',
|
131
129
|
File.dirname(__FILE__) + '/../../data/polyline2')
|
132
130
|
|
133
|
-
shpfile = ShpFile.open(File.dirname(__FILE__) + '/../../data/polyline2.shp')
|
131
|
+
shpfile = GeoRuby::Shp4r::ShpFile.open(File.dirname(__FILE__) + '/../../data/polyline2.shp')
|
134
132
|
|
135
133
|
shpfile.transaction do |tr|
|
136
|
-
tr.should be_instance_of ShpTransaction
|
137
|
-
tr.add(ShpRecord.new(LineString.from_coordinates([[123.4,123.4],[45.6,12.3]]),'Chipoto' => 5.6778))
|
138
|
-
tr.add(ShpRecord.new(LineString.from_coordinates([[23.4,13.4],[45.6,12.3],[12,-67]]),'Chipoto' => -7.1))
|
134
|
+
tr.should be_instance_of GeoRuby::Shp4r::ShpTransaction
|
135
|
+
tr.add(GeoRuby::Shp4r::ShpRecord.new(GeoRuby::SimpleFeatures::LineString.from_coordinates([[123.4,123.4],[45.6,12.3]]),'Chipoto' => 5.6778))
|
136
|
+
tr.add(GeoRuby::Shp4r::ShpRecord.new(GeoRuby::SimpleFeatures::LineString.from_coordinates([[23.4,13.4],[45.6,12.3],[12,-67]]),'Chipoto' => -7.1))
|
139
137
|
tr.delete(0)
|
140
138
|
end
|
141
139
|
|
@@ -147,12 +145,12 @@ describe Shp4r do
|
|
147
145
|
it "test_polygon" do
|
148
146
|
cp_all_shp(File.dirname(__FILE__) + '/../../data/polygon',
|
149
147
|
File.dirname(__FILE__) + '/../../data/polygon2')
|
150
|
-
shpfile = ShpFile.open(File.dirname(__FILE__) + '/../../data/polygon2.shp')
|
148
|
+
shpfile = GeoRuby::Shp4r::ShpFile.open(File.dirname(__FILE__) + '/../../data/polygon2.shp')
|
151
149
|
|
152
150
|
shpfile.transaction do |tr|
|
153
|
-
tr.should be_instance_of ShpTransaction
|
151
|
+
tr.should be_instance_of GeoRuby::Shp4r::ShpTransaction
|
154
152
|
tr.delete(0)
|
155
|
-
tr.add(ShpRecord.new(Polygon.from_coordinates([[[0,0],[40,0],[40,40],[0,40],[0,0]],[[10,10],[10,20],[20,20],[10,10]]]),'Hello' => "oook"))
|
153
|
+
tr.add(GeoRuby::Shp4r::ShpRecord.new(GeoRuby::SimpleFeatures::Polygon.from_coordinates([[[0,0],[40,0],[40,40],[0,40],[0,0]],[[10,10],[10,20],[20,20],[10,10]]]),'Hello' => "oook"))
|
156
154
|
end
|
157
155
|
|
158
156
|
shpfile.record_count.should eql(1)
|
@@ -164,11 +162,11 @@ describe Shp4r do
|
|
164
162
|
it "test_multipoint" do
|
165
163
|
cp_all_shp(File.dirname(__FILE__) + '/../../data/multipoint',
|
166
164
|
File.dirname(__FILE__) + '/../../data/multipoint2')
|
167
|
-
shpfile = ShpFile.open(File.dirname(__FILE__) + '/../../data/multipoint2.shp')
|
165
|
+
shpfile = GeoRuby::Shp4r::ShpFile.open(File.dirname(__FILE__) + '/../../data/multipoint2.shp')
|
168
166
|
|
169
167
|
shpfile.transaction do |tr|
|
170
|
-
tr.should be_instance_of ShpTransaction
|
171
|
-
tr.add(ShpRecord.new(MultiPoint.from_coordinates([[45.6,-45.1],[12.4,98.2],[51.2,-0.12],[156.12345,56.109]]),'Hello' => 5,"Hoyoyo" => "AEZAE"))
|
168
|
+
tr.should be_instance_of GeoRuby::Shp4r::ShpTransaction
|
169
|
+
tr.add(GeoRuby::Shp4r::ShpRecord.new(GeoRuby::SimpleFeatures::MultiPoint.from_coordinates([[45.6,-45.1],[12.4,98.2],[51.2,-0.12],[156.12345,56.109]]),'Hello' => 5,"Hoyoyo" => "AEZAE"))
|
172
170
|
end
|
173
171
|
|
174
172
|
shpfile.record_count.should eql(2)
|
@@ -181,11 +179,11 @@ describe Shp4r do
|
|
181
179
|
cp_all_shp(File.dirname(__FILE__) + '/../../data/polygon',
|
182
180
|
File.dirname(__FILE__) + '/../../data/polygon4')
|
183
181
|
|
184
|
-
shpfile = ShpFile.open(File.dirname(__FILE__) + '/../../data/polygon4.shp')
|
182
|
+
shpfile = GeoRuby::Shp4r::ShpFile.open(File.dirname(__FILE__) + '/../../data/polygon4.shp')
|
185
183
|
|
186
184
|
shpfile.transaction do |tr|
|
187
|
-
tr.should be_instance_of ShpTransaction
|
188
|
-
tr.add(ShpRecord.new(MultiPolygon.from_polygons([Polygon.from_coordinates([[[0,0],[40,0],[40,40],[0,40],[0,0]],[[10,10],[10,20],[20,20],[10,10]]])]),'Hello' => "oook"))
|
185
|
+
tr.should be_instance_of GeoRuby::Shp4r::ShpTransaction
|
186
|
+
tr.add(GeoRuby::Shp4r::ShpRecord.new(GeoRuby::SimpleFeatures::MultiPolygon.from_polygons([GeoRuby::SimpleFeatures::Polygon.from_coordinates([[[0,0],[40,0],[40,40],[0,40],[0,0]],[[10,10],[10,20],[20,20],[10,10]]])]),'Hello' => "oook"))
|
189
187
|
end
|
190
188
|
|
191
189
|
shpfile.record_count.should eql(2)
|
@@ -199,11 +197,11 @@ describe Shp4r do
|
|
199
197
|
cp_all_shp(File.dirname(__FILE__) + '/../../data/polygon',
|
200
198
|
File.dirname(__FILE__) + '/../../data/polygon5')
|
201
199
|
|
202
|
-
shpfile = ShpFile.open(File.dirname(__FILE__) + '/../../data/polygon5.shp')
|
200
|
+
shpfile = GeoRuby::Shp4r::ShpFile.open(File.dirname(__FILE__) + '/../../data/polygon5.shp')
|
203
201
|
|
204
202
|
shpfile.transaction do |tr|
|
205
|
-
tr.should be_instance_of ShpTransaction
|
206
|
-
tr.add(ShpRecord.new(MultiPolygon.from_polygons([Polygon.from_coordinates([[[0,0],[40,0],[40,40],[0,40],[0,0]],[[10,10],[10,20],[20,20],[10,10]]])]),'Hello' => "oook"))
|
203
|
+
tr.should be_instance_of GeoRuby::Shp4r::ShpTransaction
|
204
|
+
tr.add(GeoRuby::Shp4r::ShpRecord.new(GeoRuby::SimpleFeatures::MultiPolygon.from_polygons([GeoRuby::SimpleFeatures::Polygon.from_coordinates([[[0,0],[40,0],[40,40],[0,40],[0,0]],[[10,10],[10,20],[20,20],[10,10]]])]),'Hello' => "oook"))
|
207
205
|
tr.rollback
|
208
206
|
end
|
209
207
|
shpfile.record_count.should eql(1)
|
@@ -215,9 +213,9 @@ describe Shp4r do
|
|
215
213
|
end
|
216
214
|
|
217
215
|
it "test_creation" do
|
218
|
-
shpfile = ShpFile.create(File.dirname(__FILE__) + '/../../data/point3.shp',ShpType::POINT,[Dbf::Field.new("Hoyoyo","C",10,0)])
|
216
|
+
shpfile = GeoRuby::Shp4r::ShpFile.create(File.dirname(__FILE__) + '/../../data/point3.shp',GeoRuby::Shp4r::ShpType::POINT,[GeoRuby::Shp4r::Dbf::Field.new("Hoyoyo","C",10,0)])
|
219
217
|
shpfile.transaction do |tr|
|
220
|
-
tr.add(ShpRecord.new(Point.from_x_y(123,123.4),'Hoyoyo' => "HJHJJ"))
|
218
|
+
tr.add(GeoRuby::Shp4r::ShpRecord.new(GeoRuby::SimpleFeatures::Point.from_x_y(123,123.4),'Hoyoyo' => "HJHJJ"))
|
221
219
|
end
|
222
220
|
shpfile.record_count.should eql(1)
|
223
221
|
shpfile.close
|
@@ -225,9 +223,9 @@ describe Shp4r do
|
|
225
223
|
end
|
226
224
|
|
227
225
|
it "test_creation_multipoint" do
|
228
|
-
shpfile = ShpFile.create(File.dirname(__FILE__) + '/../../data/multipoint3.shp',ShpType::MULTIPOINT,[Dbf::Field.new("Hoyoyo","C",10),Dbf::Field.new("Hello","N",10)])
|
226
|
+
shpfile = GeoRuby::Shp4r::ShpFile.create(File.dirname(__FILE__) + '/../../data/multipoint3.shp',GeoRuby::Shp4r::ShpType::MULTIPOINT,[GeoRuby::Shp4r::Dbf::Field.new("Hoyoyo","C",10),GeoRuby::Shp4r::Dbf::Field.new("Hello","N",10)])
|
229
227
|
shpfile.transaction do |tr|
|
230
|
-
tr.add(ShpRecord.new(MultiPoint.from_coordinates([[123,123.4],[345,12.2]]),'Hoyoyo' => "HJHJJ","Hello" => 5))
|
228
|
+
tr.add(GeoRuby::Shp4r::ShpRecord.new(GeoRuby::SimpleFeatures::MultiPoint.from_coordinates([[123,123.4],[345,12.2]]),'Hoyoyo' => "HJHJJ","Hello" => 5))
|
231
229
|
end
|
232
230
|
shpfile.record_count.should eql(1)
|
233
231
|
shpfile.close
|
@@ -1,16 +1,14 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
3
3
|
|
4
|
-
describe Circle do
|
4
|
+
describe GeoRuby::SimpleFeatures::Circle do
|
5
5
|
|
6
6
|
it "should instantiate" do
|
7
|
-
|
7
|
+
subject.should be_kind_of GeoRuby::SimpleFeatures::Geometry
|
8
8
|
end
|
9
9
|
|
10
|
-
|
11
10
|
describe "Instance" do
|
12
|
-
let(:circle) { Circle.new(4326) }
|
11
|
+
let(:circle) { GeoRuby::SimpleFeatures::Circle.new(4326) }
|
13
12
|
end
|
14
13
|
|
15
|
-
|
16
14
|
end
|
@@ -1,29 +1,29 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
2
|
|
3
|
-
describe Envelope do
|
3
|
+
describe GeoRuby::SimpleFeatures::Envelope do
|
4
4
|
before(:each) do
|
5
5
|
@srid = 4269
|
6
|
-
@env = Envelope.from_points([Point.from_x_y(10,20, @srid),Point.from_x_y(20,30, @srid)], @srid)
|
6
|
+
@env = GeoRuby::SimpleFeatures::Envelope.from_points([GeoRuby::SimpleFeatures::Point.from_x_y(10,20, @srid),GeoRuby::SimpleFeatures::Point.from_x_y(20,30, @srid)], @srid)
|
7
7
|
end
|
8
8
|
|
9
9
|
it "should initialize" do
|
10
|
-
@env.should be_instance_of(Envelope)
|
10
|
+
@env.should be_instance_of(GeoRuby::SimpleFeatures::Envelope)
|
11
11
|
end
|
12
12
|
|
13
13
|
it "converted tu" do
|
14
|
-
linear_ring = LinearRing.from_coordinates([[12.4,-45.3],[45.4,41.6],[4.456,1.0698],[12.4,-45.3]],256)
|
15
|
-
polygon = Polygon.from_linear_rings([linear_ring],256)
|
14
|
+
linear_ring = GeoRuby::SimpleFeatures::LinearRing.from_coordinates([[12.4,-45.3],[45.4,41.6],[4.456,1.0698],[12.4,-45.3]],256)
|
15
|
+
polygon = GeoRuby::SimpleFeatures::Polygon.from_linear_rings([linear_ring],256)
|
16
16
|
e = polygon.envelope
|
17
17
|
|
18
|
-
e.lower_corner.class.should eql(Point)
|
19
|
-
e.upper_corner.class.should eql(Point)
|
18
|
+
e.lower_corner.class.should eql(GeoRuby::SimpleFeatures::Point)
|
19
|
+
e.upper_corner.class.should eql(GeoRuby::SimpleFeatures::Point)
|
20
20
|
|
21
21
|
e.lower_corner.x.should eql(4.456)
|
22
22
|
e.lower_corner.y.should eql(-45.3)
|
23
23
|
e.upper_corner.x.should eql(45.4)
|
24
24
|
e.upper_corner.y.should eql(41.6)
|
25
25
|
|
26
|
-
line_string = LineString.from_coordinates([[13.6,-49.3],[45.4,44.6],[14.2,1.09],[13.6,-49.3]],256)
|
26
|
+
line_string = GeoRuby::SimpleFeatures::LineString.from_coordinates([[13.6,-49.3],[45.4,44.6],[14.2,1.09],[13.6,-49.3]],256)
|
27
27
|
e2 = line_string.envelope
|
28
28
|
|
29
29
|
e3 = e.extend(e2)
|
@@ -1,106 +1,106 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
2
|
|
3
|
-
describe EWKBParser do
|
3
|
+
describe GeoRuby::SimpleFeatures::EWKBParser do
|
4
4
|
|
5
5
|
before(:each) do
|
6
|
-
@factory = GeometryFactory::new
|
7
|
-
@hex_ewkb_parser = HexEWKBParser::new(@factory)
|
6
|
+
@factory = GeoRuby::SimpleFeatures::GeometryFactory::new
|
7
|
+
@hex_ewkb_parser = GeoRuby::SimpleFeatures::HexEWKBParser::new(@factory)
|
8
8
|
end
|
9
9
|
|
10
10
|
it "test_point2d" do
|
11
11
|
@hex_ewkb_parser.parse("01010000207B000000CDCCCCCCCCCC28406666666666A64640")
|
12
12
|
point = @factory.geometry
|
13
|
-
point.should be_instance_of Point
|
14
|
-
point.should == Point.from_x_y(12.4,45.3,123)
|
13
|
+
point.should be_instance_of GeoRuby::SimpleFeatures::Point
|
14
|
+
point.should == GeoRuby::SimpleFeatures::Point.from_x_y(12.4,45.3,123)
|
15
15
|
end
|
16
16
|
|
17
17
|
it "test_point2d_BigEndian" do
|
18
18
|
@hex_ewkb_parser.parse("00000000014013A035BD512EC7404A3060C38F3669")
|
19
19
|
point = @factory.geometry
|
20
|
-
point.should be_instance_of Point
|
21
|
-
point.should == Point.from_x_y(4.906455,52.377953)
|
20
|
+
point.should be_instance_of GeoRuby::SimpleFeatures::Point
|
21
|
+
point.should == GeoRuby::SimpleFeatures::Point.from_x_y(4.906455,52.377953)
|
22
22
|
end
|
23
23
|
|
24
24
|
it "test_point3dz" do
|
25
25
|
@hex_ewkb_parser.parse("01010000A07B000000CDCCCCCCCCCC28406666666666A646400000000000000CC0")
|
26
26
|
point = @factory.geometry
|
27
|
-
point.should be_instance_of Point
|
28
|
-
point.should == Point.from_x_y_z(12.4,45.3,-3.5,123)
|
27
|
+
point.should be_instance_of GeoRuby::SimpleFeatures::Point
|
28
|
+
point.should == GeoRuby::SimpleFeatures::Point.from_x_y_z(12.4,45.3,-3.5,123)
|
29
29
|
end
|
30
30
|
|
31
31
|
it "test_point4d" do
|
32
32
|
@hex_ewkb_parser.parse("01010000E07B000000CDCCCCCCCCCC28406666666666A646400000000000000CC00000000000002E40")
|
33
33
|
point = @factory.geometry
|
34
|
-
point.should be_instance_of Point
|
35
|
-
point.should == Point.from_x_y_z_m(12.4,45.3,-3.5,15,123)
|
34
|
+
point.should be_instance_of GeoRuby::SimpleFeatures::Point
|
35
|
+
point.should == GeoRuby::SimpleFeatures::Point.from_x_y_z_m(12.4,45.3,-3.5,15,123)
|
36
36
|
end
|
37
37
|
|
38
38
|
it "test_line_string" do
|
39
39
|
@hex_ewkb_parser.parse("01020000200001000002000000CDCCCCCCCCCC28406666666666A646C03333333333B34640CDCCCCCCCCCC4440")
|
40
40
|
line_string = @factory.geometry
|
41
|
-
line_string.should be_instance_of LineString
|
42
|
-
line_string.should == LineString.from_coordinates([[12.4,-45.3],[45.4,41.6]],256)
|
41
|
+
line_string.should be_instance_of GeoRuby::SimpleFeatures::LineString
|
42
|
+
line_string.should == GeoRuby::SimpleFeatures::LineString.from_coordinates([[12.4,-45.3],[45.4,41.6]],256)
|
43
43
|
|
44
44
|
@hex_ewkb_parser.parse("01020000A00001000002000000CDCCCCCCCCCC28406666666666A646C06666666666A641403333333333B34640CDCCCCCCCCCC44409A99999999992840")
|
45
45
|
line_string = @factory.geometry
|
46
|
-
line_string.should be_instance_of LineString
|
47
|
-
line_string.should == LineString.from_coordinates([[12.4,-45.3,35.3],[45.4,41.6,12.3]],256,true)
|
46
|
+
line_string.should be_instance_of GeoRuby::SimpleFeatures::LineString
|
47
|
+
line_string.should == GeoRuby::SimpleFeatures::LineString.from_coordinates([[12.4,-45.3,35.3],[45.4,41.6,12.3]],256,true)
|
48
48
|
|
49
49
|
@hex_ewkb_parser.parse("01020000E00001000002000000CDCCCCCCCCCC28406666666666A646C06666666666A64140CDCCCCCCCC8C46403333333333B34640CDCCCCCCCCCC44409A999999999928403D0AD7A3701D4440")
|
50
50
|
line_string = @factory.geometry
|
51
|
-
line_string.should be_instance_of LineString
|
52
|
-
line_string.should == LineString.from_coordinates([[12.4,-45.3,35.3,45.1],[45.4,41.6,12.3,40.23]],256,true,true)
|
51
|
+
line_string.should be_instance_of GeoRuby::SimpleFeatures::LineString
|
52
|
+
line_string.should == GeoRuby::SimpleFeatures::LineString.from_coordinates([[12.4,-45.3,35.3,45.1],[45.4,41.6,12.3,40.23]],256,true,true)
|
53
53
|
end
|
54
54
|
|
55
55
|
it "test_polygon" do
|
56
56
|
@hex_ewkb_parser.parse("0103000020000100000200000005000000000000000000000000000000000000000000000000001040000000000000000000000000000010400000000000001040000000000000000000000000000010400000000000000000000000000000000005000000000000000000F03F000000000000F03F0000000000000840000000000000F03F00000000000008400000000000000840000000000000F03F0000000000000840000000000000F03F000000000000F03F")
|
57
57
|
polygon = @factory.geometry
|
58
|
-
polygon.should be_instance_of Polygon
|
59
|
-
polygon.should == Polygon.from_coordinates([[[0,0],[4,0],[4,4],[0,4],[0,0]],[[1,1],[3,1],[3,3],[1,3],[1,1]]],256)
|
58
|
+
polygon.should be_instance_of GeoRuby::SimpleFeatures::Polygon
|
59
|
+
polygon.should == GeoRuby::SimpleFeatures::Polygon.from_coordinates([[[0,0],[4,0],[4,4],[0,4],[0,0]],[[1,1],[3,1],[3,3],[1,3],[1,1]]],256)
|
60
60
|
|
61
61
|
@hex_ewkb_parser.parse("01030000A000010000020000000500000000000000000000000000000000000000000000000000004000000000000010400000000000000000000000000000004000000000000010400000000000001040000000000000004000000000000000000000000000001040000000000000004000000000000000000000000000000000000000000000004005000000000000000000F03F000000000000F03F00000000000000400000000000000840000000000000F03F0000000000000040000000000000084000000000000008400000000000000040000000000000F03F00000000000008400000000000000040000000000000F03F000000000000F03F0000000000000040")
|
62
62
|
polygon = @factory.geometry
|
63
|
-
polygon.should be_instance_of Polygon
|
64
|
-
polygon.should == 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)
|
63
|
+
polygon.should be_instance_of GeoRuby::SimpleFeatures::Polygon
|
64
|
+
polygon.should == GeoRuby::SimpleFeatures::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)
|
65
65
|
|
66
66
|
@hex_ewkb_parser.parse("010300006000010000020000000500000000000000000000000000000000000000000000000000004000000000000010400000000000000000000000000000004000000000000010400000000000001040000000000000004000000000000000000000000000001040000000000000004000000000000000000000000000000000000000000000004005000000000000000000F03F000000000000F03F00000000000000400000000000000840000000000000F03F0000000000000040000000000000084000000000000008400000000000000040000000000000F03F00000000000008400000000000000040000000000000F03F000000000000F03F0000000000000040")
|
67
67
|
polygon = @factory.geometry
|
68
|
-
polygon.should be_instance_of Polygon
|
69
|
-
polygon.should == 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)
|
68
|
+
polygon.should be_instance_of GeoRuby::SimpleFeatures::Polygon
|
69
|
+
polygon.should == GeoRuby::SimpleFeatures::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)
|
70
70
|
|
71
71
|
@hex_ewkb_parser.parse("01030000E0000100000200000005000000000000000000000000000000000000000000000000000040CDCCCCCCCC8C46C00000000000001040000000000000000000000000000000400000000000001440000000000000104000000000000010400000000000000040AE47E17A14AE1240000000000000000000000000000010400000000000000040713D0AD7A370F53F000000000000000000000000000000000000000000000040CDCCCCCCCC8C46C005000000000000000000F03F000000000000F03F00000000000000409A999999999928400000000000000840000000000000F03F00000000000000400000000000C05E400000000000000840000000000000084000000000000000406666666666662840000000000000F03F000000000000084000000000000000400000000000002840000000000000F03F000000000000F03F00000000000000409A99999999992840")
|
72
72
|
polygon = @factory.geometry
|
73
|
-
polygon.should be_instance_of Polygon
|
74
|
-
polygon.should == 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)
|
73
|
+
polygon.should be_instance_of GeoRuby::SimpleFeatures::Polygon
|
74
|
+
polygon.should == GeoRuby::SimpleFeatures::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)
|
75
75
|
end
|
76
76
|
|
77
77
|
it "test_geometry_collection" do
|
78
78
|
@hex_ewkb_parser.parse("010700002000010000020000000101000000AE47E17A14AE12403333333333B34640010200000002000000CDCCCCCCCCCC16406666666666E628403333333333E350400000000000004B40")
|
79
79
|
geometry_collection = @factory.geometry
|
80
|
-
geometry_collection.should be_instance_of GeometryCollection
|
80
|
+
geometry_collection.should be_instance_of GeoRuby::SimpleFeatures::GeometryCollection
|
81
81
|
|
82
|
-
geometry_collection.should == GeometryCollection.from_geometries([Point.from_x_y(4.67,45.4,256),LineString.from_coordinates([[5.7,12.45],[67.55,54]],256)],256)
|
82
|
+
geometry_collection.should == GeoRuby::SimpleFeatures::GeometryCollection.from_geometries([GeoRuby::SimpleFeatures::Point.from_x_y(4.67,45.4,256),GeoRuby::SimpleFeatures::LineString.from_coordinates([[5.7,12.45],[67.55,54]],256)],256)
|
83
83
|
geometry_collection[0].srid.should eql(256)
|
84
84
|
|
85
85
|
@hex_ewkb_parser.parse("01070000E0000100000200000001010000C0AE47E17A14AE12403333333333B34640F6285C8FC2D54640666666666666024001020000C002000000CDCCCCCCCCCC16406666666666E628403D0AD7A3703D124033333333339358403333333333E350400000000000004B4066666666666628403333333333330B40")
|
86
86
|
geometry_collection = @factory.geometry
|
87
|
-
geometry_collection.should be_instance_of GeometryCollection
|
88
|
-
geometry_collection.should == GeometryCollection.from_geometries([Point.from_x_y_z_m(4.67,45.4,45.67,2.3,256),LineString.from_coordinates([[5.7,12.45,4.56,98.3],[67.55,54,12.2,3.4]],256,true, true)],256,true, true)
|
87
|
+
geometry_collection.should be_instance_of GeoRuby::SimpleFeatures::GeometryCollection
|
88
|
+
geometry_collection.should == GeoRuby::SimpleFeatures::GeometryCollection.from_geometries([GeoRuby::SimpleFeatures::Point.from_x_y_z_m(4.67,45.4,45.67,2.3,256),GeoRuby::SimpleFeatures::LineString.from_coordinates([[5.7,12.45,4.56,98.3],[67.55,54,12.2,3.4]],256,true, true)],256,true, true)
|
89
89
|
geometry_collection[0].srid.should eql(256)
|
90
90
|
end
|
91
91
|
|
92
92
|
it "test_multi_point" do
|
93
93
|
@hex_ewkb_parser.parse("0104000020BC010000030000000101000000CDCCCCCCCCCC28403333333333D35EC0010100000066666666664650C09A99999999D95E4001010000001F97DD388EE35E400000000000C05E40")
|
94
94
|
multi_point = @factory.geometry
|
95
|
-
multi_point.should be_instance_of MultiPoint
|
96
|
-
multi_point.should == MultiPoint.from_coordinates([[12.4,-123.3],[-65.1,123.4],[123.55555555,123]],444)
|
95
|
+
multi_point.should be_instance_of GeoRuby::SimpleFeatures::MultiPoint
|
96
|
+
multi_point.should == GeoRuby::SimpleFeatures::MultiPoint.from_coordinates([[12.4,-123.3],[-65.1,123.4],[123.55555555,123]],444)
|
97
97
|
multi_point.srid.should eql(444)
|
98
98
|
multi_point[0].srid.should eql(444)
|
99
99
|
|
100
100
|
@hex_ewkb_parser.parse("01040000A0BC010000030000000101000080CDCCCCCCCCCC28403333333333D35EC00000000000001240010100008066666666664650C09A99999999D95E40333333333333F33F01010000801F97DD388EE35E400000000000C05E406666666666660240")
|
101
101
|
multi_point = @factory.geometry
|
102
|
-
multi_point.should be_instance_of MultiPoint
|
103
|
-
multi_point.should == MultiPoint.from_coordinates([[12.4,-123.3,4.5],[-65.1,123.4,1.2],[123.55555555,123,2.3]],444,true)
|
102
|
+
multi_point.should be_instance_of GeoRuby::SimpleFeatures::MultiPoint
|
103
|
+
multi_point.should == GeoRuby::SimpleFeatures::MultiPoint.from_coordinates([[12.4,-123.3,4.5],[-65.1,123.4,1.2],[123.55555555,123,2.3]],444,true)
|
104
104
|
multi_point.srid.should eql(444)
|
105
105
|
multi_point[0].srid.should eql(444)
|
106
106
|
end
|
@@ -108,15 +108,15 @@ describe EWKBParser do
|
|
108
108
|
it "test_multi_line_string" do
|
109
109
|
@hex_ewkb_parser.parse("01050000200001000002000000010200000002000000000000000000F83F9A99999999994640E4BD6A65C20F4BC0FA7E6ABC749388BF010200000003000000000000000000F83F9A99999999994640E4BD6A65C20F4BC0FA7E6ABC749388BF39B4C876BE8F46403333333333D35E40")
|
110
110
|
multi_line_string = @factory.geometry
|
111
|
-
multi_line_string.should be_instance_of MultiLineString
|
112
|
-
multi_line_string.should == MultiLineString.from_line_strings([LineString.from_coordinates([[1.5,45.2],[-54.12312,-0.012]],256),LineString.from_coordinates([[1.5,45.2],[-54.12312,-0.012],[45.123,123.3]],256)],256)
|
111
|
+
multi_line_string.should be_instance_of GeoRuby::SimpleFeatures::MultiLineString
|
112
|
+
multi_line_string.should == GeoRuby::SimpleFeatures::MultiLineString.from_line_strings([GeoRuby::SimpleFeatures::LineString.from_coordinates([[1.5,45.2],[-54.12312,-0.012]],256),GeoRuby::SimpleFeatures::LineString.from_coordinates([[1.5,45.2],[-54.12312,-0.012],[45.123,123.3]],256)],256)
|
113
113
|
multi_line_string.srid.should eql(256)
|
114
114
|
multi_line_string[0].srid.should eql(256)
|
115
115
|
|
116
116
|
@hex_ewkb_parser.parse("0105000020000100000200000001020000C002000000000000000000F83F9A99999999994640CDCCCCCCCCCCF43F333333333333F33FE4BD6A65C20F4BC0FA7E6ABC749388BF333333333333F33F000000000000124001020000C003000000000000000000F83F9A99999999994640666666666666144000000000000012C0E4BD6A65C20F4BC0FA7E6ABC749388BF3333333333331BC03333333333330B4039B4C876BE8F46403333333333D35E40000000000000124033333333333315C0")
|
117
117
|
multi_line_string = @factory.geometry
|
118
|
-
multi_line_string.should be_instance_of MultiLineString
|
119
|
-
multi_line_string.should == MultiLineString.from_line_strings([LineString.from_coordinates([[1.5,45.2,1.3,1.2],[-54.12312,-0.012,1.2,4.5]],256,true,true),LineString.from_coordinates([[1.5,45.2,5.1,-4.5],[-54.12312,-0.012,-6.8,3.4],[45.123,123.3,4.5,-5.3]],256,true,true)],256,true,true)
|
118
|
+
multi_line_string.should be_instance_of GeoRuby::SimpleFeatures::MultiLineString
|
119
|
+
multi_line_string.should == GeoRuby::SimpleFeatures::MultiLineString.from_line_strings([GeoRuby::SimpleFeatures::LineString.from_coordinates([[1.5,45.2,1.3,1.2],[-54.12312,-0.012,1.2,4.5]],256,true,true),GeoRuby::SimpleFeatures::LineString.from_coordinates([[1.5,45.2,5.1,-4.5],[-54.12312,-0.012,-6.8,3.4],[45.123,123.3,4.5,-5.3]],256,true,true)],256,true,true)
|
120
120
|
multi_line_string.srid.should eql(256)
|
121
121
|
multi_line_string[0].srid.should eql(256)
|
122
122
|
end
|
@@ -124,15 +124,15 @@ describe EWKBParser do
|
|
124
124
|
it "test_multi_polygon" do
|
125
125
|
@hex_ewkb_parser.parse("0106000020000100000200000001030000000200000004000000CDCCCCCCCCCC28406666666666A646C03333333333B34640CDCCCCCCCCCC44406DE7FBA9F1D211403D2CD49AE61DF13FCDCCCCCCCCCC28406666666666A646C004000000333333333333034033333333333315409A999999999915408A8EE4F21FD2F63FEC51B81E85EB2C40F6285C8FC2F5F03F3333333333330340333333333333154001030000000200000005000000000000000000000000000000000000000000000000001040000000000000000000000000000010400000000000001040000000000000000000000000000010400000000000000000000000000000000005000000000000000000F03F000000000000F03F0000000000000840000000000000F03F00000000000008400000000000000840000000000000F03F0000000000000840000000000000F03F000000000000F03F")
|
126
126
|
multi_polygon = @factory.geometry
|
127
|
-
multi_polygon.should be_instance_of MultiPolygon
|
128
|
-
multi_polygon.should == MultiPolygon.from_polygons([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),Polygon.from_coordinates([[[0,0],[4,0],[4,4],[0,4],[0,0]],[[1,1],[3,1],[3,3],[1,3],[1,1]]],256)],256)
|
127
|
+
multi_polygon.should be_instance_of GeoRuby::SimpleFeatures::MultiPolygon
|
128
|
+
multi_polygon.should == GeoRuby::SimpleFeatures::MultiPolygon.from_polygons([GeoRuby::SimpleFeatures::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),GeoRuby::SimpleFeatures::Polygon.from_coordinates([[[0,0],[4,0],[4,4],[0,4],[0,0]],[[1,1],[3,1],[3,3],[1,3],[1,1]]],256)],256)
|
129
129
|
multi_polygon.srid.should eql(256)
|
130
130
|
multi_polygon[0].srid.should eql(256)
|
131
131
|
|
132
132
|
@hex_ewkb_parser.parse("0106000020000100000200000001030000400200000004000000CDCCCCCCCCCC28406666666666A646C0333333333333F33F3333333333B34640CDCCCCCCCCCC4440333333333333F33F6DE7FBA9F1D211403D2CD49AE61DF13F333333333333F33FCDCCCCCCCCCC28406666666666A646C0333333333333F33F0400000033333333333303403333333333331540333333333333F33F9A999999999915408A8EE4F21FD2F63F333333333333F33FEC51B81E85EB2C40F6285C8FC2F5F03F333333333333F33F33333333333303403333333333331540333333333333F33F0103000040020000000500000000000000000000000000000000000000333333333333F33F00000000000010400000000000000000333333333333F33F00000000000010400000000000001040666666666666024000000000000000000000000000001040333333333333F33F00000000000000000000000000000000333333333333F33F05000000000000000000F03F000000000000F03F9A999999999901400000000000000840000000000000F03F6666666666660A40000000000000084000000000000008409A9999999999F13F000000000000F03F00000000000008403333333333330340000000000000F03F000000000000F03F9A99999999990140")
|
133
133
|
multi_polygon = @factory.geometry
|
134
|
-
multi_polygon.should be_instance_of MultiPolygon
|
135
|
-
multi_polygon.should == MultiPolygon.from_polygons([Polygon.from_coordinates([[[12.4,-45.3,1.2],[45.4,41.6,1.2],[4.456,1.0698,1.2],[12.4,-45.3,1.2]],[[2.4,5.3,1.2],[5.4,1.4263,1.2],[14.46,1.06,1.2],[2.4,5.3,1.2]]],256,false,true),Polygon.from_coordinates([[[0,0,1.2],[4,0,1.2],[4,4,2.3],[0,4,1.2],[0,0,1.2]],[[1,1,2.2],[3,1,3.3],[3,3,1.1],[1,3,2.4],[1,1,2.2]]],256,false,true)],256,false,true)
|
134
|
+
multi_polygon.should be_instance_of GeoRuby::SimpleFeatures::MultiPolygon
|
135
|
+
multi_polygon.should == GeoRuby::SimpleFeatures::MultiPolygon.from_polygons([GeoRuby::SimpleFeatures::Polygon.from_coordinates([[[12.4,-45.3,1.2],[45.4,41.6,1.2],[4.456,1.0698,1.2],[12.4,-45.3,1.2]],[[2.4,5.3,1.2],[5.4,1.4263,1.2],[14.46,1.06,1.2],[2.4,5.3,1.2]]],256,false,true),GeoRuby::SimpleFeatures::Polygon.from_coordinates([[[0,0,1.2],[4,0,1.2],[4,4,2.3],[0,4,1.2],[0,0,1.2]],[[1,1,2.2],[3,1,3.3],[3,3,1.1],[1,3,2.4],[1,1,2.2]]],256,false,true)],256,false,true)
|
136
136
|
multi_polygon.srid.should eql(256)
|
137
137
|
multi_polygon[0].srid.should eql(256)
|
138
138
|
end
|
@@ -140,19 +140,19 @@ describe EWKBParser do
|
|
140
140
|
|
141
141
|
it "test_failure_trailing_data" do
|
142
142
|
#added A345 at the end
|
143
|
-
lambda {@hex_ewkb_parser.parse("01010000207B000000CDCCCCCCCCCC28406666666666A64640A345")}.should raise_error(EWKBFormatError)
|
143
|
+
lambda {@hex_ewkb_parser.parse("01010000207B000000CDCCCCCCCCCC28406666666666A64640A345")}.should raise_error(GeoRuby::SimpleFeatures::EWKBFormatError)
|
144
144
|
end
|
145
145
|
|
146
146
|
it "test_failure_unknown_geometry_type" do
|
147
|
-
lambda {@hex_ewkb_parser.parse("01090000207B000000CDCCCCCCCCCC28406666666666A64640")}.should raise_error(EWKBFormatError)
|
147
|
+
lambda {@hex_ewkb_parser.parse("01090000207B000000CDCCCCCCCCCC28406666666666A64640")}.should raise_error(GeoRuby::SimpleFeatures::EWKBFormatError)
|
148
148
|
end
|
149
149
|
|
150
150
|
it "test_failure_m" do
|
151
|
-
lambda {@hex_ewkb_parser.parse("01010000607B000000CDCCCCCCCCCC28406666666666A64640")}.should raise_error(EWKBFormatError)
|
151
|
+
lambda {@hex_ewkb_parser.parse("01010000607B000000CDCCCCCCCCCC28406666666666A64640")}.should raise_error(GeoRuby::SimpleFeatures::EWKBFormatError)
|
152
152
|
end
|
153
153
|
|
154
154
|
it "test_failure_truncated_data" do
|
155
|
-
lambda {@hex_ewkb_parser.parse("01010000207B000000CDCCCCCCCCCC2840666666")}.should raise_error(EWKBFormatError)
|
155
|
+
lambda {@hex_ewkb_parser.parse("01010000207B000000CDCCCCCCCCCC2840666666")}.should raise_error(GeoRuby::SimpleFeatures::EWKBFormatError)
|
156
156
|
end
|
157
157
|
|
158
158
|
end
|