Краткая инструкция по работе с программой MapEdit v.1.04


Общие положения

Модель поверхности

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


при этом параллели остаются параллельными прямыми линиями:



В соответствии с этой моделью рассчитываются координаты точек на поле карты. Координатная сетка, отображаемая в окне с картой наносится в соответствии с режимом отображения сетки, а именно: для линейного режима - сетка прямоугольная и ее шаг равен 100 единиц дискретности для пунктирных линий и 1000 для сплошных; для углового режима - точки сетки высчитытываются из расчета, что в нижней или верхней (в зависимости от полушария) части окна с картой сетка проходит через 100 единиц дискретности.
При удалении от начала линейных координат к полюсам линейность всех объектов нарушается. Чтобы сохранить линейность объектов при рисовании карты определенного региона (города, области), можно сместить линейное начало координат страницы в геометрический центр создаваемой карты.

Создание новой страницы

При запуске программы автоматически создается новый документ и первая страница карты. Перед созданием страницы запрашиваются ее параметры:



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

Перемешение и масштабирование

Чтобы перемещать карту в окне нужно нажать правую кнопку мыши и удерживая ее переместить мышь в нужном направлении. Карта будет перемещаться в окне просмотра. Кнопка "Перемещение карты" на панели инструментов должна быть утоплена, в противном случае произойдет перемещение фона карты, если он загружен.
Для перемещения объекта нужно на выбранном объекте нажать левую кнопку мыши и удерживая ее перетащить объект на новое место. Кнопка "Перемещение надписи" на панели инструментов должна быть отжата, в противном случае произойдет перемещение надписи объекта, а вращение колеса мыши будет изменять наклон надписи.
Для изменеия масштаба отображения используется панель масштабирования. Можно выбрать нужный масштаб из выпадающего списка или нажатием кнопок "Увеличить масштаб", "Уменьшить масштаб" или "Масштаб 1:1" Переместиться к нужной точке карты можно задав угловые координаты этой точки в полях "X" и"Y" на панели инструментов.

Инспектор свойств

Инспектор свойств отображается/скрывается кнопкой "Редактор свойств" на панели инструментов или соответствующим пунктом в меню "Вид" или кнопкой F11.



Инспектор имеет две вкладки, на которых отображаются свойства и параметры выделенного объекта или параметры редактируемой страницы/уровня коммуникаций.
Для изменения свойства (параметра) нужно в соответствующем поле задать нужное значение и нажать Enter.

Инспектор слоев

Инспектор слоев отображается/скрывается пунктом "Слои" в меню "Вид" или кнопкой F9.



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

Использование фона при рисовании карты

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

Использование спутниковых снимков с Google в качестве фона при рисовании

В качестве фона для рисовании карты можно использовать спутниковые снимки поверхности земли с серверов Google или MS Virtual Earth. Для использования этой возможности нужно в каталог с программой MapEdit установить пакет GLink.dll. После этого при выборе пункта меню Редактирование - Загрузить фон с Google будет автоматически сформирован фон из спутниковых снимков. Полученный фон будет соответствовать установленной доскретности. При перемещении карты будут автоматически подгружаться нужные фрагменты. Загружаемые из интернета фрагменты кэшируются на жестком диске и при последующем использовании загружаются из кэша. Настройка работы с сервером Google производится через вкладку Google меню Настройки.
Редактор карт Lks Mapedit может работать как с упакованным, так и с неупакованным кэшем (подробнее о кэшах можно прочитать в инструкции на программу Lks Navigator). Для упакованного кеша нужно в настройках указать путь к файлу кэша вместе с полным именем этого файла, а для неупакованного - путь к папке с кэшем. Если в настройках указан упакованные кэш, то автоматическая загрузка недостающих блоков производиться не будет!

Палитра компонентов

Для удобства рисования большого количества однотипных объектов служит палитра компонентов. При переносе объекта с палитры на карту создается объект с типом и параметрами аналогичными образцу. Далее этот объект можно изменять, например, добавлять узлы (если это векторный объект) или менять состояние (если это сложный значок).
Палитра компонентов хранится в файле palette.lsm и является обычным файлом карты, который можно редактировать, открыв его в редакторе. При создании файла карты, используемого для палитры принимаются следующие соглашения:
- Каждая страница карты является отдельной вкладкой палитры компонент.
- Свойство PageName содержит название вкладки для картографической палитры, а свойство PageKey - для коммуникационной.
- Если страница не содержит ни одного элемента карты, то формирование картографической палитры заканчивается. Если страница не содержит ни одного элемента коммуникаций, то формирование коммуникационной палитры заканчивается.
- Каждый слой на странице является группой элементов на вкладке, а все объекты на слое добавляются в эту группу.
- Картографические слои относятся к картографической палитре, а коммуникационные к коммуникационной.
- Свойство ObjectName для объекта задает название элемента на палитре. Это свойство не копируется в создаваемый объект, а остальные свойства копируются.
В редакторе ScriptEdit есть встроенное средство по изменению файла палитры.

