На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты

Добавление на карту собственных изображений

Поиск  Пользователи  Правила  Войти
Форум » Linux » Средства разработки ГИС-приложений для Linux
Страницы: 1 2 След.
RSS
Добавление на карту собственных изображений, Добавление на карту собственных изображений
 
Добрый день!
Подскажите пожалуйста есть ли возможность добавить на карту собственные изображения, например в формате png? Или есть возможность только простенькие векторные изображения наносить на карту?

Работаю с Qt Designer. ОС Astra.
 
Здравствуйте!
Я имею ввиду создание собственного знака, чтобы  в последствии можно было добавлять его на карту, вместо уже имеющегося набора классификаторов.

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

Также имеется возможность создания собственного графического объекта с функцией визуализации IMG_GRAPHICMARK (mapgdi.h):
Код
#define IMG_GRAPHICMARK       165  // Знак из файла (ВМР, Metafile )

Более подробно о создании графических объектов можно посмотреть в разделе "4.2.18 Создание графических объектов на карте" документа "ГИС Панорама. Руководство программиста":
http://gistoolkit.ru/download/doc/mapapi.pdf
 
Если бы Вы могли мне показать пример кода добавления собственного изображения на карту, то я была бы крайне признательна)

Как использовать
#define IMG_GRAPHICMARK       165  // Знак из файла (ВМР, Metafile )?
Изменено: Анастаия - 05.07.2017 16:06:32
 
Есть 2 способа нанесения любых знаков на цифровую карту.
Первый - через описание знака в классификаторе и присвоение создаваемому объекту заданного кода и набора характеристик (например, ссылки на графический файл).
Второй - создание графического объекта с присвоением графических параметров программно каждому экземпляру объекта.

Оба примера можно посмотреть на карте \Shape\shape.sitx, которая входит в инсталляцию ГИС Карта 2011, ГИС Панорама 12 (обе программы для Windows) и ГИС Оператор для Linux.
Там есть графические объекты типа PNG с присвоением в семантике объекта имени файла PNG, и есть знак PNG, который запоминается в классификаторе RSC и отображается
у всех экземпляров объектов с заданным кодом.

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

Единственное, что я пока не нахожу, где в редакторе классификаторов при создании нового классификатора задать в качестве характеристик путь к месту где лежит мой png файл. Можете мне пожалуйста пояснить или лучше сказать, где можно об этом прочесть.

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

Можете привести пример, как программно можно задать свой классификатор с определенным изображением. Чтобы потом далее в программе я могла зная его уникальный идентификатор нанести его на карту.
Изменено: Анастаия - 07.07.2017 13:19:19
 
Добрый день! из примера в \Shape\shape.sitx меня интересует как были созданы стелочки (Вектор направления и силы) под ними подпись - Векторный знак с длиной и углом, заданными в семантике. Есть пример как создавать эти стрелочки?
Я пробовал сделать это через IMGVECTOREX, но увы у меня не вышло
 
Чтобы узнать как рисуется любой знак можно выбрать мышкой на карте соответствуюший объект (знак) и в диалоге Выбор объекта перейти в закладку Вид.
В данном случае Вы увидите: Программируемый вид, библиотека - shape.iml, функция - Знак с длиной и поворотом по семантике.
Если войдете в Параметры, то увидите 3 позиции: сам знак - стрелочка, семантика - угол поворота - 6666, длина в мм - 7788.
При изменении значений этих семантик будут меняться угол поворота и длина знака.
Если в параметрах установить другие номера семантик, то вид будет зависеть от них.
Если вместо стрелочки задать другое изображение (например, самолет), то будет другой знак.
Будут влиять и другие служебные семантики - ЦВЕТ ЗНАКА, МАСШТАБ ЗНАКА (SEMIMAGESCALE 31001, SEMIMAGECOLOR 31002) и т.д.

Программно - это тип IMG_LIBRARY. Тексты всех программируемых знаков на IMLAPI в SDK -
https://gisinfo.ru/download/?id=310

