Kevin, Thanks a lot for your "geometry to text" advice.
It works perfectly now Nick ----------------------------------------------------------------------------------------------------------- Message: 30 Date: Thu, 19 Feb 2009 08:51:21 -0800 From: Kevin Neufeld <[email protected]> Subject: Re: [postgis-users] Re: maximum distance between a POINT and POLYGON To: PostGIS Users Discussion <[email protected]> Message-ID: <[email protected]> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Try moving your query into a subquery and then taking the max distance. Also, you can probably drop the subquery you put as a parameter to the generate_series call. Why are you converting the geometry to text, then back to a geometry again? ie. SELECT "cellID", max(dist) FROM ( -- Your query here, but also select the cellID to group on SELECT cellID, distance_spheroid( geometry_centroid, ST_PointN( ExteriorRing(geometry_zone), generate_series(1, ST_NPoints(geometry_zone)) ), 'SPHEROID["WGS 84",6378137,298.257223563]' ) AS dist FROM "208_1_26624_zones" WHERE > "cellID"='1' ) AS foo GROUP BY "cellID"; -- Kevin My Pid wrote: > Hello again, > > I found the generate_series function (yes i am a newbie!) and I can use > it in order to calculate the distance between > my centroid (geometry_centroid) and my polygon (geometry_zone) with the > following request > > > SELECT > (distance_spheroid(geometry_ centroid,ST_AsText(ST_PointN(ExteriorRing(geometry_zone), > generate_series(1,(SELECT npoints(geometry_zone) FROM > "208_1_26624_zones" WHERE "cellID"='1')))), 'SPHEROID["WGS > 84",6378137,298.257223563]')) as d FROM "208_1_26624_zones" WHERE > "cellID"='1'; > > Now I can't use the max function because of the following error: > "set-valued function called in context that cannot accept a set" > when I use > > SELECT > max(distance_spheroid(geometry_centroid,ST_AsText(ST_PointN(ExteriorRing(geometry_zone), > generate_series(1,(SELECT npoints(geometry_zone) FROM > "208_1_26624_zones" WHERE "cellID"='1')))), 'SPHEROID["WGS > 84",6378137,298.257223563]')) as d FROM "208_1_26624_zones" WHERE > "cellID"='1'; > > > any idea ? > > thanks! > Nick > > > 2009/2/18 My Pid <[email protected] <mailto:[email protected]>> > > Hello, > > I would like to know how I could get the maximum distance between a > POINT and a POLYGON. > (the POINT i am talking about here is in fact the ST_Centroid of the > mentionned POLYGON) > > I looked for a function that transform my POLYGON into several POINT > but without success. > > I am working with longitude, latitude, altitude for POINT > It is really the max distance that I am looking for (not the minimum > distance.) > and "accuracy" is important to me. > > thanks in advance for your help ! > > regards, > Nick > > > > > ------------------------------------------------------------------------ > > _______________________________________________ > postgis-users mailing list > [email protected] > http://postgis.refractions.net/mailman/listinfo/postgis-users
_______________________________________________ postgis-users mailing list [email protected] http://postgis.refractions.net/mailman/listinfo/postgis-users
