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

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

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

Страницы: Пред. 1 ... 3 4 5 6 7 8 9 10 11 12 13 ... 148 След.
Полигон с подписью
 
Такого знака пока нет. Делать будем. Пока нет единого решения по способу создания такого знака.

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

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

P.S. Любая задача решается множеством способов, выбор которого ограничен лишь Вашей фантазией.
Очень долгий mapSelectSeekArea
 
Добрый день!

При поиске пересечения зоны с векторным объектом (мостом) проверяется всего 1 отрезок.
При поиске пересечения зоны с незамкнутой горизонталью проверяется N-1 отрезок, где N - число точек горизонтали. В среднем случае пересечение с объектом может быть обнаружено при проходе (по отрезкам) до середины горизонтали. Вероятно средняя скорость обработки будет ниже в N/2 раз (по сравнению с векторным объектом).

P.S. Не для Вашей функции, но вдруг поможет: в случае многократного прохода по отобранным объектам может помочь последний параметр функции (action = 1):  mapSelectSeekArea(HS, ZoneObj, 0, 1, 1, 0, 1);
см. описание функции:

 // action   - порядок поиска объектов :
 //            0 - последовательный поиск по мере запроса объектов,
 //            1 - предварительный отбор всех объектов,
 //            ускоряет многократный запрос отобранных объектов;
Подготовка к Печати - Формирование зарамочного оформления, Предложения и вопросы
 
Спасибо за предложение! Постараемся сделать в ближайшее время. Текущие элементы RSCTEXT, RSCBOX и др. поправить нельзя (для обеспечения обратной совместимости со старыми файлами). Планируем добавить дополнительные примитивы: RSCTEXT2, RSCBOX2, ...
LoadMapToBMP
 
// Запросить размеры общего изображения карты в пикселах
// для текущего масштаба
// hmap - идентификатор открытых данных
// В переменную width заносится ширина изображения (dx),
// в переменную height - высота (dy)

_MAPIMP void _MAPAPI mapGetPictureSize(HMAP hmap, long int *width,
                                      long int *height);
_MAPIMP void _MAPAPI mapGetPictureSizePro(HMAP hmap, double * width,
                                         double * height);
LoadMapToBMP
 
mapPaint95ToFile выполняет рисование с текущим разрешением (условной точностью экрана (точек/метр) = mapGetScreenPrecision()).
LoadMapToBMP выполняет рисование с указанным Вами разрешением (resolution). Более высокое разрешение увеличивает толщину линий и размер шрифта.
Создание фреймов, Управление фреймами при подготовке к печати
 
Правильное расположение точек рамки:
2           3


1(5)       4

Прошу проверить метрику объекта-рамки. Выбрать объект, в закладке "Метрика" проверить порядок точек на схеме (в правой части окна).
[IMG WIDTH=1042 HEIGHT=677]http://public.gisinfo.ru/Forum/object_frame.png[/IMG]
Проблема с отрисовкой векторного объекта на HDC
 
Приведу описание структуры:
[CODE]typedef struct IMGVECTPOINT // Для (149) описание точки объекта
{                                //      ( size = 8 )
 int Hor;                       // Координаты от точки привязки
 int Ver;                       // вправо и вниз в соответствии
                                // с типом цепочки:
                                //                Центр  Радиусы  Точки начала и окончания
                                // Circle, Round  (h,v)  (dh,dh)
                                // Ellipse, Oval  (h,v)  (dh,dv)
                                // Arc,      Pie  (h,v)  (dh,dv)        (h1,v1)  (h2,v2)
}
 IMGVECTPOINT;
[/CODE]Примерный текст для получения параметров окружности, эллипса, дуги (продолжение текста от 20.12.2017 11:51:32):
[CODE]...

// Пропустить поле desc->Count
point = (IMGVECTPOINT*)(pointCount+1);

// Центр окружности (эллипса, дуги)
centerX = point->Hor;
centerY = point->Ver;
point++;

// Радиусы окружности (эллипса, дуги)
radiusH = point->Hor;
radiusV = point->Ver;
point++;

// Точка начала дуги (сектора)
arcX1 = point->Hor;
arcY1 = point->Ver;
point++;

// Точка конца дуги (сектора)
arcX2 = point->Hor;
arcY2 = point->Ver;[/CODE]
Функции создания зарамочного оформления, функции из frmapi.dll
 
Я привел текст программы, которая реализована в ГИС Панорама. Прошу проанализировать текст самостоятельно. В этом тексте используются функции, которые Вас интересуют.
Печать отчета в формате А3, нет возможности выбора свойств принтера
 
Добавим.
Страницы: Пред. 1 ... 3 4 5 6 7 8 9 10 11 12 13 ... 148 След.



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

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