[postgis-users] contains function with complex polygons

Emily Gouge egouge at refractions.net
Wed Sep 27 13:29:20 PDT 2006


This may be a result of the polygon not being a valid PostGIS polygon.  When I ran an isvalid() on 
the polygon geometry it returned false with the notice "Holes are nested".

SELECT isvalid(geomfromtext('MULTIPOLYGON(...)'));
NOTICE:  Holes are nested
  isvalid
---------
  f
(1 row)


Emily


Gilbert, Antoine wrote:
> Hi
> 
>  
> 
> I have special case problem with the contains SQL function if I use
> polygons with "island in a hole"
> 
>  
> 
> For example I have a polygon, with a lake in it (hole) and an island in
> the middle of the lake, all these as a whole polygon.
> 
>  
> 
> I have a point location standing on the island.
> 
>  
> 
> Why the contains SQL function contains(myPolygon,myPoint) dosen't return
> true for my point
> 
>  
> 
> I verified my geometries using JUMP and everything seems ok
> 
>  
> 
> Here is the point: POINT (-68.5167 63.7500)
> 
>  
> 
> Here is my complex polygon (multipolygon in fact)
> 
>  
> 
> MULTIPOLYGON(((-128.74153099999998 66.42965, -106.554262 32.849587,
> -130.846486 40.578899, -152.378198 61.006418999999994,
> -128.74153099999998 66.42965)),((-64.841883 75.565074, -48.866971
> 72.139282, -39.750806 62.662659999999995, -27.604758 32.297475999999996,
> -77.997723 27.889585999999998, -96.791707 62.14741, -64.841883
> 75.565074),(-57.793946999999996 70.71189, -64.841883 72.710258,
> -85.985179 63.860305999999994, -70.11599 56.037586999999995,
> -54.035098999999995 59.578098, -57.793946999999996 70.71189),(-41.407126
> 47.204051, -49.688469999999995 39.474706999999995, -34.781974
> 36.162130999999995, -41.407126 47.204051),(-65.311643 60.434546,
> -72.82933899999999 60.720017999999996, -76.11817099999999 65.28773,
> -71.419803 67.000626, -64.371867 68.428018, -61.552794999999996
> 64.431282, -65.311643 60.434546)))
> 
>  
> 
> Formatted version:
> 
>  
> 
> MULTIPOLYGON (((
> 
>             -128.74153099999998 66.42965, 
> 
>             -106.554262 32.849587, 
> 
>             -130.846486 40.578899, 
> 
>             -152.378198 61.006418999999994, 
> 
>             -128.74153099999998 66.42965
> 
>         )), ((
> 
>             -64.841883 75.565074, 
> 
>             -48.866971 72.139282, 
> 
>             -39.750806 62.662659999999995, 
> 
>             -27.604758 32.297475999999996, 
> 
>             -77.997723 27.889585999999998, 
> 
>             -96.791707 62.14741, 
> 
>             -64.841883 75.565074
> 
>         ), (
> 
>             -57.793946999999996 70.71189, 
> 
>             -64.841883 72.710258, 
> 
>             -85.985179 63.860305999999994, 
> 
>             -70.11599 56.037586999999995, 
> 
>             -54.035098999999995 59.578098, 
> 
>             -57.793946999999996 70.71189
> 
>         ), (
> 
>             -41.407126 47.204051, 
> 
>             -49.688469999999995 39.474706999999995, 
> 
>             -34.781974 36.162130999999995, 
> 
>             -41.407126 47.204051
> 
>         ), (
> 
>             -65.311643 60.434546, 
> 
>             -72.82933899999999 60.720017999999996, 
> 
>             -76.11817099999999 65.28773, 
> 
>             -71.419803 67.000626, 
> 
>             -64.371867 68.428018, 
> 
>             -61.552794999999996 64.431282, 
> 
>             -65.311643 60.434546
> 
>         )))
> 
>  
> 
>  
> 
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> postgis-users mailing list
> postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users




More information about the postgis-users mailing list