Метод QueryByObject (Объект IIngeoMapObjects)


Поиск пространственных объектов имеющих указанное пространственное отношение к заданному объекту.

Синтаксис

ЯзыкОписание
VBScript, JavaScriptFunctionQueryByObject(aLayerIDs, anObjectID, aRelationMask, aRelation)
Visual BasicFunction QueryByObject(ByVal aLayerIDs As Variant, ByVal anObjectID As String, ByVal aRelationMask As TIngeoContourRelation, ByVal aRelation As TIngeoContourRelation) As IIngeoMapObjectsQuery
Delphifunction QueryByObject(aLayerIDs: OleVariant; const anObjectID: WideString; aRelationMask: TIngeoContourRelation; aRelation: TIngeoContourRelation): IIngeoMapObjectsQuery;
C, C++HRESULT QueryByObject(VARIANT aLayerIDs, BSTR anObjectID, TIngeoContourRelation aRelationMask, TIngeoContourRelation aRelation, IIngeoMapObjectsQuery** Value);

Параметры

aLayerIDs
Список идентификаторов слоев, в которых следует производить поиск. Данный параметр может содержать строку или массив строк.
anObjectID
Идентификатор объекта, по отношению к которому производится поиск.
aRelationMask
Маска пространственных отношений, на которые необходимо производить проверку.
aRelation
Значения пространственных отношений, удовлетворяющих поиску. Пространственные отношения, не указанные в параметре aRelationMask игнорируются.

Возвращаемое значение

Объект для перебора результатов поиска.

Примечания

При анализе каждого пространственного объекта производится вычисление пространственного отношения всех форм заданного объекта с контурами форм тестируемого объекта. Проверяются только формы, определяющие геометрию объекта.

К вычисленному отношению применяется маска aRelationMask и результат сравнивается с aRelation. Если значения совпали, то объект считается удовлетворяющим поиску.

Пример

Пример 1

 aRelationMask  incrIntersected + incrTouched 
 aRelation incrIntersected

Будут найдены все объекты имеющие пересечения, но не имеющие точек соприкосновения с заданным объектом.

Пример 2

 aRelationMask  incrContains + incrTouched 
 aRelation incrTouched

Будут найдены все объекты имеющие точки соприкосновения, но не лежащие внутри заданного объекта.

Пример 3

 aRelationMask   incrContained 
 aRelation incrContained

Будут найдены все объекты, содержащие внутри себя указанный объект.