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

Александр Кружков (Все сообщения пользователя)

Поиск  Пользователи  Правила  Войти
Форум » Пользователи » Александр Кружков
Выбрать дату в календареВыбрать дату в календаре

Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 ... 148 След.
Печать Полигона заполненного знаками
 
Данный объект имеет неудачный вид 50-процентного расслабления цвета: "Полигон, заполненный знаками" (заливка точечным знаком типа "шахматная доска"). При формировании изображения для издания разрешение многократно увеличивается. При этом точечное (растровое) изображение векторизуется: "шахматная доска" преобразуется в узор (линии проходят через все точки растра) - происходит искажение исходной геометрии рисунка. Данный способ позволяет увеличивать изображения устаревших растровых знаков. В настоящее время для заполнения площадных объектов рекомендуется использовать сплошную заливку,  либо векторное знаки (кружки, точки и др.), которые масштабируются с сохранением геометрии рисунка.

В данном случае рекомендуется выполнять заливку сплошным 50-процентным расслабленным цветом.
Если 100-процентная заливка выполняется зеленым цветом (красный = 96, зеленый = 174, синий = 63), то можно вычислить 50-процентный цвет изменением яркости по формуле (x+255) / 2, где x - яркость, 255 - максимальная яркость (белый цвет): (112 + 255) / 2 = 184.
При установке яркости (184) 50-процентный зеленый цвет будет иметь значения: красный = 185, зеленый = 223, синий = 168 (см. второй рисунок).
Данный цвет необходимо добавить в палитру классификатора и заменить вид объекта "Полигон, заполненный знаками" на "Полигон".
Редактор отчета, Редактор отчета (геопорталы)
 
1. Если масштаб основной карты 1:100 000 и она отображается в своем масштабе, то размеры должны соответствовать реальным (на бумаге) при условии правильных параметров экрана (см. главное меню - Параметры - Параметры экрана: Размер экрана = 24 дюйма, Коэффициент увеличения = 100%). Врезка содержит увеличенное изображение (1:50 000) - при этом знаки увеличиваются пропорционально (в 2 раза), либо с запаздыванием. Режим масштабирования устанавливается в главном меню - Параметры - Масштабирование объектов (Картографическое - с запаздыванием, Чертежное - пропорциональное).

2. Для запрета увеличения размера объектов относительно базового масштаба карты в редакторе классификатора необходимо установить коэффициент увеличения размеров знака: Редактор классификатора - закладка Объекты - выбрать объект - закладка Разное (справа снизу) - Увеличивать в = 1.0 (по умолчанию - "Нет ограничения").
Задача "Конструктор отчетов"
 
Редактор отчета и Конструктор отчетов используются для подготовки карты к печати. Сама печать карты обычно выполняется в диалоге "Печать карты". Диалог позволяет выбрать устройство печати и настроить параметры печати (размеры страницы выполняются индивидуально для каждого принтера, с учетом его физических свойств - в том числе и произвольные), масштаб печати и масштаб просмотра. В диалоге может быть выбран схематичный (Схема) или нормальный вид (Карта), который позволяет оценить общую компоновку.
Изменено: Александр Кружков - 12.07.2021 09:23:31
Программное создание объекта из растра или вектора
 
Картинка не поможет. Файл map можно сохранить в формате SXF (при сохранении установить номер сохраняемого объекта в фильтре).
Еще лучше (и проще !!!) пользоваться знаками, описанными в классификаторе карты (RSC). При необходимости знак можно добавить в классификатор в ГИС Панорама и затем создавать нужные знаки, регистрируя объекты с помощью функций:

// Сформировать описание нового объекта по внешнему коду и локализации
// или изменить код существующего объекта на карте
// info - идентификатор объекта карты в памяти
// excode - внешний код объекта (числовой),
// local  - локализация (LOCAL_LINE, LOCAL_POINT...)
// Обычно вызывается после mapCreateObject(...) и добавления семантики
// (если она есть)
// При ошибке возвращает ноль

_MAPIMP long int _MAPAPI mapRegisterObject(HOBJ info, long int excode,
                                          long int local);

// Сформировать описание нового объекта по короткому имени объекта
// (ключу) или изменить код существующего объекта на карте
// info - идентификатор объекта карты в памяти
// name - символьный код объекта в классификаторе (до 31 символа)
// Обычно вызывается после mapCreateObject(...)
// При ошибке возвращает ноль

_MAPIMP long int _MAPAPI mapRegisterObjectByKey(HOBJ info, const char *name);

Пример знака типа "Графический знак" см. в примерах, которые поставляются в составе ГИС Панорама (объект 530, точечный, код 85, ключ в классификаторе P0000000085):
c:\Users\Public\Documents\Panorama\Panorama13\data\shape\shape­.sitx

Для регистрации такого объекта вместо mapRegisterDrawObject необходимо вызвать:
mapRegisterObject(info, 85, LOCAL_POINT);
или
mapRegisterObjectByKey(info, "P0000000085");

При необходимости отображения разных знаков в диалоге редактирования вида знака можно выбрать семантику, из которой будет выбираться имя файла с картинкой (png, jpg).
Изменено: Александр Кружков - 29.06.2021 16:19:22
Программное создание объекта из растра или вектора
 
