我正在尝试使用 DrawFeature 在图层上选择要素(道路和街道) . 我正在使用Polygon和Line绘制选项 . 我知道如何从这个链接中选择多边形内的特征并为我工作正常
OpenLayers select features with polygon
当我画一条线时,它会返回我相交的特征(道路和街道) . 我想获得完全不在线的feautres .
Actual Map:
这是从 openlayers 返回 LINESTRING 的输出 .
红线显示选定的道路和街道 .
我使用了openlayers的 intersects 功能 .
我想得到以下输出
我也通过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可以提供行几何,这样我就可以直接从数据库中查询 .