[mapserver-users] Extracting X,Y from MULTIPOINT data

Andy Colson andy at squeakycode.net
Mon Aug 10 11:47:55 EDT 2009


but... multi(st_intersection) casts POINT to MULTIPOINT, and then 
geometryn(x,1) returns only the first POINT.  geometryn is chopping the 
other points off, right?

Again, this is above me, but can you remove geometryn or iterate over 
it?  (I really hope that's not a dumb question :-) )

did you want the (x,y)'s returned in one row, or in multiple rows?  I've 
seen things on the pg newsgroups where people turn arrays into rows and 
visa versa.  Not sure if that would help at all.

-Andy



Suman Chatterjee wrote:
> Yes, ST_intersection return both POINT and MULTIPOINT.
> 
> And  x(geometryn(multi((st_intersection)),1)) is returning the x
> coordinates of all the points which are having point geometry. Those
> with multipoint geometry are omitted from the result.
> 
> So, I want the x and y-coordinate for all the points within the
> multipoint.
> Suman 
> 
> -----Original Message-----
> From: Andy Colson [mailto:andy at squeakycode.net] 
> Sent: Monday, August 10, 2009 10:27 AM
> To: Suman Chatterjee
> Cc: mapserver-users at lists.osgeo.org
> Subject: Re: [mapserver-users] Extracting X,Y from MULTIPOINT data
> 
>> -----Original Message-----
>> From: Andy Colson [mailto:andy at squeakycode.net] 
>> Sent: Monday, August 10, 2009 8:52 AM
>> To: Suman Chatterjee
>> Cc: mapserver-users at lists.osgeo.org
>> Subject: Re: [mapserver-users] Extracting X,Y from MULTIPOINT data
>>
>> Suman Chatterjee wrote:
>>> Hi all,
>>>
>>> I have some multipoint data in postgis that I got from street 
>>> intersections. But I am not able to extract the X,Y coordinates from
>> the 
>>> MULTIPOINT data.
>>>
>>> Is there any function in postgis by which I can extract the X,Y point
> 
>>> data from them?
>>>
>>> Please help!
>>>
>>>  
>>>
>>> Thanks,
>>>
>>> Suman
>>>
>> Yes.  Are you looking for all points?  Just the first?  Some subset? 
>> How do you want to see it?
>>
>> Did you try ST_AsText(col)?
>>
>> There is also ST_NumPoints(geometry) and ST_PointN(geometry,integer)
> if 
>> you want to look at them individually.  An example of what youd like
> to 
>> see, or what you are trying to do might be helpful.
>>
>> More functions here:
>>
>> http://postgis.refractions.net/documentation/manual-1.3/ch06.html
>>
>> -Andy
>>
> 
> Suman Chatterjee wrote:
>  > Hi Andy,
>  > Thanks for your help. Actually, I am having both point and multipoint
>  > data in the same table which I got through road intersections by
>  > applying ST_intersection.
>  > I am using this function for extracting the coordinates from the
> POINT
>  > data.
>  >
>  > Select distinct
>  >
> x(geometryn(multi((st_intersection)),1)),y(geometryn(multi((st_intersect
>  > ion)),1)),c,d from (select
>  > ST_intersection(a.the_geom,b.the_geom),a.fname as c,b.fname as d from
>  > roads1 as a, roads1 as b where a.fname<>b.fname and
>  > ST_intersects(a.the_geom,b.the_geom) as drfe
>  >
>  > But I am not getting the X,Y for the multipoint data. I require X,Y
> for
>  > all the points within the multipoint set.
>  > I can extract the multipoints from the whole by
>  >
>  > Create table ex_intersects as (select
>  > ST_intersection(a.the_geom,b.the_geom),a.fname as c,b.fname as d from
>  > roads1 as a, roads1 as b where a.fname<>b.fname and
>  > ST_intersects(a.the_geom,b.the_geom)
>  >
>  > Select st_intersection from ex_intersects where
>  > geometrytype(ST_intersection)='MULTIPOINT'
>  >
>  > I tried with St_astext but it is giving the set of multipoints. But I
>  > want the X,Y for all the points within the multipoint geometry.
>  >
>  > How to do that?
>  > Thanks
>  > Suman
>  >
> 
> Wow, you are a lot deeper into postgis than I am, not sure if I'll be 
> any help.
> 
> Question: ST_intersection(a.the_geom,b.the_geom) returns a multipoint?
> 
> Then x(geometryn(multi((st_intersection)),1)) would return just the x 
> coord of the first point?
> 
> but you want the x coord of all the points?  (yes, y too, I'm just 
> trying to break it down to understand)
> 
> -Andy
> 
> *******************************************************************************************************************
> This e-mail and any files or attachments transmitted with it contains Information that is confidential and privileged. This document may contain Protected Health Information (PHI) or other information that is intended only for the use of the individual(s) and entity(ies) to whom it is addressed. If you are the intended recipient, further disclosures are prohibited without proper authorization. If you are not the intended recipient, any disclosure, copying, printing, or use of this information is strictly prohibited and possibly a violation of federal or state law and regulations. If you have received this information in error, please delete it and notify Hamid Khaleghipour at 972-450-2868 immediately. Thank you.
> 
> *******************************************************************************************************************
> 
> 



More information about the mapserver-users mailing list