План границ (с макросами).mbx

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


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

16 мая 2006г:
В программу добавлена опция продвинутого подписывания.

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

			Главный диалог.

"Колонка наименования участка"(поле ввода+ кнопка) - по названию ясно. На значение из этой колонки будет заменен макрос %Наименование%. Если был выбран участок, то можно нажать на кнопку "..." и указать колонку в списке. Колонка с указанным именем должна присутствовать в таблице выбранного участка, иначе сформировать план и каталог не удастся.

"Колонка владельца участка"(поле ввода+ кнопка) - аналогично. Соответствующий макрос - %Владелец%.

Колонка номера участка(поле ввода+ кнопка) - %Номер зу%

"Использовать готовые угловые точки границы"(галочка) - если вас не устраивает то, что программа создает точку границы в каждом узле участка и/или то, что она нумерует их по порядку начиная с единицы, вы можете использовать заранее созданные и пронумерованные точки границы.  Если эта галочка установлена, доступны следующие три графы:
	"Таблица точек границы"(поле ввода+ кнопка) - выбираем открытую таблицу.
	"Колонка номера точки"(поле ввода+ кнопка) - в какой колонке забит номер точки, не порядковый, а тот, который будет отображаться в на плане и в таблицах. Порядок точек границы будет тот же: по часовой стрелке, начиная с верхней.
	"Допустимое отклонение точки границы от узла (м)" - Координаты каждой точки границы могут отклоняться от соответствующего узла не более чем на эту величину. Величина допуска 0 означает, что точки границы должны сидеть в узлах. ВНИМАНИЕ! Ситуация, при которой точка границы находится ближе к "чужому" узлу, чем к своему, может привести к пропуску того самого "своего" узла.

"Префикс(приставка) номера угловой точки границы"(поле ввода) - текст, который будет добавляться слева к номеру точки при автоматической генерации точек границы (т.е. при сброшенной галочке "Использовать готовые угловые точки границы"). Например, если вписать в это поле значение "н", номера точек во всех таблицах и на плане будут иметь вид н1, н2, н3 и т.д.

"Каталог координат в форме Степкина"(галочка) - если галка установлена, каталог координат будет иметь такой состав столбцов:
линия, дирекционный угол, длина линии, *пустая колонка*, номер точки, координаты (x,y).
Обычный состав столбцов такой:
номер точки, дирекционный угол, длина линии, координаты (x,y).
Отличие в том, что в степкинском каталоге дир. угол и длина сопоставляется линии, а не точке.

"Координаты без номеров зон"(галочка) - если галка стоит, при формировании каталога координат у координат отбрасываются первые несколько цифр так, чтобы координата Х имела не более 5 знаков до запятой, а координата У - не более 6.

"Создавать выходные таблицы в указанной папке"(галочка) - если эта галочка сброшена, то таблицы "Текущий участок", "Точки границы" и "Каталог координат" будут создаваться во временной папке Windows (в Temp) и не будут затерты при следующих запусках. Если галочка установлена - выходные таблицы будут создаваться в указанной ниже папке. Если в этой папке уже есть одна или несколько выходных таблиц, будет выдан запрос на их перезапись. Все это сделано для того, чтобы можно было сохранить генерируемые программой отчеты в рабочем наборе. Желательно сохранять его в ту же папку, где созданы выходные таблицы. Причем перед сохранением рабочего набора все таблицы, кроме выходных, лучше закрыть.
	Ниже идет графа папки для выходных таблиц. Для ее указания можно воспользоваться кнопкой обзора "...". Указанная папка должна существовать, создайте ее сами. Вам придется создать по папке для каждого участка, для которого вы хотите сохранить отчеты плана границ и каталога координат.
А вообще, лучше сохранять отчеты в виде растровых (bmp, png, tif) или векторных (wmf, emf) изображений с помощью команды "Файл/Экспорт окна". Вы всегда сможете просмотреть и распечатать такие файлы с помощью стандартных программ Windows, да и отредактировать их тоже можно, нужен графический редактор.

"Одна строка на одного смежника"(галочка) - если включено, описание каждого смежества размещается в одной строке списка. Если выключено, наименование смежного участка пишется в отдельной строке.

"Номер участка имеет формат Единое_землепользование.Раб_номер"(галочка) - если галочка установлена, то действует следующее правило: если в номере участка (который берется из колонки таблицы) имеется точка, то номером зу считается часть номера после точки. Часть номера до точки считается номером единого землепользования. Если точки нет, то номер из колонки считается номером зу, номер землепользования считается пустым. Если эта галочка сброшена, то номер из колонки считается номером зу, а вместо номера единого землепользования будет вставлен текст "<отключено>" в знак того, что режим единого землепользования отключен.

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

Используемые шаблоны - открывает диалог, в котором указываются пути к шаблонам.

			Диалог "Продвинутое подписывание. Настройки"

"Смещение подписей (в точках)"(целочисленная графа),
"Указка при подписи:"(переключатель и кнопка выбора стиля линии)
 - параметры-близнецы своим аналогам из стандартного диалога подписывания слоя (Управление слоями/Подписи).

