Нахождение одного ЗУ в нескольких территориальных зонах

MapInfo, MapBasic
Аватара пользователя
ginpetr
Завсегдатай
Сообщения: 385
Зарегистрирован: 21 июн 2011, 12:07
Репутация: 140
Откуда: Орск
Контактная информация:

Re: Нахождение одного ЗУ в нескольких территориальных зонах

Сообщение ginpetr » 07 окт 2014, 14:11

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

1. Самый ресурсоёмкий. Выявляет все проблемные участки. Три временные динамические колонки.
Добавление колонок:
Add Column "участки" (S Float)From ЗОНЫ Set To Area(obj, "sq m") Where contains Dynamic
Add Column "участки" (psS Float)From ЗОНЫ Set To proportion sum(Area(obj, "sq m")) Where intersects Dynamic
Add Column "участки" (paS Float)From ЗОНЫ Set To proportion avg(Area(obj, "sq m")) Where intersects Dynamic
Тематика "отдельные значения" по выражению:
S<>paS or Round(psS, 1)<>Round(Area(Object, "sq m"), 1) and psS>0
T(true) - проблемный участок

2. Менее ресурсоёмкий. Выявляет все проблемные участки. Две временные динамические колонки.
Добавление колонок:
Add Column "участки" (psSc) From ЗОНЫ Set To proportion sum(Area(Object, "sq m")) Where contains Dynamic
Add Column "участки" (psSi) From ЗОНЫ Set To proportion sum(Area(Object, "sq m")) Where intersects Dynamic
Тематика "отдельные значения" по выражению:
psSc<>psSi or Round(psSi, 1)<>Round(Area(Object, "sq m"), 1) and psSi<>0
или
Abs(psSc-psSi)>1 or Abs(psSi-Area(Object, "sq m"))>1 and psSi<>0 получше вроде работает
T(true) - проблемный участок

3. Самый "быстрый". Выявляет большинство проблемных участков. Две временные динамические колонки.
Добавление колонок:
Add Column "участки" (psS) From ЗОНЫ Set To proportion sum(Area(Object, "sq m")) Where contains Dynamic
Add Column "участки" (k) From ЗОНЫ Set To Count(*) Where intersects Dynamic
Тематика "отдельные значения" по выражению:
Round(psS, 1)<>Round(Area(Object, "sq m"), 1) and psS>0 and k>0
T(true) - проблемный участок

везде в Round(ХХХ, 1) 1 - точность совпадения площадей в "sq m".
участки и ЗОНЫ заменить на соответствующие имена своих таблиц.

Сам пользуюсь вариантом №3.

На рисунках результаты их работы, у участков показаны центроиды, у зон нарушена топология (имеется перекрытие в районе участка №3)
Вложения
Untitled.jpg
3 способ
Untitled.jpg (442.51 КБ) 2462 просмотра
Untitled.jpg
1 и 2 способы
Untitled.jpg (462.97 КБ) 2462 просмотра

Ответить

Вернуться в «MapInfo»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость