[postgis-users] spatial functions in PostGIS connection

Kralidis,Tom [Burlington] Tom.Kralidis at ec.gc.ca
Fri Mar 24 06:19:30 PST 2006


Thanks for the info.

I couldn't get this to work via MapServer, so I tried testing in pgsql:

devgeodb2=# select oid,the_geom from stations where
distance(the_geom,'POINT(-122 45)') = 10;
ERROR:  Operation on two GEOMETRIES with different SRIDs

devgeodb2=# \d stations;
                              Table "public.stations"
     Column     |   Type   |                       Modifiers
----------------+----------+--------------------------------------------
-----------
 id             | integer  | not null default
nextval('stations_id_seq'::regclass)
 station_id     | text     |
 kyw_id         | text     |
 title          | text     |
 abstract       | text     |
 keywords       | text     |
 variables      | text     |
 sensorml_url   | text     |
 extraction_url | text     |
 the_geom       | geometry |
 organization   | text     |
Indexes:
    "stations_pkey" PRIMARY KEY, btree (id)
    "stations_idx" gist (the_geom)
    "stations_idx_oid" btree (oid)
Check constraints:
    "enforce_dims_the_geom" CHECK (ndims(the_geom) = 2)
    "enforce_geotype_the_geom" CHECK (geometrytype(the_geom) =
'POINT'::text OR the_geom IS NULL)
    "enforce_srid_the_geom" CHECK (srid(the_geom) = 4326)


..any idea what I'm doing wrong at the command line level?

..Tom


> -----Original Message-----
> From: postgis-users-bounces at postgis.refractions.net 
> [mailto:postgis-users-bounces at postgis.refractions.net] On 
> Behalf Of Mike Leahy
> Sent: Tuesday, March 21, 2006 4:28 PM
> To: PostGIS Users Discussion
> Subject: Re: [postgis-users] spatial functions in PostGIS connection
> 
> 
> Tom,
> 
> I'm pretty sure you can put anything in the data for a 
> PostGIS layer. At a minimum, I think you need the geometry 
> plus a unique identifier. Assuming 'gid' is your unique 
> identifier in the geometry table, you would be able to do 
> something like:
> 
> DATA "the_geom from (select gid, the_geom from outbreaks 
> where distance(wkb_geometry,'POINT(-122 45)') = 10) as foo 
> using unique gid using srid=-1"
> 
> So you can put pretty much any query inside the brackets 
> aliased as 'foo', as long as it contains the geometry column 
> specified at the start and the unique identifier named at the 
> end, and that the geometries use the srid also named at the 
> end of the data string.
> 
> Mike
> 
> Kralidis,Tom [Burlington] wrote:
> > Hi,
> > 
> > I have a point dataset in PostGIS which I display via 
> OGC:WMS with no
> > problems:
> > 
> > 
> >   NAME "outbreaks"
> >   CONNECTIONTYPE postgis
> >   CONNECTION "user=postgres dbname=devgeodb2"
> >   DATA "the_geom from outbreaks"
> > 
> > ..is it possible to embed PostGIS functions in the LAYER/DATA 
> > statement
> > like:
> > 
> >   NAME "outbreaks"
> >   CONNECTIONTYPE postgis
> >   CONNECTION "user=postgres dbname=devgeodb2"
> >   DATA "the_geom from outbreaks where 
> > distance(wkb_geometry,'POINT(-122
> > 45)') = 10"
> > 
> > I tried this and got a ServiceException.  I also tried
> > 
> > Thanks
> > 
> > ..Tom
> > _______________________________________________
> > postgis-users mailing list postgis-users at postgis.refractions.net
> > http://postgis.refractions.net/mailman/listinfo/postgis-users
> > 
> _______________________________________________
> 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