Hmm your problem is not about a function, is about using invalid geometries !
Why simply don't fix your geometry? you must do it anyway if you want to use PostGIS without strange bugs. Use http://postgis.refractions.net/docs/ST_MakeValid.html Cheers, Rémi-C 2014-05-03 15:51 GMT+02:00 Larry Reeder <[email protected]>: > Another thing to be aware of with ST_PointOnSurface is it can return a > point that's on the boundary of polygon, but *not inside* the polygon, so > that ST_Within(St_PointOnSurface(surface), surface) returns false. That's > bitten me before, but may be OK for your purposes. > > -Larry > > > > > On Fri, May 2, 2014 at 1:38 PM, Åsmund Tokheim <[email protected]> wrote: > >> Hi >> >> You can use st_closestpoint(geom, st_centroid(geom)) to make sure that >> the returned point is in most circumstances at or near the centroid, and >> always at least on the boundary of the polygon. While st_pointonsurface >> certainly will be faster, it will often choose a more random point on the >> surface. >> >> Åsmund >> >> >> On Fri, May 2, 2014 at 12:45 PM, Nicolas Ribot >> <[email protected]>wrote: >> >>> Hi, >>> >>> Use st_pointOnSurface ( >>> http://postgis.net/docs/manual-2.1/ST_PointOnSurface.html) >>> >>> Nicolas >>> >>> >>> On 2 May 2014 06:32, J.Alejandro Martinez Linares < >>> [email protected]> wrote: >>> >>>> Hi people, i need your help, i was using st_centroid to get a point >>>> that be inside a polygon butr st_centroid got a property that is a problem >>>> to me, it returns a point that not always is inside the polygon, cause when >>>> the polygon has an irregular form, the point that st_centroid is outside >>>> the polygon, and i need a function that do a similar thing that st_centroid >>>> but i need that the point it returns always be inside the polygon, is there >>>> a function that do that? >>>> >>>> cheers. >>>> >>>> -- >>>> >>>> Este mensaje le ha llegado mediante el servicio de correo electronico >>>> que ofrece Infomed para respaldar el cumplimiento de las misiones del >>>> Sistema Nacional de Salud. La persona que envia este correo asume el >>>> compromiso de usar el servicio a tales fines y cumplir con las regulaciones >>>> establecidas >>>> >>>> Infomed: http://www.sld.cu/ >>>> >>>> _______________________________________________ >>>> postgis-users mailing list >>>> [email protected] >>>> http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users >>>> >>> >>> >>> _______________________________________________ >>> postgis-users mailing list >>> [email protected] >>> http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users >>> >> >> >> _______________________________________________ >> postgis-users mailing list >> [email protected] >> http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users >> > > > _______________________________________________ > postgis-users mailing list > [email protected] > http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users >
_______________________________________________ postgis-users mailing list [email protected] http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users
