geos-extensions 0.2.2 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/.gitignore +3 -0
- data/Gemfile +17 -0
- data/Guardfile +17 -0
- data/MIT-LICENSE +1 -1
- data/README.rdoc +19 -91
- data/Rakefile +1 -12
- data/geos-extensions.gemspec +1 -9
- data/lib/geos-extensions.rb +1 -9
- data/lib/geos/coordinate_sequence.rb +92 -0
- data/lib/geos/extensions/version.rb +1 -1
- data/lib/geos/geometry.rb +252 -0
- data/lib/geos/geometry_collection.rb +60 -0
- data/lib/geos/geos_helper.rb +86 -72
- data/lib/geos/google_maps.rb +1 -0
- data/lib/geos/google_maps/api_2.rb +9 -23
- data/lib/geos/google_maps/api_3.rb +10 -24
- data/lib/geos/google_maps/api_common.rb +41 -0
- data/lib/geos/line_string.rb +15 -0
- data/lib/geos/multi_line_string.rb +15 -0
- data/lib/geos/multi_point.rb +15 -0
- data/lib/geos/multi_polygon.rb +27 -0
- data/lib/geos/point.rb +120 -0
- data/lib/geos/polygon.rb +158 -0
- data/lib/geos/yaml.rb +30 -0
- data/lib/geos/yaml/psych.rb +18 -0
- data/lib/geos/yaml/syck.rb +41 -0
- data/lib/geos_extensions.rb +110 -711
- data/test/google_maps_api_2_tests.rb +54 -32
- data/test/google_maps_api_3_tests.rb +58 -36
- data/test/google_maps_polyline_encoder_tests.rb +1 -1
- data/test/helper_tests.rb +28 -0
- data/test/misc_tests.rb +130 -10
- data/test/reader_tests.rb +38 -1
- data/test/test_helper.rb +54 -146
- data/test/writer_tests.rb +329 -10
- data/test/yaml_tests.rb +203 -0
- metadata +26 -102
- data/app/models/geos/geometry_column.rb +0 -39
- data/app/models/geos/spatial_ref_sys.rb +0 -12
- data/lib/geos/active_record_extensions.rb +0 -12
- data/lib/geos/active_record_extensions/connection_adapters/postgresql_adapter.rb +0 -151
- data/lib/geos/active_record_extensions/spatial_columns.rb +0 -367
- data/lib/geos/active_record_extensions/spatial_scopes.rb +0 -493
- data/lib/geos/rails/engine.rb +0 -6
- data/lib/tasks/test.rake +0 -42
- data/test/adapter_tests.rb +0 -38
- data/test/database.yml +0 -17
- data/test/fixtures/foo3ds.yml +0 -16
- data/test/fixtures/foo_geographies.yml +0 -16
- data/test/fixtures/foos.yml +0 -16
- data/test/geography_columns_tests.rb +0 -176
- data/test/geometry_columns_tests.rb +0 -178
- data/test/spatial_scopes_geographies_tests.rb +0 -107
- data/test/spatial_scopes_tests.rb +0 -337
data/lib/geos/rails/engine.rb
DELETED
data/lib/tasks/test.rake
DELETED
@@ -1,42 +0,0 @@
|
|
1
|
-
|
2
|
-
namespace :test do
|
3
|
-
desc "Dumps data from the geometry_columns and spatial_ref_sys tables."
|
4
|
-
task :postgis_dump do
|
5
|
-
abcs = ActiveRecord::Base.configurations
|
6
|
-
ENV['PGHOST'] = abcs[Rails.env]["host"] if abcs[Rails.env]["host"]
|
7
|
-
ENV['PGPORT'] = abcs[Rails.env]["port"].to_s if abcs[Rails.env]["port"]
|
8
|
-
ENV['PGPASSWORD'] = abcs[Rails.env]["password"].to_s if abcs[Rails.env]["password"]
|
9
|
-
search_path = abcs[Rails.env]["schema_search_path"]
|
10
|
-
unless search_path.blank?
|
11
|
-
search_path = search_path.split(",").map{|search_path| "--schema=#{search_path.strip}" }.join(" ")
|
12
|
-
end
|
13
|
-
|
14
|
-
tables = %w{ geometry_columns spatial_ref_sys }.select do |table|
|
15
|
-
ActiveRecord::Base.connection.table_exists?(table)
|
16
|
-
end
|
17
|
-
|
18
|
-
unless tables.empty?
|
19
|
-
`pg_dump -i -U "#{abcs[Rails.env]["username"]}" --data-only -t #{tables.join(' -t ')} -x -O -f db/#{Rails.env}_postgis_tables.sql #{search_path} #{abcs[Rails.env]["database"]}`
|
20
|
-
else
|
21
|
-
File.open("db/#{Rails.env}_postgis_tables.sql", 'w') do |fp|
|
22
|
-
fp.puts "-- empty, do geometry_columns and spatial_ref_sys tables exist?"
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
desc "Loads the geometry_columns and spatial_ref_sys tables."
|
28
|
-
task :postgis_load do
|
29
|
-
abcs = ActiveRecord::Base.configurations
|
30
|
-
ENV['PGHOST'] = abcs["test"]["host"] if abcs["test"]["host"]
|
31
|
-
ENV['PGPORT'] = abcs["test"]["port"].to_s if abcs["test"]["port"]
|
32
|
-
ENV['PGPASSWORD'] = abcs["test"]["password"].to_s if abcs["test"]["password"]
|
33
|
-
|
34
|
-
`psql -U "#{abcs["test"]["username"]}" -f #{Rails.root}/db/#{Rails.env}_postgis_tables.sql #{abcs["test"]["database"]}`
|
35
|
-
end
|
36
|
-
|
37
|
-
desc "Dumps and loads the geometry_columns and spatial_ref_sys_tables."
|
38
|
-
task :postgis_clone => [ :postgis_dump, :postgis_load ]
|
39
|
-
end
|
40
|
-
|
41
|
-
Rake::Task['test:prepare'].enhance(['test:postgis_clone'])
|
42
|
-
|
data/test/adapter_tests.rb
DELETED
@@ -1,38 +0,0 @@
|
|
1
|
-
|
2
|
-
$: << File.dirname(__FILE__)
|
3
|
-
require 'test_helper'
|
4
|
-
|
5
|
-
if ENV['TEST_ACTIVERECORD']
|
6
|
-
class AdapterTests < ActiveRecord::TestCase
|
7
|
-
include TestHelper
|
8
|
-
include ActiveRecord::TestFixtures
|
9
|
-
|
10
|
-
def test_simplified_type
|
11
|
-
geometry_columns = Foo.columns.select do |c|
|
12
|
-
c.type == :geometry
|
13
|
-
end
|
14
|
-
|
15
|
-
other_columns = Foo.columns.select do |c|
|
16
|
-
c.type != :geometry
|
17
|
-
end
|
18
|
-
|
19
|
-
assert_equal(2, geometry_columns.length)
|
20
|
-
assert_equal(2, other_columns.length)
|
21
|
-
end
|
22
|
-
|
23
|
-
if Geos::ActiveRecord.geography_columns?
|
24
|
-
def test_simplified_type_geography
|
25
|
-
geography_columns = FooGeography.columns.select do |c|
|
26
|
-
c.type == :geography
|
27
|
-
end
|
28
|
-
|
29
|
-
other_columns = FooGeography.columns.select do |c|
|
30
|
-
c.type != :geography
|
31
|
-
end
|
32
|
-
|
33
|
-
assert_equal(2, geography_columns.length)
|
34
|
-
assert_equal(2, other_columns.length)
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
data/test/database.yml
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
---
|
2
|
-
# To modify the test database parameters, create a new file called
|
3
|
-
# local_database.yml and go nuts with settings. The "jdbc" settings
|
4
|
-
# are merged into the "arunit" settings as JDBC works over a TCP
|
5
|
-
# socket and those sorts of connections generally require some user
|
6
|
-
# credentials.
|
7
|
-
|
8
|
-
arunit:
|
9
|
-
adapter: "postgresql"
|
10
|
-
database: "geos_extensions_unit_tests"
|
11
|
-
min_messages: "warning"
|
12
|
-
schema_search_path: "public"
|
13
|
-
|
14
|
-
jdbc:
|
15
|
-
host: "localhost"
|
16
|
-
adapter: "jdbcpostgresql"
|
17
|
-
|
data/test/fixtures/foo3ds.yml
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
---
|
2
|
-
one:
|
3
|
-
id: 1
|
4
|
-
name: "one"
|
5
|
-
the_geom: 'POINT(0 0 0)'
|
6
|
-
the_other_geom: 'SRID=4326; POINT(10 10 10)'
|
7
|
-
two:
|
8
|
-
id: 2
|
9
|
-
name: "two"
|
10
|
-
the_geom: 'POINT(10 10 10)'
|
11
|
-
the_other_geom: 'SRID=4326; POINT(20 20 20)'
|
12
|
-
three:
|
13
|
-
id: 3
|
14
|
-
name: "three"
|
15
|
-
the_geom: 'POLYGON((-5 -5 -5, -5 5 5, 5 5 5, 5 -5 -5, -5 -5 -5))'
|
16
|
-
the_other_geom: 'SRID=4326; POLYGON((5 5 5, 5 10 10, 10 10 10, 10 5 5, 5 5 5))'
|
@@ -1,16 +0,0 @@
|
|
1
|
-
---
|
2
|
-
one:
|
3
|
-
id: 1
|
4
|
-
name: "one"
|
5
|
-
the_geom: 'POINT(0 0)'
|
6
|
-
the_other_geom: 'SRID=4326; POINT(10 10)'
|
7
|
-
two:
|
8
|
-
id: 2
|
9
|
-
name: "two"
|
10
|
-
the_geom: 'POINT(10 10)'
|
11
|
-
the_other_geom: 'SRID=4326; POINT(20 20)'
|
12
|
-
three:
|
13
|
-
id: 3
|
14
|
-
name: "three"
|
15
|
-
the_geom: 'POLYGON((-5 -5, -5 5, 5 5, 5 -5, -5 -5))'
|
16
|
-
the_other_geom: 'SRID=4326; POLYGON((5 5, 5 10, 10 10, 10 5, 5 5))'
|
data/test/fixtures/foos.yml
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
---
|
2
|
-
one:
|
3
|
-
id: 1
|
4
|
-
name: "one"
|
5
|
-
the_geom: 'POINT(0 0)'
|
6
|
-
the_other_geom: 'SRID=4326; POINT(10 10)'
|
7
|
-
two:
|
8
|
-
id: 2
|
9
|
-
name: "two"
|
10
|
-
the_geom: 'POINT(10 10)'
|
11
|
-
the_other_geom: 'SRID=4326; POINT(20 20)'
|
12
|
-
three:
|
13
|
-
id: 3
|
14
|
-
name: "three"
|
15
|
-
the_geom: 'POLYGON((-5 -5, -5 5, 5 5, 5 -5, -5 -5))'
|
16
|
-
the_other_geom: 'SRID=4326; POLYGON((5 5, 5 10, 10 10, 10 5, 5 5))'
|
@@ -1,176 +0,0 @@
|
|
1
|
-
|
2
|
-
$: << File.dirname(__FILE__)
|
3
|
-
require 'test_helper'
|
4
|
-
|
5
|
-
if ENV['TEST_ACTIVERECORD']
|
6
|
-
class GeographyColumnsTests < ActiveRecord::TestCase
|
7
|
-
include TestHelper
|
8
|
-
include ActiveRecord::TestFixtures
|
9
|
-
|
10
|
-
self.fixture_path = File.join(File.dirname(__FILE__), 'fixtures')
|
11
|
-
fixtures :foo_geographies
|
12
|
-
|
13
|
-
def test_geography_columns_detected
|
14
|
-
assert_equal(2, FooGeography.geography_columns.length)
|
15
|
-
|
16
|
-
FooGeography.geography_columns.each do |column|
|
17
|
-
assert_kind_of(ActiveRecord::ConnectionAdapters::PostgreSQLSpatialColumn, column)
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
def test_srid_for
|
22
|
-
assert_equal(0, FooGeography.srid_for(:the_geom))
|
23
|
-
assert_equal(4326, FooGeography.srid_for(:the_other_geom))
|
24
|
-
end
|
25
|
-
|
26
|
-
def test_coord_dimension_for
|
27
|
-
assert_equal(2, FooGeography.coord_dimension_for(:the_geom))
|
28
|
-
assert_equal(2, FooGeography.coord_dimension_for(:the_other_geom))
|
29
|
-
end
|
30
|
-
|
31
|
-
def test_geography_column_by_name
|
32
|
-
assert_kind_of(ActiveRecord::ConnectionAdapters::PostgreSQLSpatialColumn, FooGeography.geography_column_by_name(:the_geom))
|
33
|
-
assert_kind_of(ActiveRecord::ConnectionAdapters::PostgreSQLSpatialColumn, FooGeography.geography_column_by_name(:the_other_geom))
|
34
|
-
end
|
35
|
-
|
36
|
-
def test_accessors
|
37
|
-
foo = FooGeography.find(1)
|
38
|
-
|
39
|
-
Geos::ActiveRecord::SpatialColumns::SPATIAL_COLUMN_OUTPUT_FORMATS.each do |format|
|
40
|
-
assert(foo.respond_to?("the_geom_#{format}"))
|
41
|
-
assert(foo.respond_to?("the_other_geom_#{format}"))
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
def test_without_accessor
|
46
|
-
foo = FooGeography.find(1)
|
47
|
-
assert_kind_of(String, foo.the_geom)
|
48
|
-
end
|
49
|
-
|
50
|
-
def test_geos_accessor
|
51
|
-
foo = FooGeography.find(1)
|
52
|
-
assert_kind_of(Geos::Point, foo.the_geom_geos)
|
53
|
-
end
|
54
|
-
|
55
|
-
def test_wkt_accessor
|
56
|
-
foo = FooGeography.find(1)
|
57
|
-
assert_kind_of(String, foo.the_geom_wkt)
|
58
|
-
assert_match(/^POINT\s*\(0\.0+\s+0\.0+\)$/, foo.the_geom_wkt)
|
59
|
-
end
|
60
|
-
|
61
|
-
def test_wkb_accessor
|
62
|
-
foo = FooGeography.find(1)
|
63
|
-
assert_kind_of(String, foo.the_geom_wkb)
|
64
|
-
assert_match(/^[A-F0-9]+$/, foo.the_geom_wkb)
|
65
|
-
end
|
66
|
-
|
67
|
-
def test_ewkt_accessor
|
68
|
-
foo = FooGeography.find(1)
|
69
|
-
assert_kind_of(String, foo.the_geom_ewkt)
|
70
|
-
assert_match(/^SRID=\d+;POINT\s*\(0\.0+\s+0\.0+\)$/, foo.the_geom_ewkt)
|
71
|
-
end
|
72
|
-
|
73
|
-
def test_ewkb_accessor
|
74
|
-
foo = FooGeography.find(1)
|
75
|
-
assert_kind_of(String, foo.the_geom_ewkb)
|
76
|
-
assert(/^[A-F0-9]+$/, foo.the_geom_wkb)
|
77
|
-
end
|
78
|
-
|
79
|
-
def test_wkb_bin_accessor
|
80
|
-
foo = FooGeography.find(1)
|
81
|
-
assert_kind_of(String, foo.the_geom_wkb_bin)
|
82
|
-
end
|
83
|
-
|
84
|
-
def test_ewkb_bin_accessor
|
85
|
-
foo = FooGeography.find(1)
|
86
|
-
assert_kind_of(String, foo.the_geom_ewkb_bin)
|
87
|
-
end
|
88
|
-
|
89
|
-
def test_geos_create
|
90
|
-
foo = FooGeography.create!(
|
91
|
-
:name => 'test_geos_create',
|
92
|
-
:the_geom => Geos.read(POINT_WKT)
|
93
|
-
)
|
94
|
-
|
95
|
-
foo.reload
|
96
|
-
assert_saneness_of_point(foo.the_geom_geos)
|
97
|
-
end
|
98
|
-
|
99
|
-
def test_wkt_create
|
100
|
-
foo = FooGeography.create!(
|
101
|
-
:name => 'test_wkt_create',
|
102
|
-
:the_geom => POINT_WKT
|
103
|
-
)
|
104
|
-
|
105
|
-
foo.reload
|
106
|
-
assert_saneness_of_point(foo.the_geom_geos)
|
107
|
-
end
|
108
|
-
|
109
|
-
def test_wkb_create
|
110
|
-
foo = FooGeography.create!(
|
111
|
-
:name => 'test_wkb_create',
|
112
|
-
:the_geom => POINT_WKB
|
113
|
-
)
|
114
|
-
|
115
|
-
foo.reload
|
116
|
-
assert_saneness_of_point(foo.the_geom_geos)
|
117
|
-
end
|
118
|
-
|
119
|
-
def test_ewkt_create_with_srid_4326
|
120
|
-
foo = FooGeography.create!(
|
121
|
-
:name => 'test_ewkt_create_with_srid_4326',
|
122
|
-
:the_other_geom => POINT_EWKT
|
123
|
-
)
|
124
|
-
|
125
|
-
foo.reload
|
126
|
-
assert_saneness_of_point(foo.the_other_geom_geos)
|
127
|
-
end
|
128
|
-
|
129
|
-
def test_create_with_no_srid_converting_to_4326
|
130
|
-
foo = FooGeography.create!(
|
131
|
-
:name => 'test_ewkt_create_with_no_srid_converting_to_4326',
|
132
|
-
:the_other_geom => POINT_WKT
|
133
|
-
)
|
134
|
-
|
135
|
-
foo.reload
|
136
|
-
assert_saneness_of_point(foo.the_other_geom_geos)
|
137
|
-
end
|
138
|
-
|
139
|
-
def test_create_with_no_srid_converting_to_minus_1
|
140
|
-
foo = FooGeography.create!(
|
141
|
-
:name => 'test_ewkt_create_with_no_srid_converting_to_minus_1',
|
142
|
-
:the_geom => POINT_EWKT
|
143
|
-
)
|
144
|
-
|
145
|
-
foo.reload
|
146
|
-
assert_saneness_of_point(foo.the_geom_geos)
|
147
|
-
end
|
148
|
-
|
149
|
-
def test_create_with_converting_from_900913_to_4326
|
150
|
-
FooGeography.create!(
|
151
|
-
:name => 'test_create_with_converting_from_900913_to_4326',
|
152
|
-
:the_other_geom => "SRID=900913; #{POINT_WKT}"
|
153
|
-
)
|
154
|
-
end
|
155
|
-
|
156
|
-
def test_ewkt_create_with_srid_default
|
157
|
-
foo = FooGeography.create!(
|
158
|
-
:name => 'test_ewkt_create_with_srid_default',
|
159
|
-
:the_other_geom => POINT_EWKT_WITH_DEFAULT
|
160
|
-
)
|
161
|
-
|
162
|
-
foo.reload
|
163
|
-
assert_saneness_of_point(foo.the_other_geom_geos)
|
164
|
-
end
|
165
|
-
|
166
|
-
def test_ewkb_create
|
167
|
-
foo = FooGeography.create!(
|
168
|
-
:name => 'test_ewkb_create',
|
169
|
-
:the_other_geom => POINT_EWKB
|
170
|
-
)
|
171
|
-
|
172
|
-
foo.reload
|
173
|
-
assert_saneness_of_point(foo.the_other_geom_geos)
|
174
|
-
end
|
175
|
-
end
|
176
|
-
end
|
@@ -1,178 +0,0 @@
|
|
1
|
-
|
2
|
-
$: << File.dirname(__FILE__)
|
3
|
-
require 'test_helper'
|
4
|
-
|
5
|
-
if ENV['TEST_ACTIVERECORD']
|
6
|
-
class GeometryColumnsTests < ActiveRecord::TestCase
|
7
|
-
include TestHelper
|
8
|
-
include ActiveRecord::TestFixtures
|
9
|
-
|
10
|
-
self.fixture_path = File.join(File.dirname(__FILE__), 'fixtures')
|
11
|
-
fixtures :foos
|
12
|
-
|
13
|
-
def test_geometry_columns_detected
|
14
|
-
assert_equal(2, Foo.geometry_columns.length)
|
15
|
-
|
16
|
-
Foo.geometry_columns.each do |column|
|
17
|
-
assert_kind_of(ActiveRecord::ConnectionAdapters::PostgreSQLGeometryColumn, column)
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
def test_srid_for
|
22
|
-
assert_equal(Geos::ActiveRecord.UNKNOWN_SRID, Foo.srid_for(:the_geom))
|
23
|
-
assert_equal(4326, Foo.srid_for(:the_other_geom))
|
24
|
-
end
|
25
|
-
|
26
|
-
def test_coord_dimension_for
|
27
|
-
assert_equal(2, Foo.coord_dimension_for(:the_geom))
|
28
|
-
assert_equal(2, Foo.coord_dimension_for(:the_other_geom))
|
29
|
-
end
|
30
|
-
|
31
|
-
def test_geometry_column_by_name
|
32
|
-
assert_kind_of(ActiveRecord::ConnectionAdapters::PostgreSQLGeometryColumn, Foo.geometry_column_by_name(:the_geom))
|
33
|
-
assert_kind_of(ActiveRecord::ConnectionAdapters::PostgreSQLGeometryColumn, Foo.geometry_column_by_name(:the_other_geom))
|
34
|
-
end
|
35
|
-
|
36
|
-
def test_accessors
|
37
|
-
foo = Foo.find(1)
|
38
|
-
|
39
|
-
Geos::ActiveRecord::SpatialColumns::SPATIAL_COLUMN_OUTPUT_FORMATS.each do |format|
|
40
|
-
assert(foo.respond_to?("the_geom_#{format}"))
|
41
|
-
assert(foo.respond_to?("the_other_geom_#{format}"))
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
def test_without_accessor
|
46
|
-
foo = Foo.find(1)
|
47
|
-
assert_kind_of(String, foo.the_geom)
|
48
|
-
end
|
49
|
-
|
50
|
-
def test_geos_accessor
|
51
|
-
foo = Foo.find(1)
|
52
|
-
assert_kind_of(Geos::Point, foo.the_geom_geos)
|
53
|
-
end
|
54
|
-
|
55
|
-
def test_wkt_accessor
|
56
|
-
foo = Foo.find(1)
|
57
|
-
assert_kind_of(String, foo.the_geom_wkt)
|
58
|
-
assert_match(/^POINT\s*\(0\.0+\s+0\.0+\)$/, foo.the_geom_wkt)
|
59
|
-
end
|
60
|
-
|
61
|
-
def test_wkb_accessor
|
62
|
-
foo = Foo.find(1)
|
63
|
-
assert_kind_of(String, foo.the_geom_wkb)
|
64
|
-
assert_match(/^[A-F0-9]+$/, foo.the_geom_wkb)
|
65
|
-
end
|
66
|
-
|
67
|
-
def test_ewkt_accessor
|
68
|
-
foo = Foo.find(1)
|
69
|
-
assert_kind_of(String, foo.the_geom_ewkt)
|
70
|
-
assert_match(/^SRID=\d+;POINT\s*\(0\.0+\s+0\.0+\)$/, foo.the_geom_ewkt)
|
71
|
-
end
|
72
|
-
|
73
|
-
def test_ewkb_accessor
|
74
|
-
foo = Foo.find(1)
|
75
|
-
assert_kind_of(String, foo.the_geom_ewkb)
|
76
|
-
assert(/^[A-F0-9]+$/, foo.the_geom_wkb)
|
77
|
-
end
|
78
|
-
|
79
|
-
def test_wkb_bin_accessor
|
80
|
-
foo = Foo.find(1)
|
81
|
-
assert_kind_of(String, foo.the_geom_wkb_bin)
|
82
|
-
end
|
83
|
-
|
84
|
-
def test_ewkb_bin_accessor
|
85
|
-
foo = Foo.find(1)
|
86
|
-
assert_kind_of(String, foo.the_geom_ewkb_bin)
|
87
|
-
end
|
88
|
-
|
89
|
-
def test_geos_create
|
90
|
-
foo = Foo.create!(
|
91
|
-
:name => 'test_geos_create',
|
92
|
-
:the_geom => Geos.read(POINT_WKT)
|
93
|
-
)
|
94
|
-
|
95
|
-
foo.reload
|
96
|
-
assert_saneness_of_point(foo.the_geom_geos)
|
97
|
-
end
|
98
|
-
|
99
|
-
def test_wkt_create
|
100
|
-
foo = Foo.create!(
|
101
|
-
:name => 'test_wkt_create',
|
102
|
-
:the_geom => POINT_WKT
|
103
|
-
)
|
104
|
-
|
105
|
-
foo.reload
|
106
|
-
assert_saneness_of_point(foo.the_geom_geos)
|
107
|
-
end
|
108
|
-
|
109
|
-
def test_wkb_create
|
110
|
-
foo = Foo.create!(
|
111
|
-
:name => 'test_wkb_create',
|
112
|
-
:the_geom => POINT_WKB
|
113
|
-
)
|
114
|
-
|
115
|
-
foo.reload
|
116
|
-
assert_saneness_of_point(foo.the_geom_geos)
|
117
|
-
end
|
118
|
-
|
119
|
-
def test_ewkt_create_with_srid_4326
|
120
|
-
foo = Foo.create!(
|
121
|
-
:name => 'test_ewkt_create_with_srid_4326',
|
122
|
-
:the_other_geom => POINT_EWKT
|
123
|
-
)
|
124
|
-
|
125
|
-
foo.reload
|
126
|
-
assert_saneness_of_point(foo.the_other_geom_geos)
|
127
|
-
end
|
128
|
-
|
129
|
-
def test_create_with_no_srid_converting_to_4326
|
130
|
-
foo = Foo.create!(
|
131
|
-
:name => 'test_ewkt_create_with_no_srid_converting_to_4326',
|
132
|
-
:the_other_geom => POINT_WKT
|
133
|
-
)
|
134
|
-
|
135
|
-
foo.reload
|
136
|
-
assert_saneness_of_point(foo.the_other_geom_geos)
|
137
|
-
end
|
138
|
-
|
139
|
-
def test_create_with_no_srid_converting_to_minus_1
|
140
|
-
foo = Foo.create!(
|
141
|
-
:name => 'test_ewkt_create_with_no_srid_converting_to_minus_1',
|
142
|
-
:the_geom => POINT_EWKT
|
143
|
-
)
|
144
|
-
|
145
|
-
foo.reload
|
146
|
-
assert_saneness_of_point(foo.the_geom_geos)
|
147
|
-
end
|
148
|
-
|
149
|
-
def test_create_with_converting_from_900913_to_4326
|
150
|
-
assert_raise(Geos::ActiveRecord::GeometryColumns::CantConvertSRID) do
|
151
|
-
Foo.create!(
|
152
|
-
:name => 'test_create_with_converting_from_900913_to_4326',
|
153
|
-
:the_other_geom => "SRID=900913; #{POINT_WKT}"
|
154
|
-
)
|
155
|
-
end
|
156
|
-
end
|
157
|
-
|
158
|
-
def test_ewkt_create_with_srid_default
|
159
|
-
foo = Foo.create!(
|
160
|
-
:name => 'test_ewkt_create_with_srid_default',
|
161
|
-
:the_other_geom => POINT_EWKT_WITH_DEFAULT
|
162
|
-
)
|
163
|
-
|
164
|
-
foo.reload
|
165
|
-
assert_saneness_of_point(foo.the_other_geom_geos)
|
166
|
-
end
|
167
|
-
|
168
|
-
def test_ewkb_create
|
169
|
-
foo = Foo.create!(
|
170
|
-
:name => 'test_ewkb_create',
|
171
|
-
:the_other_geom => POINT_EWKB
|
172
|
-
)
|
173
|
-
|
174
|
-
foo.reload
|
175
|
-
assert_saneness_of_point(foo.the_other_geom_geos)
|
176
|
-
end
|
177
|
-
end
|
178
|
-
end
|