Там же и номер функции можно увидеть и параметры.
Код
#define IMG_MARKALONGLINE        1  // ЗНАК ВДОЛЬ ЛИНИИ
#define IMG_HORIZONTALSHADE      2  // ГОРИЗОНТАЛЬНАЯ ШТРИХОВКА
#define IMG_MIRRORMARKALONGLINE  3  // ЗЕРКАЛЬНЫЙ ЗНАК ВДОЛЬ ЛИНИИ
#define IMG_MARKINTOLINE         4  // ЗНАК ВНУТРИ ЗЕРКАЛЬНОЙ ЛИНИИ
#define IMG_TURNMARK             5  // ЗНАК, С ПОВОРОТОМ - УГОЛ В СЕМАНТИКЕ
#define IMG_UNIVERSALTEXT        6  // ТЕКСТ С ПАРАМЕТРАМИ ИЗ СЕМАНТИКИ
#define IMG_SCALEVECTOR          7  // МАСШТАБИРУЕМЫЙ ВЕКТОРНЫЙ
#define IMG_THICKENLINEEX        8  // УТОЛЩЕННЫЙ ЛИНЕЙНЫЙ
#define IMG_MIDDLETHICKENLINEEX  9  // УТОЛЩЕННЫЙ ЛИНЕЙНЫЙ В СЕРЕДИНЕ
#define IMG_MARKANDNOTE         10  // Знак с выноской
#define IMG_SHADOWOBJECT        11  // Объект с тенью
#define IMG_COLORSHADOWOBJECT   12  // Объект с цветной тенью
#define IMG_DOUBLETHICKENLINE   14  // УТОЛЩЕННЫЙ ЛИНЕЙНЫЙ ПО ВСЕЙ ЛИНИИ
#define IMG_POLYARC             15  // ДУГА ПО ЛОМАННОЙ
#define IMG_THICKENDOTLINE      16  // УТОЛЩЕННЫЙ ПУНКТИР
#define IMG_TURNANDLENGTHMARK   17  // ЗНАК С ПОВОРОТОМ И ДЛИНОЙ ПО СЕМАНТИКЕ
#define IMG_LENGTHANDANGLELINE  18  // ЛИНИЯ С ПОДПИСЬЮ ДЛИНЫ
#define IMG_GRADIENTCIRCLE      19  // ОКРУЖНОСТЬ ПО ДВУМ ТОЧКАМ С ГРАДИЕНТНОЙ ЗАЛИВКОЙ 
#define IMG_SCALELIMITEDIMAGE   20  // ЗНАК, РИСУЕМЫЙ ПРИ ЗАДАННЫХ МАСШТАБАХ 
#define IMG_QUARTER             21  // ПРИПОДНЯТЫЙ МНОГОУГОЛЬНИК 
#define IMG_IMAGEVIEW           22  // ОТОБРАЖЕНИЕ ГРАФИЧЕСКИХ ФАЙЛОВ

У всех функций параметры в IMGDRAW. В данном случае - IMGVECTOREX и два IMGLONG.Но проще и технологичнее применять знаки через классификатор RSC.
 
а можно тут привети пример кода? которым были созданы эти стрелки
хотелось бы не использовать ваши библиотеки Sdk, а  именно код которым я смогу создать объекты IMGVECTOREX (потому что IMGVECTOR в mapgdi.h нет) и нанести их на карту.
Изменено: НИЛ-624 Вектор - 30.01.2024 10:31:14
 
Эти стрелочки были созданы в Редакторе классификатора.
Базовый способ работы с картой - применение классификатора объектов и их атрибутов и управление их видом через изменение атрибутов.
Программист не должен задумываться над управлением цветом, размером и т.п. Это задача проектировщика цифрового классификатора.
Возможность интерактивно ввести сложный знак мы предоставили. Исходные тексты в SDK.
Страницы: 1 2 След.
Читают тему (гостей: 1)



© КБ Панорама, 1991-2024

Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности