Changes between Initial Version and Version 1 of Valids-Delft


Ignore:
Timestamp:
Sep 26, 2019, 7:38:38 AM (5 years ago)
Author:
darkblueb
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Valids-Delft

    v1 v1  
     1
     2POLY Valid-Invalids  vanOosterom/Delft
     3{{{
     4
     51 blue Valid
     6POLYGON ((200 260, 100 190, 196 66, 270 210, 200 260))
     7
     82 blue Valid
     9POLYGON ((200 260, 100 190, 196 66, 270 210, 200 260), (160 210, 220 210, 220 170, 160 170, 160 210))
     10
     113 blue Valid
     12POLYGON ((200 260, 100 190, 196 66, 270 210, 200 260), (160 210, 220 210, 220 170, 160 170, 160 210), (180 160, 210 160, 212 135, 181 135, 180 160))
     13
     144 blue Valid
     15POLYGON ((200 260, 100 190, 196 66, 270 210, 200 260), (130 211, 220 211, 220 170, 130 170, 130 211))
     16
     175 blue Valid
     18POLYGON ((200 260, 100 190, 196 66, 270 210, 200 260), (170 210, 220 210, 220 170, 170 170, 170 210), (140 170, 170 170, 170 150, 140 150, 140 170))
     19
     206 blue Valid
     21POLYGON ((200 260, 100 190, 196 66, 270 210, 200 260), (130 211, 170 211, 170 170, 130 170, 130 211), (170 170, 200 170, 200 150, 170 150, 170 170), (200 200, 230 200, 230 170, 200 170, 200 200))
     22
     237 blue Valid
     24POLYGON ((200 260, 171 241, 188 226, 227 226, 227 201, 188 201, 188 223, 170 240, 100 190, 196 66, 270 210, 200 260))
     25
     268 blue Valid
     27POLYGON ((200 260, 171 241, 188 226, 227 226, 227 201, 188 201, 188 223, 162 245, 100 190, 196 66, 270 210, 200 260))
     28
     299 red Valid
     30POLYGON ((200 260, 100 190, 196 66, 270 210, 200 260), (132 211, 220 170, 116 200, 132 211))
     31
     3210 red Invalid
     33POLYGON ((200 260, 100 190, 196 66, 270 210 ))
     34
     3511 red Valid
     36POLYGON ((200 260, 100 190, 196 66, 270 210, 240 230, 250 260, 239 231, 200 260))
     37
     3812 blue Valid
     39POLYGON ((200 260, 100 190, 196 66, 270 210, 240 230, 223 194, 239 231, 200 260))
     40
     4113 red Invalid
     42POLYGON ((200 260, 100 190, 196 66, 270 210, 200 260), (130 232, 220 232, 220 170, 130 170, 130 232))
     43# another integers version, for convenience
     44POLYGON ((200 261, 100 190, 196 66, 270 210, 200 261), (210 236, 210 210, 163 210, 163 235, 210 236))
     45
     4614 red Invalid
     47POLYGON ((200 260, 100 190, 196 66, 270 210, 200 260), (130 292, 220 292, 130 230, 130 292))
     48
     4915 red Valid
     50POLYGON ((200 260, 108 190, 138 230, 180 292, 108 292, 132 230, 100 190, 196 66, 270 210, 200 260))
     51
     5216 red Valid
     53POLYGON ((200 260, 100 190, 196 66, 270 210, 240 230, 169.678 100, 150.0907 125.3, 210 250, 200 260, 200 260))
     54
     5517 red Valid
     56POLYGON ((200 260, 100 190, 196 66, 270 210, 240 230, 170 100, 210 250, 200 260, 200 260))
     57
     5818 red Valid
     59POLYGON ((200 260, 100 190, 196 66, 270 210, 200 260),  (157.15 230, 242 230, 242 200, 157 200, 157.15 230))
     60
     6119 red Valid
     62POLYGON ((200 260, 100 190, 196 66, 270 210, 200 260), (170 210, 242 230, 220 170, 170 170, 170 210), (131 170, 170 170, 170 150, 131 150, 131 170))
     63
     6420 red Invalid
     65POLYGON ((200 260, 100 190, 196 66, 270 210, 200 260), (130 211, 200 200, 170 170, 130 211), (170 170, 200 170, 200 150, 170 150, 170 170), (200 200, 230 200, 230 170, 200 170, 200 200))
     66
     6721 red Invalid
     68POLYGON ((200 260, 100 190, 196 66, 270 210, 200 260), (160 211, 200 200, 170 170, 160 211), (170 170, 200 170, 200 150, 170 150, 170 170), (200 200, 230 200, 230 170, 200 170, 200 200))
     69
     7022 red Invalid
     71POLYGON ((200 260, 100 190, 270 210, 200 66, 200 260))
     72
     7323 red Invalid
     74POLYGON ((200 260, 100 190, 200 202, 270 210, 200 66, 200 202, 200 260))
     75
     7624 red Invalid
     77POLYGON ((200 260, 100 190, 196 66, 270 210, 200 260), (160 210, 220 210, 220 170, 160 170, 160 210), (180 200, 210 200, 212 185, 188 185, 180 200))
     78
     7925 red Invalid
     80POLYGON ((200 260, 100 190, 196 66, 270 210, 200 260),(160 210, 220 210, 220 170, 160 170, 160 210),(200 210, 212 185, 188 185, 200 210))
     81
     8226 blue Valid
     83POLYGON ((200 260, 110 197, 100 190, 196 66, 270 210, 200 260))
     84
     8527 green Valid
     86POLYGON ((200 260, 110 197, 109.9999999999999 196.9999999999999, 100 190, 196 66, 270 210, 200 260))
     87
     8828 green Valid
     89POLYGON ((200 260, 110 197, 100 222, 109.9999999999999 196.9999999999999, 100 190, 196 66, 270 210, 200 260))
     90
     9129 green Valid
     92POLYGON ((200 260, 110 197, 140 170, 109.9999999999999 196.9999999999999, 100 190, 196 66, 270 210, 200 260))
     93
     9430 green Invalid
     95POLYGON ((200 260, 110 197, 248 90, 109.9999999999999 196.9999999999999, 100 190, 196 66, 270 210, 200 260))
     96
     9731 green Valid
     98POLYGON ((200 260, 100 190, 196 66, 270 210, 200 260),  (130.0000000000001 210.9999999999999, 220 210.9999999999999, 220 170, 130.0000000000001 170, 130.0000000000001 210.9999999999999))
     99 
     10032 green Invalid
     101POLYGON ((200 260, 100 190, 196 66, 270 210, 200 260),(129.9999999999999 211.0000000000001, 220 211.0000000000001, 220 170, 129.9999999999999 170, 129.9999999999999 211.0000000000001))
     102
     10333 green Valid
     104POLYGON ((200 260, 100 190, 196 66, 270 210, 240 230, 169.9 99.8, 150.333 125, 210 250, 200 260, 200 260))
     105
     10634 green Valid
     107POLYGON ((200 260, 110 197, 212.95800000000003 99, 103 192.1, 100 190, 196 66, 270 210, 200 260))
     108
     10935 green Invalid
     110POLYGON ((200 260, 110 197, 212.95848 99.0000000000001, 103 192.1, 100 190, 196 66, 270 210, 200 260))
     111
     11236 green Valid
     113POLYGON ((200 260, 100 190, 196 66, 270 210, 200 260), (157.1432 230, 241.9999999999952 230, 242 190, 157.142 190, 157.1432 230))
     114
     115
     116
     117}}}
     118
     119defined Error Conditions
     120{{{
     121
     122  BS=boundary selfintersects
     123  CR=crossing rings
     124  EN=edge not connected to interior
     125  FI=floating inner ring
     126  NA=no area
     127  NC=not closed
     128  NH=not one homogenous portion
     129  NO=not orientable
     130  NS=no surface
     131  Rn=rule n (n=1,3,4,5)
     132  RC=ring crosses ring
     133  RO=rings overlap
     134  RT=rings touch
     135  SR=self crossing ring
     136  TE=two exterior rings
     137  TS=two separate areas
     138  WO=wrong orientation
     139 
     140
     141}}}
     142
     143**Valids-Delft Lab**
     144
     145{{{
     146              Table "public.valids_delft"
     147  Column   |   Type   | Collation | Nullable | Default
     148-----------+----------+-----------+----------+---------
     149 pkey      | integer  |           | not null |
     150 groupname | text     |           |          |
     151 refvalid  | text     |           |          |
     152 wkt_base  | text     |           |          |
     153 geom      | geometry |           |          |
     154Indexes:
     155    "valids_delft_pkey" PRIMARY KEY, btree (pkey)
     156
     157note: entry ten is not a closed POLYGON, and does not load into PostGIS
     158}}}
     159
     160**Postgis 2.5 | GEOS 2.7.1 |**  refvalid **MATCH**
     161{{{
     162PostgreSQL 10.10 (Ubuntu 10.10-0ubuntu0.18.04.1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0, 64-bit
     163 POSTGIS="2.5.2 r17328" [EXTENSION] PGSQL="100" GEOS="3.7.1-CAPI-1.11.1 27a5e771" PROJ="Rel. 5.2.0, September 15th, 2018" GDAL="GDAL 2.4.2, released 2019/06/28" LIBXML="2.9.4" LIBJSON="0.12.1" LIBPROTOBUF="1.2.1" RASTER
     164
     165}}}
     166
     167
     168**PostGIS 2.3 | GEOS 3.8dev |**  refvalid **MATCH**
     169{{{
     170user=# select pkey, refvalid, st_isValid(geom) from valids_delft ;
     171NOTICE:  Self-intersection at or near point 163.39202965708989 235.00834105653382
     172NOTICE:  Hole lies outside shell at or near point 130 292
     173NOTICE:  Interior is disconnected at or near point 170 170
     174NOTICE:  Interior is disconnected at or near point 170 170
     175NOTICE:  Self-intersection at or near point 200 201.76470588235293
     176NOTICE:  Self-intersection at or near point 200 202
     177NOTICE:  Holes are nested at or near point 180 200
     178NOTICE:  Self-intersection at or near point 200 210
     179NOTICE:  Self-intersection at or near point 219.6352644836272 111.99294710327453
     180NOTICE:  Self-intersection at or near point 129.99999999999989 210.99999999999991
     181NOTICE:  Self-intersection at or near point 212.95837780046392 99.000086530632473
     182 pkey | refvalid | st_isvalid
     183------+----------+------------
     184    1 | Valid    | t
     185    2 | Valid    | t
     186    3 | Valid    | t
     187    4 | Valid    | t
     188    5 | Valid    | t
     189    7 | Valid    | t
     190    6 | Valid    | t
     191    8 | Valid    | t
     192    9 | Valid    | t
     193   11 | Valid    | t
     194   12 | Valid    | t
     195   13 | Invalid  | f
     196   14 | Invalid  | f
     197   15 | Valid    | t
     198   16 | Valid    | t
     199   17 | Valid    | t
     200   18 | Valid    | t
     201   19 | Valid    | t
     202   20 | Invalid  | f
     203   21 | Invalid  | f
     204   22 | Invalid  | f
     205   23 | Invalid  | f
     206   24 | Invalid  | f
     207   25 | Invalid  | f
     208   26 | Valid    | t
     209   27 | Valid    | t
     210   28 | Valid    | t
     211   29 | Valid    | t
     212   30 | Invalid  | f
     213   31 | Valid    | t
     214   32 | Invalid  | f
     215   33 | Valid    | t
     216   34 | Valid    | t
     217   35 | Invalid  | f
     218   36 | Valid    | t
     219(35 rows)
     220
     221--
     222PostgreSQL 9.5.14 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609, 64-bit
     223POSTGIS="2.3.2 r15302" GEOS="3.8.0dev-CAPI-1.12.0 " PROJ="Rel. 4.9.2, 08 September 2015" GDAL="GDAL 2.1.3, released 2017/20/01" LIBXML="2.9.3" LIBJSON="0.11.99" RASTER
     224
     225}}}
     226
     227**PostGIS 2.4 | GEOS 3.7.2 |**  refvalid **MATCH**
     228{{{
     229dbb=# select pkey, refvalid, st_isValid(geom) from valids_delft ;
     230NOTICE:  Self-intersection at or near point 163.39202965708989 235.00834105653382
     231NOTICE:  Hole lies outside shell at or near point 130 292
     232NOTICE:  Interior is disconnected at or near point 170 170
     233NOTICE:  Interior is disconnected at or near point 170 170
     234NOTICE:  Self-intersection at or near point 200 201.76470588235293
     235NOTICE:  Self-intersection at or near point 200 202
     236NOTICE:  Holes are nested at or near point 180 200
     237NOTICE:  Self-intersection at or near point 200 210
     238NOTICE:  Self-intersection at or near point 219.6352644836272 111.99294710327453
     239NOTICE:  Self-intersection at or near point 129.99999999999989 210.99999999999991
     240NOTICE:  Self-intersection at or near point 212.95837780046392 99.000086530632473
     241 pkey | refvalid | st_isvalid
     242------+----------+------------
     243    1 | Valid    | t
     244    2 | Valid    | t
     245    3 | Valid    | t
     246    4 | Valid    | t
     247    5 | Valid    | t
     248    7 | Valid    | t
     249    6 | Valid    | t
     250    8 | Valid    | t
     251    9 | Valid    | t
     252   11 | Valid    | t
     253   12 | Valid    | t
     254   13 | Invalid  | f
     255   14 | Invalid  | f
     256   15 | Valid    | t
     257   16 | Valid    | t
     258   17 | Valid    | t
     259   18 | Valid    | t
     260   19 | Valid    | t
     261   20 | Invalid  | f
     262   21 | Invalid  | f
     263   22 | Invalid  | f
     264   23 | Invalid  | f
     265   24 | Invalid  | f
     266   25 | Invalid  | f
     267   26 | Valid    | t
     268   27 | Valid    | t
     269   28 | Valid    | t
     270   29 | Valid    | t
     271   30 | Invalid  | f
     272   31 | Valid    | t
     273   32 | Invalid  | f
     274   33 | Valid    | t
     275   34 | Valid    | t
     276   35 | Invalid  | f
     277   36 | Valid    | t
     278(35 rows)
     279
     280--
     281PostgreSQL 10.10 (Ubuntu 10.10-1.pgdg16.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 5.4.0-6ubuntu1~16.04.11) 5.4.0 20160609, 64-bit
     282POSTGIS="2.4.3" PGSQL="100" GEOS="3.7.2-CAPI-1.11.2 0" PROJ="Rel. 4.9.2, 08 September 2015" GDAL="GDAL 2.3.2, released 2018/09/21" LIBXML="2.9.3" LIBJSON="0.11.99" LIBPROTOBUF="1.2.1"
     283}}}
     284
     285**PostGIS 2.4 | GEOS 3.6.2 |**  refvalid **MATCH**
     286{{{
     287 PostgreSQL 10.10 (Ubuntu 10.10-1.pgdg16.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 5.4.0-6ubuntu1~16.04.11) 5.4.0 20160609, 64-bit
     288 POSTGIS="2.4.3" PGSQL="100" GEOS="3.6.2-CAPI-1.10.2 4d2925d6" SFCGAL="1.3.0" PROJ="Rel. 4.9.3, 15 August 2016" LIBXML="2.9.3" LIBJSON="0.11.99" LIBPROTOBUF="1.2.1"
     289}}}
     290