Разрезка на трапеции.mbx

(С) Дмитрий Мазуров

				Введение.

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

26 декабря 2007: при разрезке объектов из одного контура никогда не происходит обращения узлов (вообще MapInfo при любых операциях меняет направление обхода контуров на "по часовой стрелке").

Для работы Вам понадобится специальная таблица границ трапеций. Требования к ней следующие: 
1) Каждая трапеция оформляется отдельным объектом типа область. 
2) Других площадных объектов быть не должно.
3) Таблица должна содержать колонку, в которой записаны уникальные имена трапеций (для чего они нужны см. ниже).

Трапеции могут иметь любую форму, могут пересекаться, могут не покрывать всю карту. Поэтому следите за правильностью своих трапеций.

Как работать с программой:

Создаем таблицу границ трапеций, открываем ее. 
Открываем таблицы (они же слои карты), которые нужно разрезать на трапеции. 
Запускаем команду меню "Программы/Разрезка на трапеции"
Указываем таблицы для разрезки
Выбираем папку, в которой будут созданы папки получившихся трапеций карты. 
Указываем таблицу границ трапеций.
Указываем колонку с именами трапеций (в таблице границ трапеций)
Жмем ОК.

	Программа начинает перебирать трапеции. Смотрит колонку имени трапеции и создает папку с этим именем в папке для получившихся трапеций. В папке каждой трапеции создаются результирующие таблицы с такими же именами как, у тех что мы разрезаем. В них попадает только то, что находится в пределах границы текущей трапеции. Если объект не пересекается с трапецией (как с областью), его не будет в результирующей таблице. В протяженных объектах, пересекающихся с трапецией, удаляется внешняя по отношению к трапеции часть. Точечные и текстовые объекты попадают во все трапеции с которыми пересекаются. Если таблица вообще не пересекается с текущей трапецией, то результирующая таблица удаляется. Другими словами в полученной трапеции не бывает пустых таблиц, поэтому количество таблиц в трапеции может быть меньше, чем исходных.