SQL запрос и набираем выражение, как показано ниже:
![]() |
Здесь для вычисления координат эл.участков использутся функции CentroidX/Y с условием , что слой сетки grid1 пересекает слой контура kontur1 (оператор Intersects) хотя бы в одной точке. |
Результат может выглядеть так:

При вычислении координат есть одна тонкость. Дело в том, что по умолчанию координаты функцией CentroidX/Y измеряютя в системе Долгота/Широта, т.е. в градусах. Для того, чтобы поменять эту систему на прямоугольную (План/Схема) идем Настройки>Режимы>Окно Карты>вкладка Проекция, кнопка Проекция для сеанса :

В принципе, поставленную задачу мы решили. Но иногда хотелось избавиться от слишком мелких элементарных участков с площадью, ну скажем, меньше 1 гектара. Для решения этой задачи придётся немного потрудиться. Чтобы «отфильтровать» такие небольшие площади, необходимо побить наш контур на фрагменты с помощью сетки (слой grid1). Сделать это можно с помощью операций над объектами(меню Объекты) : Удалить часть(для «полных» квадратов) и Разрезать (для тех квадратов, которые частично перекрывают наш контур). После проведения такой работы, наш «посечённый» контур может выглядеть так:

Теперь, чтобы отбросить фрагменты с площадью меньше 2 гектара составим следующий запрос:

Результат нашей выборки будет выглядеть так:

Как видим, мы избавились от небольших по площади элементарных участков.
На основании предложенного алгоритма, в принципе, наверно возможно «нацарапать» какой-нибудь макрос на MapBasic’е для автоматизации. Но это тема уже совсем другого разговора …
© Simashkov.2011
06.02.2011 г.