LL - disjoint, non-overlapping envelopes
LINESTRING(60 0, 20 80, 100 80, 80 120, 40 140)
LINESTRING(140 300, 220 160, 260 200, 240 260)
true
LL - disjoint, overlapping envelopes
LINESTRING(60 0, 20 80, 100 80, 80 120, 40 140)
LINESTRING(60 40, 140 40, 140 160, 0 160)
true
LL - disjoint, non-overlapping envelopes, B closed
LINESTRING(60 0, 20 80, 100 80, 80 120, 40 140)
LINESTRING(140 280, 240 280, 240 180, 140 180, 140 280)
true
LL - disjoint, overlapping envelopes, B closed
LINESTRING(140 0, 0 0, 40 60, 0 120, 60 200, 220 160, 220 40)
LINESTRING(80 140, 180 100, 160 40, 100 40, 60 100, 80 140)
true
Line vs line - pointwise equal
LINESTRING(20 20, 80 80)
LINESTRING(20 20, 80 80)
true
Line vs line - pointwise equal
LINESTRING(40 40, 160 160, 200 60, 60 140)
LINESTRING(40 40, 160 160, 200 60, 60 140)
true
Line vs line - topologically equal
LINESTRING(40 40, 200 40)
LINESTRING(200 40, 140 40, 40 40)
true
LL - topographically equal with self-intersection
LINESTRING(0 0, 110 0, 60 0)
LINESTRING(0 0, 110 0)
true
LmL - topographically equal with no boundary
LINESTRING(0 0, 0 50, 50 50, 50 0, 0 0)
MULTILINESTRING(
(0 0, 0 50),
(0 50, 50 50),
(50 50, 50 0),
(50 0, 0 0))
true
LmL - topographically equal with self intersections
LINESTRING(0 0, 80 0, 80 60, 80 0, 170 0)
MULTILINESTRING(
(0 0, 170 0),
(80 0, 80 60))
true
LL - A-IntNV = B-IntNV
LINESTRING(80 100, 180 200)
LINESTRING(80 180, 180 120)
true
intersect in Int NV
LINESTRING(40 40, 100 100, 160 160)
LINESTRING(160 60, 100 100, 60 140)
true
LL - intersection: {A-Bdy, A-IntV} = B-IntNV
LINESTRING(40 40, 100 100, 180 100, 180 180, 100 180, 100 100)
LINESTRING(140 60, 60 140)
true
LL - intersection: {A-Bdy, A-IntNV} = B-IntNV
LINESTRING(40 40, 180 180, 100 180, 100 100)
LINESTRING(140 60, 60 140)
true
LL - intersection: A-IntNV = {B-Bdy, B-IntNV}
LINESTRING(20 110, 200 110)
LINESTRING(200 200, 20 20, 200 20, 110 110, 20 200, 110 200, 110 110)
true
LL - one segment overlapping, one distinct
LINESTRING(80 90, 50 50, 0 0)
LINESTRING(0 0, 100 100)
true
LL - A contained in B
LINESTRING(40 140, 240 140)
LINESTRING(40 140, 100 140, 80 80, 120 60, 100 140, 160 140, 160 100, 200 100, 160 140,
240 140)
true
LL - simple overlapping lines
LINESTRING(20 20, 100 20, 20 20)
LINESTRING(60 20, 200 20)
true
LL - A-spiral, B-contained
LINESTRING(40 60, 180 60, 180 140, 100 140, 100 60, 220 60, 220 180, 80 180, 80 60,
280 60)
LINESTRING(140 60, 180 60, 220 60, 260 60)
true
test for LinearRing point location bug
LINEARRING(0 0, 0 5, 5 5, 5 0, 0 0)
LINESTRING( 2 2, 4 4)
true