[postgis-users] Query Help

Stephen Woodbridge woodbri at swoodbridge.com
Fri Aug 24 09:44:50 PDT 2007


Cool, that did the trick.

Thanks,
   -Steve

Obe, Regina wrote:
> IF you use a subselect, you really don't need the from polygons piece
> you have there.  I think you can simply write
> 
> UPDATE lines 
> 	SET pname = (select a.name 
> 				FROM polygons a
>    				WHERE a.the_geom &&
> expand(lines.the_geom, 0.1)
>    				ORDER BY distance(a.the_geom,
> lines.the_geom) asc 
> 				LIMIT 1)
> WHERE lines.pname = ''
> 
> Hope that helps,
> Regina
>  
> 
> -----Original Message-----
> From: postgis-users-bounces at postgis.refractions.net
> [mailto:postgis-users-bounces at postgis.refractions.net] On Behalf Of
> Stephen Woodbridge
> Sent: Friday, August 24, 2007 10:55 AM
> To: PostGIS Users Discussion
> Subject: [postgis-users] Query Help
> 
> Hi,
> 
> I have tables "polygons" (100s rows) and "lines" (~2mil rows) and a few 
> (~150 rows) of the "lines" fall outside any polygon. I would like to 
> update the lines.pname and assign the polygons.name where the 
> polygons.name is the closest polygon to the line and pname=''. But I 
> can't quite figure out the query so I only assign the closest one:
> 
> update lines set pname=a.name
>    from polygons a
>   where lines.pname=''
>     and ...
> 
> I think I need to make "a.name" into a subselect so it selects the 
> closest polygon for each row, something like:
> 
> (select a.name
>    where a.the_geom && expand(lines.the_geom, 0.1)
>    order by distance(a.the_geom, lines.the_geom) asc
>    limit 1)
> 
> But I'm not sure how to set up the subselect, that references columns 
> from the update.
> 
> Any suggestions on this one would be appreciated.
> 
> -Steve
> _______________________________________________
> postgis-users mailing list
> postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users
> 
> -----------------------------------------
> The substance of this message, including any attachments, may be
> confidential, legally privileged and/or exempt from disclosure
> pursuant to Massachusetts law. It is intended
> solely for the addressee. If you received this in error, please
> contact the sender and delete the material from any computer.
> 
> _______________________________________________
> 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