"Размещать подписи только снаружи участка"(галочка) - если галочка установлена, программа будет стремиться размещать подписи снаружи участка.

"По умолчанию"(кнопка) - восстанавливает в диалоге "фабричные" настройки.


			Диалог "Используемые шаблоны"

Шаблон плана границ - указываем нужный рабочий набор. Используем кнопку "..." для обзора файлов.

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

				Макросы.

	В программе "План границ" для задания вида отчетов используются шаблоны. Каждый шаблон представляет из себя обычный отчет со встроенными в надписи макросами и хранится в отдельном рабочем наборе (wor-файле). ВНИМАНИЕ! Кроме этого отчета рабочий не должен открывать ничего, ни окон, ни таблиц. Макросы - это текст особого вида, который программа распознает и заменяет на текст (графику), с информацией о текущем участке. Макросы могут быть двух типов: текстовые и графические. Текстовые макросы заменяются текстом, а графические -  картами и таблицами. 

	Текстовые макросы встраиваются в текст надписей и имеют вид:
%Имя макроса%[значение параметра%]*
Скобки [ ]* означают, что конструкция в скобках может повторяться 0 и более раз. Количество и порядок параметров фиксированы для каждого отдельного макроса.
	Приведу несколько примеров:
%Дата% - макрос без параметров, заменяется на текущую дату.
%Масштаб%План границ% - макрос с одним параметром (именем карты).
%Площадь%кв.м%0.1% - макрос с двумя параметрами (единицы площади и округление).
	При написании имени макроса не обязательно соблюдать регистр букв, например, можно писать и %площадь% и %ПлОщадЬ% - для программы разницы нет. Весь текст текстового макроса, включая список параметров, следует писать в одной строке и без пробелов, например, если написать %  Дата% или  %Площадь% кв. м %0.1%, то программа не поймет. В числах в качестве десятичного разделителя используйте точку. Один и тот же макрос может встречаться многократно в тексте любой надписи, заменено будет каждое его вхождение.

	Графические макросы по форме несколько отличаются от текстовых: они состоят из следующих частей:
1) Непосредственно сам макрос со списком текстовых параметров - похож на текстовый макрос, но в отличие от него занимает всю надпись, а его параметры отделяются от имени макроса и друг от друга переводом строки. Вот пример:

%Описание стмежеств%
0.02

0.02 - это расстояние между строками списка смежеств.

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

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

При замене графического макроса все указанные элементы удаляются, а вставляется соответствующий графический элемент (карта или таблица). 

				Текстовые макросы.

%Наименование% - наименование участка. Берется из колонки таблицы участков, указанной в главном диалоге программы.

%Владелец% - владелец участка. Берется из колонки таблицы участков, указанной в главном диалоге программы.

%Номер зу% - рабочий номер земельного участка. Из колонки номера, указанной в диалоге программы, считывается номер. В зависимости от состояния галочки "Номер участка имеет формат Единое_землепользование.Раб_номер" (см. выше) этот номер считается либо номером зу либо включает в себя и номер зу и номер единого землепользования.

%Землепользование% - номер единого землепользования. См. описание макроса %Номер зу%.

%Площадь%Единицы площади%Округлять до% - площадь земельного участка.
Единицы площади - единицы измерения площади, русское сокращенное название. Параметр может принимать следующие значения: "кв.м", "кв.км", "га", "акр" "кв.см",  "кв.мм".
Округлять до - до каких значений округлять площадь. Например, при значении параметра "0.1" площадь будет округлена до десятых (будет иметь 1 знак после десятичной точки).
Пример макроса: "%Площадь%кв.м%0.01%". Пример результата: "1422.04".

%Дата% - текущая дата. Формат представления даты определяется региональными настройками Windows, в частности кратким форматом даты. Пример результата: "03.11.03".

%Масштаб%Имя карты% - масштаб плана границ, отраженного на карте с именем "Имя карты". 
Имя карты - строка, посимвольно совпадающая с именем карты, указанным в макросе %План границ%.
Пример результата: "1:1000".

%Лист% - номер текущего листа каталога координат.

%Листов% - общее число листов каталога координат.

%Зн%Имя_колонки% - значение указанной колонки для выбранного участка. Как и другие макросы, может быть использован многократно. Если указанной колонки нет в таблице участков, макрос будет заменен текстом "<нет колонки>", а в окно сообщений будет выдано предупреждение.

					Графические макросы.

%План границ% - карта участка
Имя карты - служит для указания конкретной карты в макросе %Масштаб%
стиль линий границ
символ угловой точки границы
шрифт подписей номеров угловых точек границы

%Выноска геоданных% - таблица с геоданными
Промежуток между строками таблицы - в см.
Промежуток между столбцами таблицы - в см.
Обычный шрифт
Шрифт заголовков столбцов

%Описание смежеств% - список смежных земельных участков
Промежуток между строками списка - в см.
Шрифт

%Каталог координат%
Промежуток между строками таблицы - в см.
Промежуток между столбцами таблицы - в см.
Обычный шрифт
Шрифт заголовков столбцов