मेरे PostGIS डेटाबेस (PostGIS 1.5 पर Postgres 8.4.1) में, मेरे पास दो टेबल हैं: सड़कें (लाइनस्टर से बनी) और क्रैश (बिंदुओं से मिलकर)। मैं एक सड़क पर प्रत्येक दुर्घटना को सहसंबद्ध करने की कोशिश कर रहा हूं, लेकिन मुझे काम करने में निम्नलिखित समस्याएं हो रही हैं:
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 फ़ंक्शन पहले परिणाम (सभी सड़कों पर सही निकटतम बिंदु) के लिए गलत देता है। क्या मुझसे कुछ गलत हो रही है? क्या दुर्घटना को निकटतम सड़क से जोड़ने का एक और तरीका है?