Добрый день!
1. Если Вы отображаете объект в ГИС Панорама, то в главном меню включите режим "Параметры-Масштабирование объектов-Картографическое", если в своем приложении - установите картографический способ масштабирования для карты (0):

 // Установить способ масштабирования объектов карты при отображении
 // method - способ масштабирования
 // (0 - картографический "с запаздыванием увеличения",
 //  1 - чертежный)
 // Возвращает ранее установленное значение

mapSetScaleMethod(method);

2. Для объекта отключить масштабирование (scale = 0):
mapSetObjectScale(info, scale);

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

3. Если масштаб отображения мельче базового масштаба карты, то на объект может уменьшаться (по умолчанию press = 0, рекомендуется) или не уменьшаться (press = 1):
mapSetObjectPress(info, press);

P.S. Если указанные способы не помогут - прошу прислать карту (в формате SITX или SXF) с одним графическим знаком (для проверки отображения знака).
Изменено: Александр Кружков - 29.06.2021 09:39:10
Привязка "К" при создании текстового объекта
 
В настоящее время привязка создаваемой подписи выполняется в режиме "T" (с выбором объекта и точки привязки, см. режимы контекстного меню - открывается нажатии ПКМ). Планируется добавить и режим "К", чтобы выбирать объект не требовалось.
Программное создание объекта из растра или вектора
 
[QUOTE]Глеб Недосекин написал:
Так же очень интересует как к такому объекту добавить подпись на карте и управлять масштабированием (размер объекта должен уменьшаться при приближении карты).[/QUOTE]
1. Создание подписи аналогично созданию знака типа IMGGRAPHICMARKEX:

mapRegisterDrawObject(hObj, 1, LOCAL_TITLE);
IMGTRUETEXT imgtext;
memset(&imgtext, 0, sizeof(imgtext));
imgtext.Height = 2000;  // 2 мм
...
// Установить новое содержание текстовой строки
mapPutTextUnicode(hObj, text, 0);
mapCommitObject(hObj);

2.
// Установить/Запросить масштабируемость объекта
// Применяется ТОЛЬКО для графических объектов, имеющих внутренний код равный нулю
// Для объектов из классификатора значение игнорируется
// scale = 1 для установки масштабируемости при увеличении карты
//         0 для сброса признака масштабируемости
// При ошибке возвращает ноль

_MAPIMP long int _MAPAPI mapSetObjectScale(HOBJ info, long int scale);
_MAPIMP long int _MAPAPI mapGetObjectScale(HOBJ info);
Изменено: Александр Кружков - 24.06.2021 12:45:28
Ошибки и пожелания
 
[QUOTE]Андрей Ильин написал:
надо придумать более простой способ переноса объектов с одной карты на другую,например:1) после выделения нужных объектов перенести их мышкой на название нужной карты в окне легенды2) или добавить кнопку на панели легенд "Перенести сюда"p.s.: сейчас клик ЛКМ и средней КМ выполняет одну и туже команду по захвату окна карты для перемещения.[/QUOTE]
Простые способы переноса объектов:

[URL=https://help13.gisserver.ru/russian/panorama/index.html?rabclav.html]https://help13.gisserver.ru/russian/panorama/index.html?rabclav.html[/URL]

Ctrl + С

[URL=https://help13.gisserver.ru/russian/panorama/clips.html]Копировать выделенные объекты[/URL] в буфер

Ctrl + V

[URL=https://help13.gisserver.ru/russian/panorama/clips.html]Вставить объекты[/URL] карты из буфера

Ctrl + X

Вырезать выделенные объекты в буфер

Ctrl + Delete

Удалить выделенные объекты

Ошибки и пожелания
 
[QUOTE]Андрей Ильин написал:
для команды "выделить произвольно указанные" нужна горячая клавиша, например "+"

[/QUOTE]
1. Кнопка "+"("=") сейчас устанавливает базовый масштаб отображения карты.
2. Не понял предлагаемый алгоритм использования. Сейчас алгоритм такой:
- выбрали режим "Выделить произвольно указанные";
- нажали ЛКМ на объекте - объект мигает;
- если нужно выбрать объект, расположенный ниже, то повторили нажатие ЛКМ (пока не замигает нужный);
- двойным нажатием ЛКМ подтвердили выделение объекта.
Ошибки и пожелания
 
[QUOTE]Андрей Ильин написал:
В программе есть возможность установить пользовательские масштабы отображения.Однако при прокрутке скролла мыши они игнорируются (!) и не устанавливаются. (Можно их выбрать только из соответствующего диалогового окна.)Во время работы с картой скроллом мыши выбираются только стандартные масштабы.[/QUOTE]
Обычно карта отображается в стандартных масштабах. Если к карте добавить изображение геопортала, то устанавливаются масштабы, соответствующие масштабному ряду геопорталов (8625, 17251, 34502). При иных масштабах изображение геопортала станет полуразмытым.
В идеале, пользователь и не должен вводить масштабы. Прошу подсказать: каких масштабов не хватает?
Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 ... 148 След.



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

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