- •Digitals
- •Содержание
- •Введение
- •Кому адресована эта книга
- •Организация книги
- •Системные требования
- •Соглашения, принятые в данной книге
- •Вопросы и пожелания
- •Благодарности
- •Об авторе
- •Глава 1. Установка и обновление
- •Приобретение Digitals
- •Версии программы
- •Виды лицензий
- •Установка Digitals
- •Установка из Интернет
- •Электронный ключ защиты
- •Проверка установки
- •Установка сервера лицензий
- •Получение лицензии из локальной сети
- •Обновление Digitals
- •Обновление вручную
- •Обновление лицензии
- •Работа в демонстрационном режиме
- •Несколько версий на одном компьютере
- •Что в программной папке?
- •Глава 2. Краткий обзор интерфейса
- •Запуск Digitals
- •Запуск нескольких копий программы
- •Настройка языка интерфейса
- •Главное окно
- •Заголовок программы
- •Главное меню
- •Главная панель инструментов
- •Закладки открытых карт
- •Рабочее окно карты
- •Контекстное меню
- •Боковые панели инструментов
- •Строка статуса
- •Главное окно в режиме стерео
- •Использование боковой колонки
- •Получение помощи
- •Когда ничего не работает
- •Глава 3. Быстрый старт
- •Постановка задачи
- •Урок 1. Расчет полевой съемки
- •Урок 2. Привязываем растровую подложку
- •Урок 3. Составляем топографический план
- •Урок 4. Создаем обменный файл
- •Урок 5. Готовим документы
- •Подводим итоги
- •Глава 4. Основы работы с картой
- •Создание карты
- •Открытие и сохранение карт
- •Открытие перетаскиванием
- •Список “Избранное”
- •Автоматическое сохранение карт
- •Шаблоны карт
- •Создание собственных шаблонов
- •Установка свойств карты
- •Масштаб
- •Рамка
- •Система координат
- •Точность карты
- •Точность координат
- •Графическая точность
- •Ограничение доступа к карте
- •Режимы просмотра карты
- •Режим показа центров
- •Специальные режимы просмотра
- •Дополнительные настройки отображения
- •Управление рабочим окном карты
- •Навигатор
- •Глава 5. Сбор и правка объектов
- •Общие понятия
- •Захват точки
- •Точность захвата
- •Захват с клавиатуры
- •Пометка объекта
- •Особенности пометки нескольких объектов
- •Слои и их статус
- •Быстрое изменение статуса слоя
- •Параметры объекта
- •Отмена и повтор операций
- •Сбор
- •Выбор активного слоя
- •Избранные слои
- •Выбор слоя по образцу
- •Выбор из окна статуса слоев
- •Выбор шаблона сбора
- •Установка режима высоты
- •Порядок сбора
- •Дополнительные возможности при сборе
- •Особенности сбора объектов с разрывом
- •Настройки режима Сбор
- •Применение навигатора в процессе сбора
- •Режимы конструирования
- •Сбор по координатам
- •Новый объект
- •Вставка из буфера обмена
- •Правка
- •Манипулирование объектами в целом
- •Удаление объектов
- •Работа с буфером обмена
- •Правила вставки объектов
- •Специальная вставка
- •Перемещение объекта
- •Изменение порядка отрисовки
- •Изменение слоя объекта
- •Работа с точками (узлами)
- •Применение “горячих клавиш” при работе с узлами и линиями
- •Дополнительные возможности при перемещении узлов
- •Особенности работы с точечными объектами
- •Маркирование точек и линий
- •Окно свойств линии
- •Перемещение маркированной линии
- •Окно свойств объекта
- •Изменение координат объекта
- •Инструменты редактирования
- •Контекстное меню точки (узла)
- •Панель Правка
- •Меню Правка
- •Меню Сервис и прочие возможности
- •Инфо
- •Быстрое назначение параметров слою
- •Заполнение параметров
- •Копирование и вставка значений параметров
- •Копирование перетаскиванием
- •Специальная вставка
- •Шаблоны заполнения
- •Калькулятор
- •Фиксированные и производные параметры
- •Делаем карту плоской
- •Автоматизация заполнения параметров и выноса подписей
- •Поиск и замена
- •Поиск по списку
- •Поиск по содержимому нескольких параметров
- •Дополнительные возможности поиска
- •Замена значений
- •Инструмент Автоинфо
- •Вынос подписей
- •Быстрый вынос
- •Менеджер подписей
- •Манипулирование подписями в рабочем окне карты
- •Контекстное меню подписи
- •HTML-подписи
- •Особенности работы в режиме стерео
- •Глава 6. Классификатор
- •Устройство карты
- •Слои
- •Список слоев
- •Контекстное меню слоя
- •Режим редактирования имен
- •Порядок слоев
- •Фиксированные слои
- •Слой по умолчанию
- •Фильтрация списка
- •Поиск в списке слоев
- •Загрузка и сохранение списка
- •Тип слоя
- •Атрибуты отображения
- •Атрибуты линии
- •Атрибуты заливки
- •Атрибуты шрифта
- •Назначение условного знака слою
- •Назначение параметров слою
- •Группа слоя
- •Статус слоя
- •Диапазон видимости
- •Шаблон сбора
- •Сервисные операции
- •Параметры
- •Список параметров
- •Фиксированные параметры
- •Тип параметра
- •Атрибуты отображения
- •Атрибуты линии
- •Атрибуты заливки
- •Атрибуты шрифта
- •Назначение условного знака параметру
- •Условный знак, зависящий от содержимого параметра
- •Производные параметры
- •Функции в производных параметрах
- •Маска параметра
- •Маски форматирования
- •Маски правил проверки и форм ввода
- •Статус параметра
- •Библиотека условных знаков
- •Работа с каталогом знаков
- •Операции с буфером обмена
- •Создание и редактирование знака
- •Размер знака
- •Точка привязки знака
- •Тип знака
- •Рисование элементов знака
- •Пометка элементов знака
- •Изменение формы и положения элементов
- •Атрибуты отображения
- •Группировка элементов
- •Цепочки знаков
- •Сохранение библиотеки во внешний файл
- •Глава 7. Работа с картой (продолжение)
- •Группировка объектов
- •Манипулирование группами в целом
- •Манипулирование содержимым группы
- •Пометка объектов входящих в группу
- •Просмотр и редактирование объектов
- •Отображение групп в рабочем окне карты
- •Построения в карте
- •Засечки
- •Вынос в натуру
- •Преобразование объектов
- •Разворот объекта(ов)
- •Особенности поворота точечных объектов
- •Заполнение контуров точечными значками
- •Блоки
- •Порядок создания
- •Вставка блока в карту
- •Инструменты, применимые к карте в целом
- •Вставка внешних данных в карту
- •Обрезка и выравнивание карты
- •Разворот карты
- •Генерализация
- •Сводка, сшивка и другие сервисные операции
- •Статистика карты
- •Оформление карты
- •Зарамочное оформление на базе шаблона
- •Создание шаблона
- •Вставка шаблона
- •Вставка номенклатурной рамки
- •Вставка легенды
- •Сетка координат
- •Разбивка карты на листы
- •Вставка таблиц
- •Редактирование таблиц
- •Переопределение слоев и тематические виды
- •Переопределение слоев
- •Создание тематического вида
- •Проверка качества карты
- •Контроль узлов
- •Анализ карты в панели Список
- •Проверка типа и вложенности объектов
- •Навигация по дереву
- •Визуальный контроль совпадения узлов
- •Меню Карта > Проверка
- •Сравнение карт
- •Подсистема контроля карт
- •Выбор сценария для контроля карты
- •Процесс контроля
- •Написание собственного сценария
- •Пример сценария
- •Глава 8. Работа с растрами
- •Общие понятия
- •Типы растровых материалов
- •Характеристики растра
- •Форматы растров
- •Какой формат выбрать?
- •Ориентирование растров
- •Полиномиальное ориентирование
- •Назначение растру системы координат
- •Аэросъемка, спутниковые снимки и прочие виды съемок
- •Где хранится геопривязка?
- •Другие форматы геопривязки
- •Порядок поиска геопривязки
- •Работа с архивом элементов ориентирования
- •Использование растра в качестве подложки
- •Режим стерео
- •Особенности работы со снимками 3-DAS-1
- •Коррекция тона
- •Просмотр свойств открытых растров
- •Растрово-векторные карты
- •Вставка растров
- •Из буфера обмена
- •Из файла
- •Вставка по ссылке
- •Совмещенный режим
- •Манипулирование растровым объектом в карте
- •Маскировка части растра
- •Автоматическая маскировка при вставке
- •Коррекция тона
- •Полупрозрачность
- •Трансформирование растров
- •Трансформирование карт
- •Пошаговое трансформирование
- •Пакетное трансформирование группы планшетов
- •Создание ортофото
- •Трансформирование растров в другую систему координат
- •Использование картографических сервисов Интернет
- •Уточнение места положения загруженных растров
- •Получение атрибутов объектов из некоторых типов карт
- •Дополнительные сведения
- •Глава 9. Cистема координат карты
- •Общие понятия
- •Государственная система координат Украины
- •Пересчет по связующим точкам
- •Округление координат карты
- •Графический способ указания связующих точек
- •Применение датумов
- •Автоматический пересчет координат
- •Встроенные датумы
- •Специализированные датумы
- •Описание датума
- •Как работает пересчет координат
- •Особенности пересчета высот
- •Использование полиномиальной коррекции для связи устаревших систем с УСК2000
- •Пример использования
- •Работа с географическими координатами
- •Вставка из буфера обмена
- •Пересчет в / из
- •Глава 10. Работа с ЦМР
- •Общие понятия
- •Триангуляционная сеть (TIN)
- •Сетка ЦМР
- •Создание сетки
- •Автоматическое создание
- •Создание для всего блока
- •Создание из существующих объектов
- •Комбинированный способ
- •Ручное измерение сетки
- •Редактирование сетки
- •Изменение конфигурации сетки
- •Изменение высоты узлов
- •Дополнительные настройки режима измерения ЦМР
- •Коррекция высот сетки в целом
- •Специальные возможности
- •Преобразование в пикеты
- •Построение горизонталей
- •Переприсвоение высот
- •Линейное переприсвоение высот
- •Трехмерное отображение карты
- •Введение в 3D-моделирование
- •Профиль, сечение, объем
- •Построение продольного профиля
- •Вспомогательные инструменты
- •Другие типы профилей. Сечение.
- •Получение отчета по трассе
- •Подсчет объемов
- •Более сложный пример
- •Режим вычитания сеток ЦМР
- •Планирование площадок
- •Глава 11. Импорт и экспорт карт
- •Общие понятия
- •О настройках чтения и записи
- •Текстовые форматы
- •DAT file (NXYZ)
- •ASCII text file
- •AutoCAD DXF/DWG
- •И все-таки, DXF или DWG?
- •Альтернативные подходы к сохранению карты в DXF/DWG
- •Псевдонимы имен слоев и блоков
- •Особенности чтения файлов DXF/DWG
- •ArcGIS SHP
- •Чтение
- •Запись
- •Настройки чтения и записи
- •Псевдонимы имен слоев и параметров
- •MapInfo MID/MIF
- •Вывод в растровые форматы
- •Глава 12. Применение в землеустройстве
- •Общие понятия
- •Еще раз о точности карты
- •Типовые настройки округления
- •Графическая интерпретация округления координат
- •Чтение обменных файлов
- •Настройки чтения
- •Запись обменных файлов
- •“Подводные камни”
- •Прочие возможности при сохранении …
- •для формата IN4
- •для формата XML
- •Настройки записи
- •Создание обменных файлов “с нуля”
- •Создание IN4
- •Обзор шаблона по умолчанию Normal.dmf
- •Порядок создания
- •Пример карты
- •Создание XML
- •Обзор шаблона XMLNormal.dmf
- •Порядок создания
- •Пример карты
- •Поддержка справочников для ввода некоторых данных
- •Шаблоны заполнения
- •Изменение существующих обменных файлов
- •Проверка обменных файлов
- •Модуль проверки IN4
- •Модуль проверки XMLChecker
- •Конвертация IN4 в XML
- •Пакетная конвертация группы файлов
- •Извлечение информации из карты
- •Вставка таблиц
- •Экспликация
- •Список смежников
- •Создание простых текстовых отчетов
- •Графический фрагмент
- •Шаблоны документов
- •Порядок генерации документа из шаблона
- •Пакеты документов
- •Групповой режим
- •Два участка в одном шаблоне
- •Создание шаблона документа
- •Настройка существующего шаблона документа “под себя”
- •Создание нового шаблона на базе существующего
- •Создание “с нуля”
- •Автомасштаб
- •Элементы шаблона DMT и их настройка
- •IN4+FastReport
- •Порядок работы
- •Пакеты документов
- •Настройки модуля Reports
- •Что происходит “за кадром”
- •Дизайнер отчетов FastReport
- •Элементы, размещаемые в шаблоне
- •Понятие о языке скриптов PascalScript. Функции.
- •Советы по разработке шаблонов отчетов
- •XML+DMT+FastReport
- •Создание нового шаблона
- •Порядок работы с XML в скриптах
- •Функции для работы с XML
- •Layout DMT
- •Систематизируем: что, где и как
- •Модуль текстовых констант List editor
- •Создание формы 6-зем
- •Глава 13. Печать
- •Настройка параметров страницы
- •Печать окна
- •Печать
- •Отступы печати
- •Особенности печати…
- •…зарамочного оформления
- •…с разбивкой по листам
- •…с растровой подложкой
- •Двусторонняя печать
- •Окно предварительного просмотра
- •Калибровка принтера
- •Вывод в формат PDF
- •Открытие и сохранение растров
- •Навигация в окне
- •Функции редактирования
- •Обрезка
- •Поворот
- •Коррекция тона
- •Создание пирамиды
- •Измерения по растру
- •Информация о растре
- •Печать
- •Паевание
- •Оценка земли
- •Функции, используемые в шаблоне денежной оценки
- •Geodesy
- •GeoTrans
- •Topotracer
- •AutoOrientation
- •Регистратор
- •Пользовательские панели инструментов
- •Язык скриптов
- •Комментарии
- •Команды
- •Переменные
- •Массивы текстовых строк
- •Выражения
- •Условный оператор @if
- •Управление ходом выполнения
- •Подпрограммы
- •События
- •Пример обработчика событий
- •Библиотека скриптов
- •Выполнение подпрограммы
- •Передача параметров (1-й способ)
- •Передача параметров (2-й способ)
- •Отладка скриптов
- •Дополнительная информация
Приложение D. Введение в Digitals Script
Вконтекстном меню кнопки на пользовательской панели инструментов вы найдете еще много полезных команд, управляющих как внешним видом кнопки, так и поведением панели в целом.
Вчастности, здесь можно дать кнопке название и назначить иконку.
Рисунок D.1. Диалог “Выбор команд для кнопки”
Язык скриптов
Рассмотрим элементы языка, из которых складывается скрипт.
Комментарии
Комментарий - это строка скрипта, которая начинается с символа ; (двоеточие). Комментарии обычно применяются для того, чтобы объяснить ход выполнения скрипта или сохранить любую другую полезную для разработчика скрипта информацию.
Комментарий также может применяться для временного “отключения” тех или иных команд скрипта.
Команды
Как вы уже поняли, скрипт представляет собой последовательность команд. Такими командами могут быть практически любые команды из арсенала команд меню и панелей инструментов Digitals, а также целый ряд внутренних неинтерактивных команд, “видимых” только для скриптов.
Внутренние команды
Имена внутренних команд начинаются с символа @ (собачка). Добрая часть внутренних команд не имеет аналогов в интерфейсе Digitals и не может быть вызвана иначе, как из скрипта.
Внутренние команды часто имеют дополнительные агрументы, которые записываются после самой команды. Синтаксис передачи аргументов может отличаться от команды к команде - поэтому, задействуя ту или иную команду, вам следует обратить внимание на ее описание.
Команды интерфейса Digitals
Команды из интерфейса вызываются по их именам - так, как если бы мы вызывали их из меню. Например, если в скрипте требуется выполнить вставку из буфера обмена, следует включить в его текст команду Правка | Вставить.
340
Команды
Вместе с тем, каждая команда из интерфейса имеет внутреннее имя, которое можно “подсмотреть” в строке статуса окна, изображенного на Рис.D.1, выбрав соответствующую команду в списке. Если мы хотим вызвать интерфейсную команду по ее внутреннему имени, то для этого используется команда @ExecuteMenu, которая принимает внутреннее имя в качестве своего аргумента. Например, упомянутая выше команда Правка | Вставить будет выглядеть в этом случае как
@ExecuteMenu EditPaste.
Команды интерфейса нередко вызывают на экран диалоги для настройки некоторых параметров, что не всегда приемлимо в рамках скрипта. Чтобы “проскочить” диалог, в скрипте используется функция @SendChars, которая располагается перед вызовом соответствующей команды и посылает диалогу последовательность нажатий на клавиатуру, как если бы это сделал пользователь, сидящий перед экраном компьютера.
Например, следующий код создаст группу с именем “Участок”. Здесь <CR> означает посылку нажатия клавиши Enter.
@SendChars Участок<CR>
Группа | Создать...
Отметим, что часть интерфейсных команд имеют свои неинтерактивные скриптовые аналоги. Например, команда @Map.Generalization 0.1 выполнит генерализацию с графической точностью 0.1 мм без вызова диалога. Разумеется, что помощь команды @SendChars в этом случае не понадобится.
По функционалу команды скрипта можно условно разделить на такие группы:
Команды утилит
Группа различных вспомогательных команд. Сюда входят, например, команды для извлечения пути к файлу, команды для соединения и разделения строк и множество других.
Команды действий
Фактически, в эту группу попадают все инструменты, воздействующие на помеченные объекты или на карту в целом. Самый простой пример - это команды взаимодействия с буфером обмена.
Команды получения выборки
Немалая часть инструментов работает с помеченными объектами. Поэтому, в скрипте нам необходимы команды для получения выборки. Это могут быть как команды из интерфейса Digitals,
например, Пометить | Все или Пометить | Внутри помеченного, так и команды типа
@Map.SelectByParameters.
Последняя команда, в частности, помечает объекты подобно диалогу Правка > Найти…. Обратите внимание и на другие команды группы @Map, которые начинаются со слова Select.
Команды доступа к элементам карты
Под элементами карты мы подразумеваем все ее части: саму карту, список слоев, список параметров, объекты карты и содержимое их параметров, а также подписи, вынесенные в карту. Некоторые команды доступа запрашивают значения, некоторые позволяют их изменить. Часть команд работает и на запрос и на изменение.
Элемент Map (карта) организован в виде массива (списка), содержащего все открытые карты. Каждая карта Map содержит массив Object, содержащий объекты карты. Этот массив, в свою очередь, содержит массив Parameter, в котором хранятся значения параметров, связанных с объектом.
Обращаться к элементам массива можно по номеру, указывая его в [ ] квадратных скобках. Примеры:
@Map.Count - Возвращает количество объектов в активной карте. @Map[2].Layers.Count - Возвращает количество слоев во второй карте.
@Map.Object[N].Parameter[M] - Доступ к содержимому параметра M объекта N текущей карты.
$X=@Map.Object[N].Point[M].x - Запись координаты X точки M объекта N текущей карты в переменную $X (о переменных чуть ниже).
341