mirror of
https://git.osgeo.org/gitea/postgis/postgis
synced 2024-10-24 17:12:35 +00:00
876edb5576
git-svn-id: http://svn.osgeo.org/postgis/trunk@6828 b70326c6-7e19-0410-871a-916f4a2858ee
52 lines
1.5 KiB
SQL
52 lines
1.5 KiB
SQL
select 1, valid, reason, st_astext(location) FROM (
|
|
SELECT (ST_IsValidDetail('LINESTRING (70 250, 190 340)')).*
|
|
) foo;
|
|
|
|
select 2, valid, reason, st_astext(location) FROM (
|
|
SELECT (ST_IsValidDetail('LINESTRING (70 250, 70 250)')).*
|
|
) foo;
|
|
|
|
-- Twisted polygon
|
|
select 3, valid, reason, st_astext(location) FROM (
|
|
SELECT (ST_IsValidDetail(
|
|
'POLYGON ((70 250, 70 500, 80 400, 40 400, 70 250))'
|
|
)).*
|
|
) foo;
|
|
|
|
-- Twisted polygon is also invalid for ESRI
|
|
select 4, valid, reason, st_astext(location) FROM (
|
|
SELECT (ST_IsValidDetail(
|
|
'POLYGON ((70 250, 70 500, 80 400, 40 400, 70 250))'
|
|
,
|
|
1 -- ESRI flag
|
|
)).*
|
|
) foo;
|
|
|
|
-- Self-touching ring forming hole
|
|
select 5, valid, reason, st_astext(location) FROM (
|
|
SELECT (ST_IsValidDetail(
|
|
'POLYGON ((70 250, 40 500, 100 400, 70 250, 80 350, 60 350, 70 250))'
|
|
,
|
|
0 -- No flags
|
|
)).*
|
|
) foo;
|
|
select '5s', ST_IsValid(
|
|
'POLYGON ((70 250, 40 500, 100 400, 70 250, 80 350, 60 350, 70 250))' , 0);
|
|
select '5r', ST_IsValidReason(
|
|
'POLYGON ((70 250, 40 500, 100 400, 70 250, 80 350, 60 350, 70 250))' , 0);
|
|
|
|
-- Self-touching ring forming hole with ESRI flag
|
|
select 6, valid, reason, st_astext(location) FROM (
|
|
SELECT (ST_IsValidDetail(
|
|
'POLYGON ((70 250, 40 500, 100 400, 70 250, 80 350, 60 350, 70 250))'
|
|
,
|
|
1 -- ESRI flag
|
|
)).*
|
|
) foo;
|
|
select '6s', ST_IsValid(
|
|
'POLYGON ((70 250, 40 500, 100 400, 70 250, 80 350, 60 350, 70 250))' , 1);
|
|
select '5r', ST_IsValidReason(
|
|
'POLYGON ((70 250, 40 500, 100 400, 70 250, 80 350, 60 350, 70 250))' , 1);
|
|
|
|
|