ГИС ObjectLand. Руководство пользователя
пред.содержаниеслед. / Фильтры / Глава 36. Использование в фильтре табличной информации об объектах

Использование выборок в критерии фильтра

В некоторых случаях при задании элементарных критериев групп фильтра оказывается выгоднее использовать не поля таблицы, присоединенной к типу объектов, а поля выборки, основанной на этой таблице. В качестве примеров можно назвать две подобных ситуации:

Однако не все так просто. Иногда результат использования выборки в критерии фильтра оказывается далек от ожидаемого или просто непонятен. Пусть, например, в критерии для зданий использовано вычисляемое поле «Количество жителей» из выборки «Распределение жителей по улицам». Пользователь может ожидать, что в результате стиль отображения здания будет определяться суммарным количеством жителей на той улице, где стоит это здание. На самом же деле будет учитываться лишь количество жителей в данном здании.

Чтобы понять, почему так происходит, нужно понимать общий алгоритм использования полей выборок в элементарном критерии фильтра. Этот алгоритм заключается в следующем:

Теперь нетрудно понять, почему количество жителей не суммируется по всем зданиям улицы. Для любого данного здания существует как максимум один паспорт (поскольку связь с таблицей «Паспорта зданий» задана как уникальная), поэтому «временная таблица» содержит не более одной записи. Операция суммирования количества жителей по улицам в таком случае сведется к «суммированию» единственного слагаемого – количества жителей в данном здании.

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

пред.в начало стр.след.