PostGISデータベース(Postgres 8.4.1のPostGIS 1.5)には、道路(線ストリングで構成される)とクラッシュ(ポイントで構成される)の2つのテーブルがあります。私はそれぞれのクラッシュを道路に関連付けようとしましたが、以下を機能させるのに問題があります:
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;
このクエリは、各道路でgid 360を使用してクラッシュに最も近いポイントを返しますが、ST_Intersects関数は最初の結果(すべての道路で真の最も近いポイント)に対してfalseを返します。私は何か間違っていますか?クラッシュを最も近い道路にリンクする別の方法はありますか?