Геоинформационная система РИЛИО OntoGIS

(версия Lite)

 

Элементы обстановки.

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

Все элементы обстановки по своей структуре подразделяются на 3 предопределенных типа:

-         надписи

-         полигоны и линии (полилинии)

-         картографические объекты

Надписи

 

Надписи представляют собой расположенные на карте текстовые объекты со следующими свойствами:

 

текст надписи - текст, отображаемый на карте

координаты надписи - широта и долгота. Все надписи привязаны к координатам карты. Точкой привязки служит верхний левый угол надписи

шрифт надписи - все установленные в операционной системе шрифты доступны для текстовых надписей.

стиль надписи - может быть обычным, «вдавленным» или «выпуклым»

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

 

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

 

Надписи, как и все элементы обстановки, имеют контекстное меню. В этом меню доступны все методы пользовательского интерфейса, применяемые для работы с надписью:

 

перемещение  - изменение координат надписи с помощью перетаскивания.

редактирование - изменение свойств надписи, в том числе задание координат вручную.

удаление - удаление надписи.

вырезание, копирование и вставка - работа с надписями через буфер обмена. Надписи копируются в буфер с сохранением всех своих свойств.

изменение порядка отображения - перемещение надписи на задний или передний план в списке перекрывающихся элементов обстановки.

 

Полигоны и линии

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

Полигоны и линии в целом характеризуются следующими свойствами:

 

имя - обязательное поле. Уникальное название полигона (линии). Может генерироваться автоматически.

тип - определяет, является ли объект замкнутым (полигон) или незамкнутым (линия).

толщина контура (линии)

цвет контура (линии) – в данный момент доступны 16 базовых цветов, будет обеспечена поддержка всего цветового набора ОС.

стиль контура (линии) – сплошной, пунктирный, штрих-пунктирный и т.д.

цвет внутренней области – в данный момент доступны 16 базовых цветов, будет обеспечена поддержка всего цветового набора ОС.

стиль заливки (штриховки) внутренней области – доступны более 20 видов стилей

прозрачность - полигон может иметь прозрачность от 0% (полностью прозрачная внутренняя область) до 100% (полностью непрозрачный полигон) с шагом в 1%.

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

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

 

Кроме того, каждая точка полигона характеризуется такими свойствами, как координаты и имя (необязательное). Эти свойства доступны для редактирования во время редактирования полигона из контекстного меню выбранной точки.

 

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

 

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

 

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

 

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

 

редактирование - изменение свойств полигона через отображение диалогового окна.

редактирование точки - изменение свойств конкретной точки полигона, в том числе задание координат вручную.

удаление - удаление полигона.

вырезание, копирование и вставка - работа с полигонами через буфер обмена. Полигоны копируются в буфер с сохранением всех своих свойств.

изменение порядка отображения - перемещение полигона на задний или передний план в списке перекрывающихся элементов обстановки.

 

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

 

В диалоговом окне редактирования полигона также доступны такие функции, как добавление точки в полигон, удаление точки из полигона и выбор (отметка) всех точек в полигоне. Отметка конкретной точки осуществляется при помощи клавиши мыши, отметка нескольких точек – щелчком мыши с нажатой клавишей <Shift>.

 

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

Картографические объекты

 

Под картографическими объектами понимаются обособленные компоненты ГИС, принадлежащие к одному из определенных классов в заданной иерархии классов ГИС и обладающие характерным для данного класса набором полей и методов.

 

Следует отметить, что конкретный вариант реализации иерархии классов и объектной модели в целом определяется предметной областью ГИС и должен быть настроен в соответствии с концептуальной моделью прикладной задачи. Пользователь может произвольно изменять описания и характеристики классов, добавлять новые производные классы и удалять существующие. Вместе с тем система обеспечивает минимальный набор базовых классов, которые не могут быть удалены или изменены:

 

«Базовый объект»  - класс-предок для всех остальных объектов ГИС. Поля, определенные в данном классе, наследуются всеми производными объектами:

 

Базовый объект

Имя поля

Тип

Назначение

X

вещественный

долгота в выбранных единицах измерения

Y

вещественный

широта в выбранных единицах измерения

Name

строка

имя объекта

Visible

логический

является ли объект видимым

 

Имя объекта должно быть уникальным.

 

«Подвижный объект» - потомок базового объекта, обладающий графическим отображением. На уровне класса определяется растровое изображение BMP (значок), которое будет использоваться для представления всех объектов этого класса. Как правило, для объектов этого уровня определяется также форма редактирования, позволяющая отображать и изменять значения полей объекта. В дополнение к унаследованным от базового объекта полям содержит новые:

 

 

Подвижный объект

Имя поля

Тип

Назначение

Speed

вещественный

скорость движения

Track

вещественный

траектория движения (имя полилинии)

Course

вещественный

направление в градусах и долях градуса

 

Все базовые поля представляют собой динамические свойства соответствующих классов объектов, то есть вызывают связанные с ними интерфейсно скрытые методы, изменяющие состояние объекта. Так, при изменении координатных полей изменяется местоположение объекта на карте; изменение поля Course влечет за собой поворот значка – изображения объекта на заданный угол и т.д. Базовые поля, как и базовые классы не могут быть модифицированы или удалены пользователем.

 

Для каждого класса объектов может быть определена отдельная форма редактирования. Она служит для просмотра и изменения полей объектов данного класса, вызова методов объектов и т.д. В системе предусмотрен визуальный конструктор таких форм, позволяющий использовать большой набор элементов пользовательского интерфейса. Формы, как и поля классов, поддерживают наследование. В случае, если для класса не определена форма редактирования, будет использоваться форма класса-предка.

 

