MySQLでもジオメトラー(6)

従来のSQLでは空間にすべて収まっていない空間情報か返されなかった。そこでSQLの条件式を複雑にして、一部分のみ含まれている空間情報も返すようにした

SELECT AsText(geom) FROM gis_t WHERE 
MBROverlaps(GeomFromText('LineString(<point>)'),geom) OR 
MBRContains(GeomFromText('LineString(<point>)'),geom);

前半の条件は「完全に含まれない空間情報」を呼び出す条件
公判の条件は「完全に含まれてる空間情報」を呼び出す条件
これでしっかりと範囲外も表現できる
こちらが正解だろう。…ヒット数多いし描写にも負荷がかかるが

pointはポリゴンやラインの座標データ