ffi-geos 0.0.1.beta2 → 0.0.1.beta3
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/VERSION +1 -1
- data/ffi-geos.gemspec +21 -35
- data/lib/ffi-geos.rb +2 -2
- data/lib/{buffer_params.rb → ffi-geos/buffer_params.rb} +2 -0
- data/lib/{coordinate_sequence.rb → ffi-geos/coordinate_sequence.rb} +11 -4
- data/lib/{geometry.rb → ffi-geos/geometry.rb} +11 -4
- data/lib/{geometry_collection.rb → ffi-geos/geometry_collection.rb} +1 -0
- data/lib/{line_string.rb → ffi-geos/line_string.rb} +0 -0
- data/lib/{linear_ring.rb → ffi-geos/linear_ring.rb} +0 -0
- data/lib/{multi_line_string.rb → ffi-geos/multi_line_string.rb} +0 -0
- data/lib/{multi_point.rb → ffi-geos/multi_point.rb} +0 -0
- data/lib/{multi_polygon.rb → ffi-geos/multi_polygon.rb} +0 -0
- data/lib/{point.rb → ffi-geos/point.rb} +0 -0
- data/lib/{polygon.rb → ffi-geos/polygon.rb} +0 -0
- data/lib/{prepared_geometry.rb → ffi-geos/prepared_geometry.rb} +6 -0
- data/lib/{strtree.rb → ffi-geos/strtree.rb} +2 -0
- data/lib/{tools.rb → ffi-geos/tools.rb} +0 -0
- data/lib/{utils.rb → ffi-geos/utils.rb} +26 -13
- data/lib/{wkb_reader.rb → ffi-geos/wkb_reader.rb} +0 -0
- data/lib/{wkb_writer.rb → ffi-geos/wkb_writer.rb} +0 -0
- data/lib/{wkt_reader.rb → ffi-geos/wkt_reader.rb} +0 -0
- data/lib/{wkt_writer.rb → ffi-geos/wkt_writer.rb} +0 -0
- data/test/coordinate_sequence_tests.rb +22 -0
- data/test/geometry_tests.rb +14 -0
- data/test/misc_tests.rb +45 -0
- data/test/prepared_geometry_tests.rb +12 -0
- data/test/strtree_tests.rb +12 -0
- metadata +25 -36
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.1.
|
1
|
+
0.0.1.beta3
|
data/ffi-geos.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{ffi-geos}
|
8
|
-
s.version = "0.0.1.
|
8
|
+
s.version = "0.0.1.beta3"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["J Smith"]
|
12
|
-
s.date = %q{2011-05-
|
12
|
+
s.date = %q{2011-05-20}
|
13
13
|
s.description = %q{An ffi wrapper for GEOS, a C++ port of the Java Topology Suite (JTS).}
|
14
14
|
s.email = %q{dark.panda@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -21,26 +21,26 @@ Gem::Specification.new do |s|
|
|
21
21
|
"Rakefile",
|
22
22
|
"VERSION",
|
23
23
|
"ffi-geos.gemspec",
|
24
|
-
"lib/buffer_params.rb",
|
25
|
-
"lib/coordinate_sequence.rb",
|
26
24
|
"lib/ffi-geos.rb",
|
27
|
-
"lib/
|
28
|
-
"lib/
|
29
|
-
"lib/
|
30
|
-
"lib/
|
31
|
-
"lib/
|
32
|
-
"lib/
|
33
|
-
"lib/
|
34
|
-
"lib/
|
35
|
-
"lib/
|
36
|
-
"lib/
|
37
|
-
"lib/
|
38
|
-
"lib/
|
39
|
-
"lib/
|
40
|
-
"lib/
|
41
|
-
"lib/
|
42
|
-
"lib/
|
43
|
-
"lib/
|
25
|
+
"lib/ffi-geos/buffer_params.rb",
|
26
|
+
"lib/ffi-geos/coordinate_sequence.rb",
|
27
|
+
"lib/ffi-geos/geometry.rb",
|
28
|
+
"lib/ffi-geos/geometry_collection.rb",
|
29
|
+
"lib/ffi-geos/line_string.rb",
|
30
|
+
"lib/ffi-geos/linear_ring.rb",
|
31
|
+
"lib/ffi-geos/multi_line_string.rb",
|
32
|
+
"lib/ffi-geos/multi_point.rb",
|
33
|
+
"lib/ffi-geos/multi_polygon.rb",
|
34
|
+
"lib/ffi-geos/point.rb",
|
35
|
+
"lib/ffi-geos/polygon.rb",
|
36
|
+
"lib/ffi-geos/prepared_geometry.rb",
|
37
|
+
"lib/ffi-geos/strtree.rb",
|
38
|
+
"lib/ffi-geos/tools.rb",
|
39
|
+
"lib/ffi-geos/utils.rb",
|
40
|
+
"lib/ffi-geos/wkb_reader.rb",
|
41
|
+
"lib/ffi-geos/wkb_writer.rb",
|
42
|
+
"lib/ffi-geos/wkt_reader.rb",
|
43
|
+
"lib/ffi-geos/wkt_writer.rb",
|
44
44
|
"test/coordinate_sequence_tests.rb",
|
45
45
|
"test/geometry_tests.rb",
|
46
46
|
"test/misc_tests.rb",
|
@@ -58,20 +58,6 @@ Gem::Specification.new do |s|
|
|
58
58
|
s.require_paths = ["lib"]
|
59
59
|
s.rubygems_version = %q{1.7.2}
|
60
60
|
s.summary = %q{An ffi wrapper for GEOS, a C++ port of the Java Topology Suite (JTS).}
|
61
|
-
s.test_files = [
|
62
|
-
"test/coordinate_sequence_tests.rb",
|
63
|
-
"test/geometry_tests.rb",
|
64
|
-
"test/misc_tests.rb",
|
65
|
-
"test/point_tests.rb",
|
66
|
-
"test/prepared_geometry_tests.rb",
|
67
|
-
"test/strtree_tests.rb",
|
68
|
-
"test/test_helper.rb",
|
69
|
-
"test/utils_tests.rb",
|
70
|
-
"test/wkb_reader_tests.rb",
|
71
|
-
"test/wkb_writer_tests.rb",
|
72
|
-
"test/wkt_reader_tests.rb",
|
73
|
-
"test/wkt_writer_tests.rb"
|
74
|
-
]
|
75
61
|
|
76
62
|
if s.respond_to? :specification_version then
|
77
63
|
s.specification_version = 3
|
data/lib/ffi-geos.rb
CHANGED
@@ -3,7 +3,7 @@ require 'ffi'
|
|
3
3
|
require 'rbconfig'
|
4
4
|
|
5
5
|
module Geos
|
6
|
-
GEOS_BASE = File.dirname(__FILE__)
|
6
|
+
GEOS_BASE = File.join(File.dirname(__FILE__), 'ffi-geos')
|
7
7
|
|
8
8
|
autoload :WktReader,
|
9
9
|
File.join(GEOS_BASE, 'wkt_reader')
|
@@ -1023,7 +1023,7 @@ module Geos
|
|
1023
1023
|
end
|
1024
1024
|
|
1025
1025
|
module VersionConstants
|
1026
|
-
VERSION = File.read(File.join(GEOS_BASE, %w{ .. VERSION })).strip
|
1026
|
+
VERSION = File.read(File.join(GEOS_BASE, %w{ .. .. VERSION })).strip
|
1027
1027
|
GEOS_JTS_PORT = Geos.jts_port
|
1028
1028
|
GEOS_VERSION,
|
1029
1029
|
GEOS_VERSION_MAJOR, GEOS_VERSION_MINOR, GEOS_VERISON_PATCH, GEOS_VERSION_PRERELEASE,
|
@@ -9,6 +9,8 @@ module Geos
|
|
9
9
|
:quad_segs, :endcap, :join, :mitre_limit, :single_sided
|
10
10
|
].freeze
|
11
11
|
|
12
|
+
undef :clone, :dup
|
13
|
+
|
12
14
|
# The defaults for the params according to GEOS are as found in
|
13
15
|
# Geos::Constants::BUFFER_PARAMS_DEFAULTS. Note that when setting the
|
14
16
|
# :quad_segs value that you should set it before setting other values like
|
@@ -29,6 +29,17 @@ module Geos
|
|
29
29
|
ptr,
|
30
30
|
auto_free ? self.class.method(:release) : self.class.method(:no_release)
|
31
31
|
)
|
32
|
+
|
33
|
+
if !auto_free
|
34
|
+
@ptr.autorelease = false
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
def initialize_copy(source)
|
39
|
+
@ptr = FFI::AutoPointer.new(
|
40
|
+
FFIGeos.GEOSCoordSeq_clone_r(Geos.current_handle, source.ptr),
|
41
|
+
self.class.method(:release)
|
42
|
+
)
|
32
43
|
end
|
33
44
|
|
34
45
|
def self.no_release(ptr) #:nodoc:
|
@@ -38,10 +49,6 @@ module Geos
|
|
38
49
|
FFIGeos.GEOSCoordSeq_destroy_r(Geos.current_handle, ptr)
|
39
50
|
end
|
40
51
|
|
41
|
-
def clone
|
42
|
-
self.class.new(FFIGeos.GEOSCoordSeq_clone_r(Geos.current_handle, self.ptr))
|
43
|
-
end
|
44
|
-
|
45
52
|
# Yields coordinates as [ x, y, z ]. The z coordinate may be omitted for
|
46
53
|
# 2-dimensional CoordinateSequences.
|
47
54
|
def each
|
@@ -12,6 +12,17 @@ module Geos
|
|
12
12
|
ptr,
|
13
13
|
auto_free ? self.class.method(:release) : self.class.method(:no_release)
|
14
14
|
)
|
15
|
+
|
16
|
+
if !auto_free
|
17
|
+
@ptr.autorelease = false
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def initialize_copy(source)
|
22
|
+
@ptr = FFI::AutoPointer.new(
|
23
|
+
FFIGeos.GEOSGeom_clone_r(Geos.current_handle, source.ptr),
|
24
|
+
self.class.method(:release)
|
25
|
+
)
|
15
26
|
end
|
16
27
|
|
17
28
|
def self.no_release(ptr) #:nodoc:
|
@@ -21,10 +32,6 @@ module Geos
|
|
21
32
|
FFIGeos.GEOSGeom_destroy_r(Geos.current_handle, ptr)
|
22
33
|
end
|
23
34
|
|
24
|
-
def clone
|
25
|
-
cast_geometry_ptr(FFIGeos.GEOSGeom_clone_r(Geos.current_handle, ptr))
|
26
|
-
end
|
27
|
-
|
28
35
|
# Returns the name of the Geometry type, i.e. "Point", "Polygon", etc.
|
29
36
|
def geom_type
|
30
37
|
FFIGeos.GEOSGeomType_r(Geos.current_handle, self.ptr)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -5,11 +5,17 @@ module Geos
|
|
5
5
|
|
6
6
|
attr_reader :ptr
|
7
7
|
|
8
|
+
undef :clone, :dup
|
9
|
+
|
8
10
|
def initialize(ptr, auto_free = true)
|
9
11
|
@ptr = FFI::AutoPointer.new(
|
10
12
|
ptr,
|
11
13
|
auto_free ? self.class.method(:release) : self.class.method(:no_release)
|
12
14
|
)
|
15
|
+
|
16
|
+
if !auto_free
|
17
|
+
@ptr.autorelease = false
|
18
|
+
end
|
13
19
|
end
|
14
20
|
|
15
21
|
def self.no_release(ptr) #:nodoc:
|
File without changes
|
@@ -31,8 +31,10 @@ module Geos
|
|
31
31
|
raise RuntimeError.new("IllegalArgumentException: Point coordinate list must contain a single element")
|
32
32
|
end
|
33
33
|
|
34
|
-
|
35
|
-
|
34
|
+
cs_clone = cs.clone
|
35
|
+
|
36
|
+
cast_geometry_ptr(FFIGeos.GEOSGeom_createPoint_r(Geos.current_handle, cs_clone.ptr)).tap {
|
37
|
+
cs_clone.ptr.autorelease = false
|
36
38
|
}
|
37
39
|
end
|
38
40
|
|
@@ -41,8 +43,10 @@ module Geos
|
|
41
43
|
raise RuntimeError.new("IllegalArgumentException: point array must contain 0 or >1 elements")
|
42
44
|
end
|
43
45
|
|
44
|
-
|
45
|
-
|
46
|
+
cs_clone = cs.clone
|
47
|
+
|
48
|
+
cast_geometry_ptr(FFIGeos.GEOSGeom_createLineString_r(Geos.current_handle, cs_clone.ptr)).tap {
|
49
|
+
cs_clone.ptr.autorelease = false
|
46
50
|
}
|
47
51
|
end
|
48
52
|
|
@@ -51,8 +55,10 @@ module Geos
|
|
51
55
|
raise RuntimeError.new("IllegalArgumentException: point array must contain 0 or >1 elements")
|
52
56
|
end
|
53
57
|
|
54
|
-
|
55
|
-
|
58
|
+
cs_clone = cs.clone
|
59
|
+
|
60
|
+
cast_geometry_ptr(FFIGeos.GEOSGeom_createLinearRing_r(Geos.current_handle, cs_clone.ptr)).tap {
|
61
|
+
cs_clone.ptr.autorelease = false
|
56
62
|
}
|
57
63
|
end
|
58
64
|
|
@@ -63,12 +69,15 @@ module Geos
|
|
63
69
|
end
|
64
70
|
}
|
65
71
|
|
72
|
+
outer_clone = outer.clone
|
73
|
+
inner_clones = inner.map(&:clone)
|
74
|
+
|
66
75
|
ary = FFI::MemoryPointer.new(:pointer, inner.length)
|
67
|
-
ary.write_array_of_pointer(
|
76
|
+
ary.write_array_of_pointer(inner_clones.map(&:ptr))
|
68
77
|
|
69
|
-
cast_geometry_ptr(FFIGeos.GEOSGeom_createPolygon_r(Geos.current_handle,
|
70
|
-
|
71
|
-
|
78
|
+
cast_geometry_ptr(FFIGeos.GEOSGeom_createPolygon_r(Geos.current_handle, outer_clone.ptr, ary, inner_clones.length)).tap {
|
79
|
+
outer_clone.ptr.autorelease = false
|
80
|
+
inner_clones.each { |i| i.ptr.autorelease = false }
|
72
81
|
}
|
73
82
|
end
|
74
83
|
|
@@ -125,11 +134,15 @@ module Geos
|
|
125
134
|
end
|
126
135
|
}
|
127
136
|
|
137
|
+
geoms_clones = geoms.map(&:clone)
|
138
|
+
|
128
139
|
ary = FFI::MemoryPointer.new(:pointer, geoms.length)
|
129
|
-
ary.write_array_of_pointer(
|
140
|
+
ary.write_array_of_pointer(geoms_clones.map(&:ptr))
|
130
141
|
|
131
|
-
cast_geometry_ptr(FFIGeos.GEOSGeom_createCollection_r(Geos.current_handle, t, ary,
|
132
|
-
|
142
|
+
cast_geometry_ptr(FFIGeos.GEOSGeom_createCollection_r(Geos.current_handle, t, ary, geoms_clones.length)).tap {
|
143
|
+
geoms_clones.each { |i|
|
144
|
+
i.ptr.autorelease = false
|
145
|
+
}
|
133
146
|
}
|
134
147
|
end
|
135
148
|
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -67,4 +67,26 @@ class CoordinateSequenceTests < Test::Unit::TestCase
|
|
67
67
|
assert_raise(RuntimeError) { @cs.get_ordinate(10, 0) }
|
68
68
|
assert_raise(RuntimeError) { @cs.get_ordinate(-1, 0) }
|
69
69
|
end
|
70
|
+
|
71
|
+
def test_clone
|
72
|
+
@cs.set_x(0, 1)
|
73
|
+
@cs.set_y(0, 2)
|
74
|
+
|
75
|
+
cs_b = @cs.clone
|
76
|
+
|
77
|
+
assert_equal(@cs.get_x(0), cs_b.get_x(0))
|
78
|
+
assert_equal(@cs.get_y(0), cs_b.get_y(0))
|
79
|
+
assert_equal(@cs.dimensions, cs_b.dimensions)
|
80
|
+
end
|
81
|
+
|
82
|
+
def test_dup
|
83
|
+
@cs.set_x(0, 1)
|
84
|
+
@cs.set_y(0, 2)
|
85
|
+
|
86
|
+
cs_b = @cs.dup
|
87
|
+
|
88
|
+
assert_equal(@cs.get_x(0), cs_b.get_x(0))
|
89
|
+
assert_equal(@cs.get_y(0), cs_b.get_y(0))
|
90
|
+
assert_equal(@cs.dimensions, cs_b.dimensions)
|
91
|
+
end
|
70
92
|
end
|
data/test/geometry_tests.rb
CHANGED
@@ -1516,4 +1516,18 @@ class GeometryTests < Test::Unit::TestCase
|
|
1516
1516
|
], geom[1..2].collect { |g| write(g) })
|
1517
1517
|
end
|
1518
1518
|
end
|
1519
|
+
|
1520
|
+
def test_clone
|
1521
|
+
geom_a = read('POINT(0 0)')
|
1522
|
+
geom_b = geom_a.clone
|
1523
|
+
|
1524
|
+
assert(geom_a.eql?(geom_b))
|
1525
|
+
end
|
1526
|
+
|
1527
|
+
def test_dup
|
1528
|
+
geom_a = read('POINT(0 0)')
|
1529
|
+
geom_b = geom_a.dup
|
1530
|
+
|
1531
|
+
assert(geom_a.eql?(geom_b))
|
1532
|
+
end
|
1519
1533
|
end
|
data/test/misc_tests.rb
CHANGED
@@ -50,4 +50,49 @@ class MiscTests < Test::Unit::TestCase
|
|
50
50
|
"t2: [false]"
|
51
51
|
], @messages.sort)
|
52
52
|
end
|
53
|
+
|
54
|
+
def test_segfault_on_cs_ownership
|
55
|
+
cs = Geos::CoordinateSequence.new(1, 2)
|
56
|
+
cs.set_x(0, 1)
|
57
|
+
cs.set_y(0, 2)
|
58
|
+
|
59
|
+
point = Geos.create_point(cs)
|
60
|
+
collection_a = Geos.create_geometry_collection(point)
|
61
|
+
collection_b = Geos.create_geometry_collection(point)
|
62
|
+
|
63
|
+
GC.start
|
64
|
+
|
65
|
+
writer.rounding_precision = 0
|
66
|
+
|
67
|
+
assert_equal('POINT (1 2)', write(point))
|
68
|
+
assert_equal(collection_a[0], point)
|
69
|
+
assert_equal(collection_a[0], collection_b[0])
|
70
|
+
end
|
71
|
+
|
72
|
+
def test_segfault_on_geom_ownership
|
73
|
+
point = read('POINT (10 20)')
|
74
|
+
|
75
|
+
collection_a = Geos.create_geometry_collection(point)
|
76
|
+
collection_b = Geos.create_geometry_collection(collection_a[0])
|
77
|
+
|
78
|
+
GC.start
|
79
|
+
|
80
|
+
writer.rounding_precision = 0
|
81
|
+
|
82
|
+
assert_equal('POINT (10 20)', write(point))
|
83
|
+
assert_equal(collection_a[0], point)
|
84
|
+
assert_equal(collection_a[0], collection_b[0])
|
85
|
+
end
|
86
|
+
|
87
|
+
def test_cant_clone_buffer_params
|
88
|
+
assert_raise(NoMethodError) do
|
89
|
+
Geos::BufferParams.new.clone
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
def test_cant_dup_buffer_params
|
94
|
+
assert_raise(NoMethodError) do
|
95
|
+
Geos::BufferParams.new.dup
|
96
|
+
end
|
97
|
+
end
|
53
98
|
end
|
@@ -70,5 +70,17 @@ if defined?(Geos::PreparedGeometry)
|
|
70
70
|
def test_covered_by
|
71
71
|
relationship_tester(:covered_by?, true, true, true, false, false, true, false, false)
|
72
72
|
end
|
73
|
+
|
74
|
+
def test_cant_clone
|
75
|
+
assert_raise(NoMethodError) do
|
76
|
+
read(POINT_A).to_prepared.clone
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
def test_cant_dup
|
81
|
+
assert_raise(NoMethodError) do
|
82
|
+
read(POINT_A).to_prepared.dup
|
83
|
+
end
|
84
|
+
end
|
73
85
|
end
|
74
86
|
end
|
data/test/strtree_tests.rb
CHANGED
@@ -50,5 +50,17 @@ if defined?(Geos::STRtree)
|
|
50
50
|
assert_equal(2, @tree.query(read('LINESTRING(25 25, 26 26)')).length)
|
51
51
|
assert_equal(2, @tree.query(read('LINESTRING(0 0, 100 100)')).length)
|
52
52
|
end
|
53
|
+
|
54
|
+
def test_cant_clone
|
55
|
+
assert_raise(NoMethodError) do
|
56
|
+
Geos::STRtree.new(3).clone
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
def test_cant_dup
|
61
|
+
assert_raise(NoMethodError) do
|
62
|
+
Geos::STRtree.new(3).dup
|
63
|
+
end
|
64
|
+
end
|
53
65
|
end
|
54
66
|
end
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ffi-geos
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 62196397
|
5
5
|
prerelease: 6
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
9
|
- 1
|
10
10
|
- beta
|
11
|
-
-
|
12
|
-
version: 0.0.1.
|
11
|
+
- 3
|
12
|
+
version: 0.0.1.beta3
|
13
13
|
platform: ruby
|
14
14
|
authors:
|
15
15
|
- J Smith
|
@@ -17,7 +17,7 @@ autorequire:
|
|
17
17
|
bindir: bin
|
18
18
|
cert_chain: []
|
19
19
|
|
20
|
-
date: 2011-05-
|
20
|
+
date: 2011-05-20 00:00:00 Z
|
21
21
|
dependencies: []
|
22
22
|
|
23
23
|
description: An ffi wrapper for GEOS, a C++ port of the Java Topology Suite (JTS).
|
@@ -34,26 +34,26 @@ files:
|
|
34
34
|
- Rakefile
|
35
35
|
- VERSION
|
36
36
|
- ffi-geos.gemspec
|
37
|
-
- lib/buffer_params.rb
|
38
|
-
- lib/coordinate_sequence.rb
|
39
37
|
- lib/ffi-geos.rb
|
40
|
-
- lib/
|
41
|
-
- lib/
|
42
|
-
- lib/
|
43
|
-
- lib/
|
44
|
-
- lib/
|
45
|
-
- lib/
|
46
|
-
- lib/
|
47
|
-
- lib/
|
48
|
-
- lib/
|
49
|
-
- lib/
|
50
|
-
- lib/
|
51
|
-
- lib/
|
52
|
-
- lib/
|
53
|
-
- lib/
|
54
|
-
- lib/
|
55
|
-
- lib/
|
56
|
-
- lib/
|
38
|
+
- lib/ffi-geos/buffer_params.rb
|
39
|
+
- lib/ffi-geos/coordinate_sequence.rb
|
40
|
+
- lib/ffi-geos/geometry.rb
|
41
|
+
- lib/ffi-geos/geometry_collection.rb
|
42
|
+
- lib/ffi-geos/line_string.rb
|
43
|
+
- lib/ffi-geos/linear_ring.rb
|
44
|
+
- lib/ffi-geos/multi_line_string.rb
|
45
|
+
- lib/ffi-geos/multi_point.rb
|
46
|
+
- lib/ffi-geos/multi_polygon.rb
|
47
|
+
- lib/ffi-geos/point.rb
|
48
|
+
- lib/ffi-geos/polygon.rb
|
49
|
+
- lib/ffi-geos/prepared_geometry.rb
|
50
|
+
- lib/ffi-geos/strtree.rb
|
51
|
+
- lib/ffi-geos/tools.rb
|
52
|
+
- lib/ffi-geos/utils.rb
|
53
|
+
- lib/ffi-geos/wkb_reader.rb
|
54
|
+
- lib/ffi-geos/wkb_writer.rb
|
55
|
+
- lib/ffi-geos/wkt_reader.rb
|
56
|
+
- lib/ffi-geos/wkt_writer.rb
|
57
57
|
- test/coordinate_sequence_tests.rb
|
58
58
|
- test/geometry_tests.rb
|
59
59
|
- test/misc_tests.rb
|
@@ -101,16 +101,5 @@ rubygems_version: 1.7.2
|
|
101
101
|
signing_key:
|
102
102
|
specification_version: 3
|
103
103
|
summary: An ffi wrapper for GEOS, a C++ port of the Java Topology Suite (JTS).
|
104
|
-
test_files:
|
105
|
-
|
106
|
-
- test/geometry_tests.rb
|
107
|
-
- test/misc_tests.rb
|
108
|
-
- test/point_tests.rb
|
109
|
-
- test/prepared_geometry_tests.rb
|
110
|
-
- test/strtree_tests.rb
|
111
|
-
- test/test_helper.rb
|
112
|
-
- test/utils_tests.rb
|
113
|
-
- test/wkb_reader_tests.rb
|
114
|
-
- test/wkb_writer_tests.rb
|
115
|
-
- test/wkt_reader_tests.rb
|
116
|
-
- test/wkt_writer_tests.rb
|
104
|
+
test_files: []
|
105
|
+
|