[postgis-devel] [PostGIS] #2067: Invalid polygons give empty centroids
PostGIS
trac at osgeo.org
Thu Oct 25 11:59:08 PDT 2012
#2067: Invalid polygons give empty centroids
---------------------+------------------------------------------------------
Reporter: sderle | Owner: pramsey
Type: defect | Status: new
Priority: medium | Milestone: PostGIS 1.5.6
Component: postgis | Version: 1.5.X
Keywords: |
---------------------+------------------------------------------------------
{{{
# select astext(way) from planet_osm_polygon where
st_geometrytype(st_centroid(way)) <> 'ST_Point';
astext
---------------------------------------------------
POLYGON((-73.042747 40.961426,-73.042571 40.961971,-73.042747
40.961426,-73.0426927 40.9610055,-73.0426645 40.960956,-73.0426927
40.9610055,-73.042747 40.961426))
POLYGON((-73.042747 40.961426,-73.042571 40.961971,-73.042747
40.961426,-73.0426927 40.9610055,-73.0426645 40.960956,-73.0426927
40.9610055,-73.042747 40.961426))
POLYGON((-65.912493 18.220862,-65.911621 18.220036,-65.911401
18.219793,-65.910957 18.21916,-65.910925 18.219101,-65.910668
18.218553,-65.910398 18.217805,-65.910024 18.216882,-65.90946
18.215632,-65.909338 18.215362,-65.908986 18.21459,-65.908951
18.214513,-65.908844 18.214279,-65.90866 18.213946,-65.908404
18.213684,-65.908044 18.213497,-65.907776 18.213446,-65.907033
18.213408,-65.906508 18.213338,-65.906074 18.213238,-65.905838
18.213183,-65.906074 18.213238,-65.906508 18.213338,-65.907033
18.213408,-65.907776 18.213446,-65.908044 18.213497,-65.908404
18.213684,-65.90866 18.213946,-65.908844 18.214279,-65.908951
18.214513,-65.908986 18.21459,-65.909338 18.215362,-65.90946
18.215632,-65.910024 18.216882,-65.910398 18.217805,-65.910668
18.218553,-65.910925 18.219101,-65.910957 18.21916,-65.911401
18.219793,-65.911621 18.220036,-65.912493 18.220862))
(3 rows)
# select st_isvalid(way) from planet_osm_polygon where
st_geometrytype(st_centroid(way)) <> 'ST_Point';
NOTICE: Self-intersection at or near point -73.042747000000006
40.961426000000003
NOTICE: Self-intersection at or near point -73.042747000000006
40.961426000000003
NOTICE: Self-intersection at or near point -65.912492999999998 18.220862
st_isvalid
------------
f
f
f
(3 rows)
# select astext(st_centroid(way)) from planet_osm_polygon where
st_geometrytype(st_centroid(way)) <> 'ST_Point';
astext
--------------------------
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
GEOMETRYCOLLECTION EMPTY
(3 rows)
# select postgis_version();
postgis_version
---------------------------------------
1.5 USE_GEOS=1 USE_PROJ=1 USE_STATS=1
(1 row)
}}}
There are over 2,000 other geometries in this table for which ST_IsValid()
fails, but which still produce centroids of type ST_Point.
System is Ubuntu 11.10 with stock GEOS 3.3.3 installed.
--
Ticket URL: <http://trac.osgeo.org/postgis/ticket/2067>
PostGIS <http://trac.osgeo.org/postgis/>
The PostGIS Trac is used for bug, enhancement & task tracking, a user and developer wiki, and a view into the subversion code repository of PostGIS project.
More information about the postgis-devel
mailing list