Нехитрые советы для пользователей ПК

SQL запрос и набираем выражение, как показано ниже:

screen3-3684331

Здесь для вычисления координат эл.участков использутся функции

CentroidX/Y

с условием

,

что слой сетки

grid1

пересекает слой контура

kontur1

(оператор

Intersects)

хотя бы в одной точке.

Результат может выглядеть так:

screen2-7086869

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

screen4-9323712

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

screen7-4659292

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

screen9-1284103

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

screen8-9457867

Как видим, мы избавились от небольших по площади элементарных участков.

На основании предложенного алгоритма, в принципе, наверно возможно «нацарапать» какой-нибудь макрос на MapBasic’е для автоматизации. Но это тема уже совсем другого разговора …

© Simashkov.2011

06.02.2011 г.

Назад