Карта

Добавление векторных объектов

Чтобы добавить новый векторный объект, нужно на палитре картографических компонентов на вкладке Стандартные, выбрать нужный инструмент, после чего нанести им базовые точки (вершины) объекта. Нужно учесть, что некоторые инструменты на панели рисования по смыслу не применимы для векторного объекта, поэтому они не выполняют ни каких действий. Остальные инструменты выполняют следующее:
Инструмент многоугольник - вычерчивает многоугольный объект. При каждом клике мыши добавляется новая вершина. Чтобы закрыть траекторию нужно нажать кнопку с изображением стрелки на панели рисования. После закрытия траектории из последней вершины в первую проводится линия (т.е. многоугольник замыкается) и объект закрашивается цветом, выбранным в поле "Цвет объекта". Чтобы получить объект типа линия (не замкнутый и не закрашенный) нужно свойству "Толщина линии" для объекта задать величину отличную от нуля (Как менять свойства объектов рассказано в разделе "Инспектор свойств"). Чтобы закрасить объект каким-то рисунком (например болото, кустарник и т.д.) нужно задать свойству "Заливка" соответствующее значение из имеющихся значков. (Как добавлять и редактировать значки рассказано в разделе "Редактирование комплекта значков."). При этом цвет отрисовки сомволов будет соответствовать заданному в свойстве "Цвет символов".
Внимание! В качестве заливки можно использовать только растровые значки, добавленные в коллекцию картографических значков. При выборе другого типа значка объект будет закрашен сплошным стилем.
Чтобы отображалась надпись объекта нужно в параметре "Caption" задать текст надписи. Параметры надписи задаются свойствами "Цвет подписи", "Ориентация подписи", "Размер подписи". Перемещение надписи относительно объекта описано в разделе "Перемешение и масштабирование"
Инструмент ортогональный многоугольник - вычерчивает многоугольный объект со сторонами параллельными координатной сетке. В остальном этот инструмент аналогичен предыдущему.
Инструмент параллелограмм - вычерчивает объект в виде параллелограмма по трем заданным вершинам. Четвертая вершина вычисляется автоматически, после чего траектория закрывается. В остальном этот инструмент аналогичен предыдущим.
Инструмент повернутый прямоугольник - вычерчивает объект в виде прямоугольника, стороны которого не параллельны координатной сетке. Строится аналогично параллелограмму: первые две точки определяют одну сторону прямоугольника, а третья лежит на противоположной его стороне. В остальном этот инструмент аналогичен предыдущим.
Инструмент прямоугольник - вычерчивает объект в виде прямоугольника, стороны которого параллельны координатной сетке. Строится по двум точкам, определяющим вершины на диагонали. В остальном этот инструмент аналогичен предыдущим.

При выделении векторного объекта у него подсвечиваются все узлы, а также стрелками показывается направление линии.
Узлы векторных объектов можно произвольно перемещать мышью.
Если положение перемещаемого узла совпадет с одним из соседних узлов, то узел автоматически удаляется. Для быстрого удаления узла можно два раза кликнуть по нему мышью.
Для добавления узла к существующему векторному объекту нужно выделить его, затем удерживая клавишу Shift переместить узел мышью. При этом, если удерживается левая кнопка Shift, то узел добавляется против направления линии, а если нажата правая кнопка Shift или нажаты Shift+Alt, то узел добавляется по направлению линии.

Добавление растровых объектов

Растровый объект представляет собой произвольное монохромное растровое изображение. Оно состоит из прозрачных пикселов и пикселов заданного цвета. Чтобы добавить растровый объект нужно на палитре картографических компонентов на вкладке Стандартные, выбрать кнопку "Растровый объект" и щелкнуть мышью в нужном месте карты. Появится новый растровый объект, выделенный синей рамкой (это его границы). Для изменения размеров растрового объекта нужно перетащить правую или нижнюю границу в нужном направлении.
При помощи растрового карандаша можно изменять рисунок объекта. При этом если нажата кнопка "Установить/сбросить пиксел в растровом объекте", то карандаш добавляет непрозрачные пиксели, иначе добавляются прозрачные пиксели. Цвет всего объекта задается полем "Цвет объекта".

