PostGIS veritabanımda (PostgIS 8.4.1 üzerinde PostGIS 1.5) iki tablo var: yollar (linestringlerden oluşuyor) ve çökmeler (noktalardan oluşuyor). Her kazayı bir yolla ilişkilendirmeye çalışıyorum, ancak aşağıdakileri işe almakta sorun yaşıyorum:
SELECT ST_ClosestPoint(road.the_geom, crash.the_geom),
ST_Intersects(ST_ClosestPoint(road.the_geom, crash.the_geom), road.the_geom)
ST_Distance(ST_ClosestPoint(road.the_geom, crash.the_geom), crash.the_geom) AS distance
FROM
--Table crashes is already in SRID 4326
(SELECT the_geom FROM crashes WHERE gid = 360) as crash,
(SELECT ST_SetSrid(the_geom, 4326) as the_geom from roads) as road
ORDER BY distance;
Bu queury her yolda gid 360 ile kazaya en yakın noktayı döndürmelidir, ancak ST_Intersects işlevi ilk sonuç için false değerini döndürür (tüm yollar üzerindeki en yakın nokta). Yanlış bir şey mi yapıyorum? Kazayı en yakın yola bağlamanın başka bir yolu var mı?