[Mapserver-users] multiple request in one layer
Smith, Michael ERDC-CRREL-NH
Michael.Smith at erdc.usace.army.mil
Thu Mar 27 04:00:34 PST 2003
You could do it with a SQL statement like
DATA "GEOM from (select S.GEOM from STREETS S union all select P.GEOM from PATH P)"
Mike Smith
email: michael.smith at erdc.usace.army.mil
RSGISC
ERDC - CRREL
Hanover, NH 03755
(603) 646-4765
-----Original Message-----
From: Vincent Schut [mailto:schut at sarvision.com]
Sent: Thursday, March 27, 2003 6:18 AM
To: Schlemmer Thilo; Mapserver-Users-Request at Lists. Gis. Umn. Edu (E-Mail)
Subject: Re: [Mapserver-users] multiple request in one layer
Thilo,
I'm afraid you can't do that this way. Not with mapserver, neither with
standard SQL (but I'm not an expert, if I'm wrong please correct me...)
Here comes what I think...:
Your sql query selects 2 columns from two tables. That means your result will
be a 2 column table, and the query assumes both STREETS and PATH have the
columns S.GEOM and P.GEOM. Just try to do the same SQL SELECT as you have in
your mapfile in Oracle, you'll see that it returns you 2 columns. Or an
error. Mapserver wants you to result one and only one column, which should
contain the geometry. What you need to do is: first create a (temporary?)
table in which you insert the column s.geom (streets) and p.geom (path), both
into the same column in your new table. Something like:
INSERT INTO new_table (geom) SELECT geom FROM streets;
INSERT INTO new_table (geom) SELECT geom FROM path;
And then you can use this new table in your mapfile:
DATA "geom FROM new_table"
It may be possible to do this more efficient and/or in one SQL statement; As I
said I'm not an expert. But this should do the trick, imho.
Regards,
Vincent Schut.
On Thursday 27 March 2003 11:15, Schlemmer Thilo wrote:
> Hi there,
>
>
> i want to get results from 2 tables in a mapfile-layer:
>
>
> LAYER
> CONNECTIONTYPE oraclespatial
> CONNECTION "something/somewhere at else"
> NAME "STREETS"
> DATA "S.GEOM, P.GEOM from STREETS S, PATH P"
> STATUS off
> TYPE LINE
> FILTER "SHAPENAME like 'noidea'"
> CLASS
> EXPRESSION ...
> .
> .
> .
>
> ...but i receive the following error-message:
>
> "msOracleSpatialLayerWhichShapes(): Error parsing OracleSpatial DATA
> variable. Must contain 'geometry_column from table_name|(SELECT stmt)'"
>
> I can't find any information about the request of multiple tables in the
> documentation (or am i blind?).
>
> Any ideas?
>
> Thilo
>
>
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
--
______________________________________
Vincent Schut (schut at sarvision.com)
Sarvision B.V.
Wageningen, The Netherlands
www.sarvision.com
_______________________________________________
Mapserver-users mailing list
Mapserver-users at lists.gis.umn.edu
http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
More information about the MapServer-users
mailing list