> From a multilinestring (road path which is an edge) how can I find whether a
> particular point exist?
> Both the point and the road paths are in geometry format. I need to find in
> which edge, a particular point exists(e.g. current user position).
Is this like what you are after?
drop table roadcl;
create table roadcl (
gid serial );
SELECT AddGeometryColumn('public', 'roadcl', 'geom', 28355, 'LINESTRING', 2);
insert into roadcl (geom)
select geom
from (select ST_SetSRID(ST_GeomFromText('LINESTRING( 1 0, 1 5, 1 11 )'),28355)
as geom
union all
select ST_SetSRID(ST_GeomFromText('LINESTRING( 10 0, 10 5, 10 11
)'),28355) as geom
union all
select ST_SetSRID(ST_GeomFromText('LINESTRING( 0 1, 5 1, 11 1 )'),28355)
as geom
union all
select ST_SetSRID(ST_GeomFromText('LINESTRING( 0 10, 5 10, 11 10
)'),28355) as geom) as g;
drop table mypoint;
create table mypoint (
gid serial );
SELECT AddGeometryColumn('public', 'mypoint', 'geom', 28355, 'POINT', 2);
insert into mypoint (geom)
values (ST_SetSRID(ST_GeomFromText('POINT(1 5)'),28355)),
(ST_SetSRID(ST_GeomFromText('POINT(1 11)'),28355)),
(ST_SetSRID(ST_GeomFromText('POINT(1 0)'),28355)),
(ST_SetSRID(ST_GeomFromText('POINT(10 5)'),28355)),
(ST_SetSRID(ST_GeomFromText('POINT(10 11)'),28355)),
(ST_SetSRID(ST_GeomFromText('POINT(10 0)'),28355)),
(ST_SetSRID(ST_GeomFromText('POINT(5 1)'),28355)),
(ST_SetSRID(ST_GeomFromText('POINT(11 1)'),28355)),
(ST_SetSRID(ST_GeomFromText('POINT(0 1)'),28355)),
(ST_SetSRID(ST_GeomFromText('POINT(5 10)'),28355)),
(ST_SetSRID(ST_GeomFromText('POINT(11 10)'),28355)),
(ST_SetSRID(ST_GeomFromText('POINT(0 10)'),28355));
select t1.gid, t2.gid
from mypoint t1,
roadcl t2
where ST_Contains(t2.geom,t1.geom);
regards
Simon
--
SpatialDB Advice and Design, Solutions Architecture and Programming,
Oracle Database 10g Administrator Certified Associate; Oracle Database 10g SQL
Certified Professional
Oracle Spatial, SQL Server, PostGIS, MySQL, ArcSDE, Manifold GIS, FME, Radius
Topology and Studio Specialist.
39 Cliff View Drive, Allens Rivulet, 7150, Tasmania, Australia.
Website: www.spatialdbadvisor.com
Email: [email protected]
Voice: +613 9016 3910
Mobile: +61 418 396391
Skype: sggreener
Longitude: 147.20515 (147° 12' 18" E)
Latitude: -43.01530 (43° 00' 55" S)
NAC:W80CK 7SWP3
_______________________________________________
postgis-users mailing list
[email protected]
http://postgis.refractions.net/mailman/listinfo/postgis-users