Russian (Русский) - Change language

Геометрия области поиска

Представим для простоты, что на вкладках Search Constraints и Relations свойств элемента (а также всех его «родительских» составных элементов) не заданы никакие ограничения области поиска. Тогда перед выполнением инструкций из раздела Advanced Pre-Search Relations область поиска элемента будет совпадать со всем прямоугольником страницы. Если раздел не содержит инструкций, то элемент будет искаться на всей странице.

Выполнение условий поиска вида 1, 2, 4 описанных в разделе Виды условий, ограничивающих область поиска, приводит к формированию области поиска в виде массива прямоугольников. Программа представляет такую область как один прямоугольник, описывающий весь массив, и набор прямоугольников, которые необходимо исключить из описывающего прямоугольника (excluded rectangles).

Выполнение условий поиска из Виды условий, ограничивающих область поиска, п.3 формирует диапазон допустимых значений координат для каждой из границ гипотезы: левой, правой, верхней и нижней. Диапазон координат границы представляет собой отрезок на соответствующей координатной оси, например, [x1, x2] или [y1, y2]. Здесь x1 и x2 имеют тип XCoordinate, y1 и y2 имеют тип YCoordinate. Для отрезка на координатной оси выполняется условие: x1 <= x2 для оси абсцисс, y1 <= y2 для оси ординат.

Если на некоторую границу наложено последовательно несколько условий, то каждое из них приводит к изменению диапазона допустимых значений координат этой границы.

Например, пусть раздел Advanced Pre-Search Relations содержит следующие условия:

  • LeftBound > 5mm;
  • LeftBound < 15mm;
  • LeftBound < 10mm;

Пусть перед выполнением этих условий область поиска не ограничивалась. Тогда в случае, если описание одностраничное (допустимое минимальное и максимальное число страниц документа равно 1), она совпадает с прямоугольником страницы [PageRect.Left, PageRect.Top, PageRect.Right, PageRect.Bottom], а в общем многостраничном случае имеет максимальное значение [-INF, -INF, INF, INF]. Диапазоны координат границ элемента при этом имеют следующие значения:

Граница Диапазон для одностраничных описаний Диапазон для многостраничных описаний
LeftBound [PageRect.Left, PageRect.Right] [-INF, INF]
TopBound [PageRect.Top, PageRect.Bottom] [-INF, INF]
RightBound [PageRect.Left, PageRect.Right] [-INF, INF]
BottomBound [PageRect.Top, PageRect.Bottom] [-INF, INF]

После выполнения условия LeftBound > 5mm изменяется только левая граница, допустимый диапазон ее значений становится отрезком [5mm, PageRect.Right] для одностраничных описаний и [5mm, INF] для многостраничных описаний.

После выполнения условия LeftBound < 15mm диапазон значений левой границы становится отрезком [5mm, 15mm].

После выполнения условия LeftBound < 10mm диапазон значений левой границы становится отрезком [5mm, 10mm].

Аналогичным образом можно задать ограничения и на другие границы элемента.

Сформированные границы области поиска представляются программой в виде так называемого нечеткого прямоугольника.

10.11.2020 12:08:08


Please leave your feedback about this article