我正在尝试使用 DrawFeature 在图层上选择要素(道路和街道) . 我正在使用Polygon和Line绘制选项 . 我知道如何从这个链接中选择多边形内的特征并为我工作正常

OpenLayers select features with polygon

当我画一条线时,它会返回我相交的特征(道路和街道) . 我想获得完全不在线的feautres .

Actual Map:

enter image description here

这是从 openlayers 返回 LINESTRING 的输出 .

红线显示选定的道路和街道 .

我使用了openlayers的 intersects 功能 .

enter image description here

我想得到以下输出

enter image description here

我也通过openlayers获取 LINESTRING geometry 黑线来尝试POSTGIS .

LINESTRING(-15999.270647679 6714225.9041112,-16582.102988273 6714070.6413976)

我已经使用了ST_DWithin,ST_Intersects这些函数

SELECT array_to_string(array_agg(distinct id), ',') 
FROM streets  
WHERE  st_dwithin(ST_GeomFromText('LINESTRING(-15999.270647679 6714225.9041112,-16582.102988273 6714070.6413976)',900913),st_transform(geometry, 900913),0);

SELECT array_to_string(array_agg(distinct id), ',') 
FROM streets  
WHERE  st_intersects(ST_GeomFromText('LINESTRING(-15999.270647679 6714225.9041112,-16582.102988273 6714070.6413976)',900913),st_transform(geometry, 900913));

那么现在我的问题是如何才能得到黑线下的道路和街道?

我在openlayers或postgis找到解决方案 . openlayers可以提供行几何,这样我就可以直接从数据库中查询 .