Страница 1 из 1
OL: Пространственная выборка
Добавлено: 05 ноя 2010, 15:02
Denis Rykov
Есть векторный слой и некоторый bbox. Как получить набор объектов (features) слоя, пересекающих данный bbox?
Re: OL: Пространственная выборка
Добавлено: 05 ноя 2010, 17:05
Mavka
Опять озадачили...
Из BBOX сделать Polygon:
Код: Выделить всё
var poly = new OpenLayers.Bounds(0,0,10,10).toGeometry();
Потом использовать метод
intersects. Для точек точно даст те что лежат внутри, про остальные типы геометрии не знаю.
Re: OL: Пространственная выборка
Добавлено: 09 ноя 2010, 13:26
Denis Rykov
Спасибо, воспользовался советом. Есть ещё метод OpenLayers.Feature.Vector.atPoint(), который "is an approximation based on the bounds of the geometry", но я так и не понял для чего он.
Re: OL: Пространственная выборка
Добавлено: 09 ноя 2010, 15:16
Mavka
В atPoint передаются координаты (x,y) и допуски. Он говорит есть ли кто-нибудь в этой точке.
Используется, например, при редактировании что бы приклеиваться к существующим узлам.
Method: atPoint
Note - This is only an approximation based on the bounds of the geometry.
Parameters:
lonlat - {<OpenLayers.LonLat>}
toleranceLon - {float} Optional tolerance in Geometric Coords
toleranceLat - {float} Optional tolerance in Geographic Coords
Returns:
{Boolean} Whether or not the geometry is at the specified location