[postgis-users] Intersection query problem
Ben Madin
lists at remoteinformation.com.au
Tue May 10 20:36:55 PDT 2011
George,
You need to put source.track_cl into the table list for your query...
hint - it is in the table list for your sub-select, but not for the main query, I know some people scorn indenting, but :
SELECT gid, name, track_use, st_astext(clipped_geom)
FROM (
SELECT source.track_cl.gid, source.track_cl.name, source.track_cl.track_use,
(ST_Dump(ST_Intersection(
extents.tiles.the_geom, source.track_cl.the_geom
))).geom As clipped_geom
FROM source.track_cl
INNER JOIN extents.tiles
ON ST_Intersects(extents.tiles.the_geom, source.track_cl.the_geom)
WHERE extents.tiles.name='BP33'
) As clipped
WHERE st_geometrytype(clipped.clipped_geom) = st_geometrytype(source.track_cl.the_geom);
cheers
Ben
On 11/05/2011, at 11:15 AM, George Washington wrote:
> Hi, I have the following query:
>
> SELECT gid, name, track_use, st_astext(clipped_geom)
> FROM (SELECT source.track_cl.gid, source.track_cl.name, source.track_cl.track_use,(ST_Dump(ST_Intersection(extents.tiles.the_geom, source.track_cl.the_geom))).geom As clipped_geom
> FROM source.track_cl
> INNER JOIN extents.tiles
> ON ST_Intersects(extents.tiles.the_geom, source.track_cl.the_geom) where extents.tiles.name='BP33' ) As clipped
> WHERE st_geometrytype(clipped.clipped_geom) = st_geometrytype(source.track_cl.the_geom);
>
> which gives me:
>
> ERROR: missing FROM-clause entry for table "track_cl"
> LINE 6: ...metrytype(clipped.clipped_geom) = st_geometrytype(source.tra...
> SQL state: 42P01
> Character: 471
>
>
> On the other hand this version of the same query works (only the last line differs):
>
> SELECT gid, name, track_use, st_astext(clipped_geom)
> FROM (SELECT source.track_cl.gid, source.track_cl.name, source.track_cl.track_use,(ST_Dump(ST_Intersection(extents.tiles.the_geom, source.track_cl.the_geom))).geom As clipped_geom
> FROM source.track_cl
> INNER JOIN extents.tiles
> ON ST_Intersects(extents.tiles.the_geom, source.track_cl.the_geom) where tiles.name='BP33' ) As clipped
> WHERE ST_Dimension(clipped.clipped_geom) >0;
>
> I cannot figure out what is wrong with the first query.
> Many thanks.
> George
> _______________________________________________
> postgis-users mailing list
> postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/postgis-users/attachments/20110511/88b76aea/attachment.html>
More information about the postgis-users
mailing list