Картографические объекты, как и все элементы обстановки, имеют контекстное меню. В этом меню доступны все методы пользовательского интерфейса, применяемые для работы с объектом:

 

перемещение - изменение координат объекта с помощью перетаскивания.

редактирование - изменение свойств объекта посредством вызова формы редактирования.

удаление - удаление объекта.

вырезание, копирование и вставка - работа с объектами через буфер обмена. Объекты копируются в буфер с сохранением всех своих свойств и методов.

создание сценария моделирования.

 

Сценарии моделирования

 

Для любого пользовательского объекта OntoGIS может быть создан сценарий на языке Pascalc (http://alexboiko.narod.ru/prod.html#pascalc). Этот сценарий будет автоматически выполняться при каждом шаге моделирования.

В качестве переменных сценария используются поля объекта.

 

Интерпретатор поддерживает следующие конструкции языка.

Операторы:

 

BEGIN ... END

IF ... THEN ... ELSE

CASE

FOR ... TO/DOWNTO ... DO

WHILE ... DO

REPEAT ... UNTIL

CONTINUE

BREAK

GOTO

EXIT

USES

INCLUDE

 

Операции:

 

арифметические: +, -, *, /, ^ (возведение в степень), SHL, SHR

 

операции с битами: BITOR, BITAND, BITXOR, BITNOT

 

логические: >, <, >=, <=, =, <>, AND, OR, NOT, константы TRUE и FALSE.

Tакже можно использовать скобки. Порядок выполнения операций стандартный.

 

Функции:

 

арифметические: ABS,INT,FRAC,ROUND,CEIL,FLOOR,TRUNC,SIN,COS,TAN,ARCSIN,ARCCOS,ARCTAN,EXP,LN,INTPOWER,SQR,SQRT,INC,DEC

 

строковые:

VAL,INTTOSTR,STRTOINT,FLOATTOSTR,STRTOFLOAT,COPY,POS,LENGTH,INSERT,DELETE,TRIM,TRIMLEFT,TRIMRIGHT,UPPERCASE,LOWERCASE,FORMAT

 

даты и времени:

NOW,DATE,TIME,DATETOSTR,STRTODATE,TIMETOSTR,STRTOTIME,FORMATDATETIME,DAYOFWEEK,INCMONTH,DECODEDATE,DECODETIME,ENCODEDATE,ENCODETIME

 

общие:

MIN,MAX,PRINT,INPUT,MESSAGE

 

топологические:

INSIDE(нахождение внутри полигона), ENTERPOLY(вход в полигон), EXITPOLY(выход из полигона)

Формы редактирования объектов

 

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

Поскольку основная разработка системы ведется с использованием средства визуальной разработки Borland Delphi, интерфейс программы OntoModeler максимально приближен к интерфейсу RAD-средств разработки Borland.

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

Программа также содержит окно Инспектора Объектов, содержащее список всех свойств выбранного визуального компонента и позволяющее оперативно изменять эти свойства.

Все формы редактирования являются модальными диалоговыми окнами, при их закрытии по кнопке «ОК» все значения свойств записываются из визуальных компонентов в соответствующие поля объекта; при закрытии по кнопке «Отмена» все внесенные изменения отменяются.

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

Полный список всех визуальных компонентов, используемых в формах редактирования объектов ГИС:

 

Метка (Label)

  Дополнительное поле Expression - скрипт, который

  вычисляется интерпретатором и записывается в свойство

  Caption  (заголовок)

 

Поле ввода (Edit)

  Дополнительное поле Field -

  поле объекта, выбирается из списка.

 

Многострочное поле ввода (Меmo)

  Дополнительное поле Field -

  поле объекта, выбирается из списка.

 

Комбинированный список выбора (ComboBox)

  Дополнительное поле Field -

  поле объекта, выбирается из списка.

 

Список выбора (ListBox)

  Дополнительное поле Field -

  поле объекта, выбирается из списка.

Радиокнопка (CheckBox)

  Дополнительное поле Field -

  поле объекта, выбирается из списка.

 

Список выбора цвета(TColorBox)

  Дополнительное поле Field -

  поле объекта, выбирается из списка.

 

Cписок выбора целых и вещественных значений(TRSpinEdit)

  Дополнительное поле Field -

  поле объекта, выбирается из списка.

 

Кнопка (Button)

  Дополнительное поле Script -

  скрипт, выполняемый при нажатии кнопки.

 

  Дополнительное поле Input -

  поле ввода (Edit или Мемо), откуда читается скрипт

  (если не задан в поле Script)

 

  Дополнительное поле Script -

  поле ввода (Edit или Мемо), куда выводятся результаты

  выполнения скрипта

 

Тип кнопки описывает дополнительные действия при нажатии на кнопку: запись значений полей из компонентов пользовательского интерфейса либо обновление компонентов пользовательского интерфейса в соответствии со значениями полей объекта

 

Группа (GroupBox)

Стандартный элемент интерфейса. Дополнительные поля отсутствуют.

 

Изображение (Image)

Стандартный элемент интерфейса. Дополнительные поля отсутствуют.

 

Форма редактирования сохраняется со всеми своими визуальными компонентами в виде ресурса для каждого конкретного класса. Как и в случае хранения карт, иерархия классов ГИС вместе с ресурсами форм хранится в единственном файле структурированного хранилища (OLE Structured Storage). В настоящее время для потока структурированного хранилища доступны три формата хранения форм редактирования:

 

- бинарный формат

- текстовый формат

- XML

 

В текущей версии системы все формы хранятся в текстовом формате, а для обмена данными между приложениями используется автоматическое преобразование в формат XML.

 

 

Разработчик: РИЛИО

2006