Добавление сложного значка

Сложный значок - это объект, состоящий из набора пиктограмм, состоящих из графических примитивов. В каждый момент этот объект может отрисовываться одной из этих пиктограмм. Со сложным значком можно связать узел коммуникационной модели, в этом случае он будет отражать текущее состояние узла коммуникационной линии. (Подробнее об этом рассказано в разделе, посвященном коммуникационной модели).
Для добавления объекта Сложный значок нужно на палитре картографических компонентов на вкладке Стандартные, выбрать кнопку "Сложный значок" и кликнуть в месте его установки на карте. После этого откроется окно редактирования комплекта пиктограмм объекта (это окно можно также вызвать, щелкнув правой кнопкой мыши по объекту). Через контекстное меню этого окна можно добавить новую пиктограмму, после чего откроется редактор пиктограммы. Этот редактор можно вызвать по двойному щелчку мыши по нужной пиктограмме.
При работе с редактором пиктограмм нужно учитывать следующее:
- для выбора площадной фигуры нужно кликнуть по ней мышью;
- для выбора линии нужно кликнуть мышью по вершине линии;
- у выбранной фигуры базовые точки подсвечиваются красной рамкой;
- после выбора фигуры можно перемещать целиком или ее базовые точки, изменять цвет контура и заливки (чисто белый цвет (0xFFFFFF) является прозрачным), изменять толщину контурной линии;
- выбранную фигуру можно переместить на передний или на задний план.

Добавление объектов из комплекта значков

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

Редактирование комплекта значков

Чтобы добавить новый значок нужно с карты скопировать в буфер объект, который нужно сделать значком. Затем открыть окно выбора значка (как описано в разделе Добавление объектов из комплекта значков).



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

Линия с произвольным стилем отрисовки

Для создания линии с произвольным стилем отрисовки нужно: для векторного объекта через инспектор свойств задать толщину линии больше 0, а в свойстве Заливка задать значок из комплекта значков, являющийся повторяющимся рисунком линии.
Внимание! В качестве заливки можно использовать только значки типа "Сложный значок", добавленные в коллекцию картографических значков. При выборе другого типа значка линия будет отрисовываться сплошным стилем.

Коммуникационная модель

Построение топологии

Коммуникационные слои могут содержать коммуникационные линии (далее линии) и коммуникационные объекты с набором состояний.
Линия - состоит из узлов и соединяющих их отрезков. Узел может быть источником, потребителем или нейтральным. Узел-источник, является источником передаваемой по линии среды (электроэнергия, вода, газ и т.д.), а узел-приемник потребителем этой среды. Узел может находиться в открытом и закрытом состоянии. В открытом состоянии передаваемая среда переходит как из линии к узлу, так и от узла в линию. В закрытом состоянии среда "останавливается" на узле.
Узлами, линии могут стыковаться друг с другом. При стыковке узлов на одном слое, передаваемая среда переходит через узлы с одной линии на другую с учетом состояния узлов. При стыковке узлов с разных слоев среда передается только с нижнего слоя на верхний с учетом типа стыковки:
- при типе стыковки NOP, среда между узлами с разных слоев не передается;
- при типе стыковки AND, среда с нижележащего слоя объединяется со средой, генерируемой источником текущего узла по принцыпу "И" (применимо для связей с нижележащим слоем);
- при типе стыковки OR, среда с текущего узла объединяется со средой узла на вышележащем слое по принцыпу "ИЛИ" (применимо для связей с вышележащими уровнями).
Связи между узлами создаются автоматически при совпадении координат узлов. Тип стыкокки, тип узла и его состояние нужно задавать вручную через редактор узла.

Добавление коммуникационной линии

Для добавления коммуникационной линии нужно на палитре коммуникационных компонентов на вкладке Стандартные, нажать кнопку "Добавить коммуникационную линию". Затем нанести узлы линии на карту, после чего нажать на панели инструментов рисования кнопку со стрелкой (слева вверху). Для линии можно задать параметры, так же как и для объектов карты. Различия касаются расположения надписи: надпись всегда ориентируется вдоль участка линии, при этом можно задать номер начального узла участка, вдоль которого будет ориентирована надпись, а также ее выравнивание относительно этого участка.
Для создания линии с произвольным стилем отрисовки нужно через инспектор свойств задать в свойстве Заливка значок из комплекта коммуникационных значков, являющийся повторяющимся рисунком линии. Для редактирования коллекции коммуникационных значков нужно выбрать пункт меню Редактирование - Коммуникационные значки и изменить коллекцию как описано в разделе "Создание коммуникационного объекта".

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

Редактор узла

Редактор узла вызывается щелчком правой кнопки мыши по нужному узлу выделенной линии.



Чтобы изменить тип узла нужно щелкнуть левой кнопкой мыши по стрелке (или крестику) в нижней части условно отображенного узла. Состояние меняется циклически Нейтральный - Источник - Потребитель.
Чтобы изменить состояние узла (Закрыт/Открыт) нужно щелкнуть мышью по большому кругу условно отображенного узла.
Если узел связан с другими узлами, то в правой части окна отражаются все линии, связанные с данным узлом. Щелчком мыши по каждой из этих линий вызывается контекстное меню изменения типа стыковки.
Если задан тип узла "источник", то ниже условно отображенного узла появляются два блока переключателей и две кнопки выбора цвета, для выбора номера пиктограммы (цвета) объектов карты, связанных с этим узлом (см. связь коммуникационной модели с картой).
Если задан тип узла "потребитель", то ниже условно отображенного узла появляется окно с показанным связанным объектом карты.
Чтобы закрыть редактор свойств узла, нужно щелкнуть мышью за пределами окна редактора свойств.

Создание коммуникационного объекта

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



Для добавления узлов объекта нужно нажать кнопку "Добавить узел" и разместить узлы объекта в нужных местах, после чего нажать кнопку со стрелкой. Далее нужно задать состояние и тип всех узлов для первого состояния объекта и в контекстном мени списка состояний (справа от окна редактирования) выбрать пункт "Новое состояние". Откроется окно выбора пиктограммы для текущего состояния:



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

Связь коммуникационной модели с картой

Коммуникационную модель можно связать с объектами карты, в этом случае объект карты будет менять свою отрисовку в зависимости от того, доходит передаваемая по линии среда до узла-потребителя, с которым связан объект или нет.
Чтобы связать узел с объектом карты, нужно в редакторе узла выбрать тип узла "потребитель" и щелкнуть мышью по появившемуся внизу окошку. В окошке появится объект карты, с которым связался узел. Повторный щелчок мыши отвязывает объект карты от узла.
Чтобы объекты карты по разному отрисовывались в зависимости от состояния узла нужно задать параметры (цвет и номер пиктограммы), которые будут передаваться объекту карты при построении модели. Эти параметры задаются для узлов-источников. Принцып передачи параметров следующий:
- для растровых и векторных объектов устанавливается цвет, заданный для узла-источника (в зависимости от наличия среды в узле).
- для сложного значка номер текущей пиктограммы объединяется с заданным в узле-источнике при помощи операции "ИЛИ" (если среда доходит до узла) или при помощи операции "И" (если среда не доходит до узла).
Это дает возможность одним объектом карты типа сложный значок отражать состояние узлов нескольких разнородных линий (передающих разные среды).

Использование карты на мобильных устройствах

Экспорт в мобильный формат

Созданные карты (включая коммуникации) можно просматривать на мобильном телефоне при помощи мидлета LksMobileMap. Для этого карту нужно экспортировать в мобильный формат и разместить на HTTP сервере в интернете. Далее настроить мидлет на этот сервер и загрузить карту через интернет соединение установленное с мобильного телефона. Мобильный формат - это упрощенный формат, благодаря чему объем передаваемых данных сводится к минимуму. Карта передается в телефон не целиком, а только нужный квадрат (1000х1000).
Для экспорта карты в мобильный формат нужно выбрать пункт в главном меню Сервис - Мобильный формат - Экспорт в мобильный формат. Откроется окно параметров экспорта:



Слой поиска - это слой, по которому можно производить поиск объектов на мобильном телефоне.
Экспортируемый блок по умолчанию задается равным всей карте.
Цвет фона нужно задать в соответствии с расцветкой рисунка карты, так как на мобильном телефоне площадные элементы отрисовываются без закраски (только контур).
Файл списка карт должен лежать на сервере рядом с папкой карты. Его можно создать один раз.
Экспортируются только видимые слои карты, поэтому не нужные слои следует погасить перед началом экспорта.
Созданную в результате экспорта папку с ее содержимым и файл списка карт (index.maps) нужно поместить на HTTP сервер, доступный через интернет. В мидлете LksMobileMap в настройках нужно указать путь к файлу index.maps (без имени файла, но оканчивающийся на "/").


lkssupport@bk.ru