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

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

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

Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 ... 148 След.
Горячие клавиши с "Человеческим лицом"
 
[QUOTE]Андрей Ильин написал:
2.1) Запомнить положение карты2.2) Восстановить положение картычтобы были рядом и  желательно поближе к клавише ентер,например на цифровой панели "/" и "*"[/QUOTE]
Не у всех ноутбуков есть блок цифровых клавиш. Поэтому предлагаю клавиши "Ctrl+F11" (запомнить положение) и "Ctrl+F12" (восстановить положение) - достаточно близко к клавише "Enter".
Горячие клавиши с "Человеческим лицом"
 
[QUOTE]Андрей Ильин написал:
1) В Легенде карты не хватает F2 - для переименований:1.1) названий группы и1.2) названий карты (без входа по F8 в паспорт карты)[/QUOTE]
Добавить переименование названия карты, если она доступна для редактирования, возможно.
Чтобы переименовать название группы, сначала необходимо встать на название группы. Сейчас это делается с помощью мыши. Второе нажатие мыши активирует режим редактирования названия. Без нажатия мыши интуитивно не понятно: какой элемент является активным (название карты,  слоя или объекта в нижнем окне). Поэтому добавление горячей клавиши считаю сомнительным решением.
Изменено: Александр Кружков - 27.01.2021 09:41:44
Горячие клавиши с "Человеческим лицом"
 
Версия программы с обновленными горячими клавишами доступна для скачивания:
[URL=https://gisinfo.ru/download/?id=252]https://gisinfo.ru/download/?id=252[/URL]
Страница помощи обновлена:
[URL=https://help13.gisserver.ru/ru/panorama/index.html?rabclav.html]https://help13.gisserver.ru/ru/panorama/index.html?rabclav.html[/URL]
Изменено: Александр Кружков - 26.01.2021 09:32:50
Горячие клавиши с "Человеческим лицом"
 
Не нашли в списке горячих клавиш указанной Вами программы комбинации Ctrl+Q, но добавили специально для Вас (в MS Windows все программы обычно закрываются по Alt-F4).

Режим "Сохранить (F5)" переименован в "Обновить (F5)". Данный режим предназначен для синхронизации данных (обеспечения соответствия изображения и данных карты) - карта может редактироваться в многопользовательском режиме. Обычно при изменении карты изображение карты обновляется каждые 30 секунд (см. Параметры - Период обновления). Режим "Обновить (F5)" выполняет немедленное обновление изображения (в web-браузерах данный режим называется "Обновить окно").

Дополнительно планируется поправить горячие клавиши и других режимов.

Информация по запуску страниц помощи (F1):

В настоящее время в ГИС "Панорама" используется два механизма вызова помощи: с сервера или с компьютера пользователя (см. Помощь - Локальная справка). Если опция "Локальная справка" отключена, то вызов справки выполняется с сервера, адрес имеет вид:
[URL=http://help13.gisserver.ru/ru/panorama/index.html]http://help13.gisserver.ru/ru/panorama/index.html[/URL]

На моем компьютере помощь открывается в течение 4 секунд (загрузка браузера + загрузка страницы помощи с web-сервера), последующие вызовы - 1 секунда.

В случае отсутствия доступа к web-серверу рекомендуется включить опцию "Локальная справка". При первом вызове помощи после установки ГИС "Панорама" выполняется распаковка архива, содержащего более 15 тыс. файлов помощи (340 Мбайт) в каталог:
c:\Users\Public\Documents\Panorama\Help\russian\

При распаковке архива появляется окно “Идет подготовка файлов справки“. На моем компьютере данная операция занимает 1.5 минуты (MS Windows установлен на твердотельный жесткий диск), последующие вызовы - менее 1 секунды. Если MS Windows установлен на обычный жесткий диск, то распаковка архива может занимать 5-10 минут (зависит от скорости жесткого диска).
Изменено: Александр Кружков - 21.01.2021 11:57:57
Значение параметров градиента
 
Данный примитив используется в структуре GRADIENTPARM, которая находится в библиотеке программируемых знаков (rscarmy.iml, rscarmy.iml64):
[CODE]typedef struct GRADIENTPARM // Градиентный векторный
{
 IMGVECTOREX *     Vector;    // Описание векторного (полигона)
 IMGVECTORGRADIENT Gradient;  // Параметры градиентной заливки
 int               Size;      // sizeof(GRADIENTPARM);
 int               Zero;
}
 GRADIENTPARM;[/CODE]Градиентная заливка используется для заполнения векторных знаков типа "Флаг", которые содержатся классификаторах семейства operator.rsc (входит в состав ГИС "Оператор").
Обычно основной фон полотна флага рисуется белым цветом. Цвет Color определяет цвет вертикальной штриховки полигона (полотна флага) линиями (слева направо).
Поле Left определяет степень влияния цвета Color самой левой линии (габаритов заполняемого полигона), Right - самой правой линии.
Если Left и Right равны 0, то левая и правая линии штриховки флага имеют белый цвет. Цвет средней вертикальной линии стремится к Color.
Векторный знак (Vector) должен содержать площадной примитив произвольной формы (до 128 точек).
Отображение изображений на карте
 
1. mappicex.h (gispicex64.dll)[CODE]//========================================================================
// Импорт растровых данных в файл RSW
// handle - диалог визуального сопровождения процесса обработки
// srcname        - имя входного файла (TIF, IMG, PNG, GIF, JPG, BMP, PCX)
// rstname        - имя выходного файла (*.rsw)
// retcode        - код возврата
// Приоритет изъятия параметров привязки:
//   1. Содержимое соответствующих тегов файлов TIF, IMG
//   2. Файл привязки world.file
//   3. Файл привязки TAB (MapInfo)
// Функция ищет файл привязки рядом с исходным файлом srcname,
// перебирая по приоритету типы файлов.
// При ошибке возвращает ноль
//==========================================================­==============
_PICIMP long int _PICAPI picexLoadRasterToRswUn(HMESSAGE handle,
                                               const WCHAR* srcname,
                                               const WCHAR* rstname,
                                               long int * retcode);
[/CODE]2. rstapi.h (gisacces64.dll)[CODE] // Открыть растровые данные в заданном районе работ
 // (добавить в цепочку растров)
 // Возвращает номер файла в цепочке растров
 // hMap    - идентификатор открытых данных
 // rstname - имя файла растровой карты
 // mode    - режим чтения/записи (GENERIC_READ, GENERIC_WRITE или 0)
 // GENERIC_READ - все данные только на чтение
 // При ошибке возвращает ноль

_MAPIMP long int _MAPAPI mapOpenRstForMapUn(HMAP hMap, const WCHAR *name, long int mode);
[/CODE]3. Функции запроса и изменения положения растра rstapi.h (gisacces64.dll)[CODE] // Установить привязку растра в районе работ(в метрах)
 // hMap       - идентификатор открытых данных
 // number     - номер файла в цепочке
 // location   - координаты юго-западного угла растра(в метрах)
 // При ошибке возвращает 0

_MAPIMP long int _MAPAPI mapSetRstLocation(HMAP hMap, long int number, DOUBLEPOINT *location);

 // Запросить привязку растра в районе работ(в метрах)
 // hMap       - идентификатор открытых данных
 // number     - номер файла в цепочке
 // location   - координаты юго-западного угла растра(в метрах)
 // При ошибке возвращает 0

_MAPIMP long int _MAPAPI mapGetRstLocation(HMAP hMap, long int number, DOUBLEPOINT *location);
[/CODE]4. Печать выполняется стандартной функцией mapapi.h (gisacces64.dll)[CODE] // Отобразить фрагмент карты на заданном устройстве с учетом калибровки
// в текущих масштабе и составе объектов
// hmap   - идентификатор открытых данных
// rect - координаты фрагмента карты (Draw) в изображении (Picture)
// parm - параметры печати, указатель на PRINTPARM (см. prnapi.h)
// При ошибке возвращает ноль

_MAPIMP long int _MAPAPI mapPrint(HMAP hmap, HDC hDC, RECT *rect, const char *parm);
[/CODE]
Не корректное отображение зарамочного оформления .frm
 
[QUOTE]Михаил Федосеев написал (в письме):
С этого момента обсуждение существенно не продвинулось. Мне было предложено воспользоваться методом  frmCreateBorderPro. Однако существуют 2 проблемы:
- во первых метод отказывается принимать HSITE, созданный в обсуждаемом нами примере. HSITE основной карты принимается, но никакого зарамочного оформления не отображается.
- во вторых параметры данного метода не подразумевают указания области карты, для которой нужно создать зарамочное оформление, что является для нас критичным. Возможно указать только номер листа карты.
[/QUOTE]
1. Полное зарамочное оформление может быть построено только по карте, открытой в отдельный HMAP (preprint\frmbuild.cpp):
[CODE] // Вид карты: -1 - SIT c рамкой
     mapregex.FlagRealPlace = -1;

     HMAP fmap = mapCreateMapPro(RotateSit, rscfilename, &mapregex, &listreg,
                            &sheet, sheetname, 0, 0);
[/CODE]2. Карта зарамочного оформления создается отдельно в виде безразмерного листа:
[CODE] // Вид карты: 1 - SIT (безразмерный лист)
    mapregex.FlagRealPlace = 1;

    HMAP fmap = mapCreateMapPro(FrameSit, rscfilename, &mapregex, &listreg,
                            &sheet, sheetname, 0, 0);
    if (fmap != 0)
      {
       // Установить параметры DATUM и Ellipsoid
       mapSetSiteDatum(fmap, fmap, &datum);
       mapSetSiteEllipsoidParameters(fmap, fmap, &ellipsoid);

       mapSaveSite(fmap, fmap, 1);
       mapCloseData(fmap);
      }[/CODE]3. Вычислить угол поворота карты (для топокарт):
[CODE] if (RegionCheckBox->Checked == true)
  {
   angle = 0.;

   // Откроем главную карту повёрнутого листа RotateSit
   HMAP hSheet = mapOpenDataUn(RotateSit);
   if (hSheet != 0)
     {
      // Вычислить угол поворота для нового листа
      frmGetRotateAngle(hSheet, 1, &angle);

      // Копирование и поворот объектов на RotateSit
      TurnSheetRegion(angle, rsit);

      mapCloseSiteForMap(Hmap, rsit);

      // Добавим карту зарамочного оформления
      frmsit = mapOpenSiteForMapUn(hSheet, FrameSit, 0);

      if (frmsit)
       {
       frmCreateBorderPro(hSheet,1,frmsit,frmsit,FrameTemp,0,LogFile,0);

       mapCloseSiteForMap(hSheet, frmsit);
       }

      // Установка FlagRealPlace = 1, чтобы после поворота пересчитались габариты листа(всего района)
      if (mapGetSiteInfoPro(hSheet, hSheet, &mapregex, &listreg, &sheet,1) != 0)
        {
         mapregex.FlagRealPlace = 1;
         mapUpdateSiteInfoEx(hSheet, hSheet, &mapregex, &listreg, 1, &datum, &ellipsoid, 0);
        }
      // Закрыть документ
      mapCloseData(hSheet);
     }
  }

[/CODE]4. Повернуть карту:
[CODE] if (frmTurnSheet(TaskParm, Hmap, i, angle, rsit) == 0)
   {
    mapCloseSiteForMap(Hmap, rsit);  // 15/12/17
    mapCloseSiteForMap(Hmap, frmsit);
    break;
   }
[/CODE]5.
[CODE] // НАНЕСТИ ЗАРАМОЧНОЕ ОФОРМЛЕНИЕ
  if (CreateBorder(Hmap, i, rsit, frmsit, angle) == 0)
   {
    mapCloseSiteForMap(Hmap, rsit);  // 15/12/17
    mapCloseSiteForMap(Hmap, frmsit);
    break;
   }
[/CODE][CODE]int TFormFrameBuild::CreateBorder(HMAP hmap, int sheet, HSITE rotsit, HSITE frmsit, double angle) // 15/12/17
{

if (MessageCheck->Checked == true)
  return frmCreateBorderPro(Hmap,sheet,rotsit,frmsit,FrameTemp,angle,LogFile,2);
return frmCreateBorderPro(Hmap,sheet,rotsit,frmsit,FrameTemp,angle,LogFile,0);
}
[/CODE]
6. Нанести легенды...
Печать карты, Проблема настройки цветности слоев печати
 
Есть такой вариант (на примере классификатора map500.rsc):

1. Создать копию классификатора map500.rsc -> map500_gray.rsc.
2. Заменить цвета в классификаторе map500_gray.rsc на серые (нажать ПКМ на цвете, установить Оттенок = 0 и Контраст = 0).
3. Сохранить карту в SXF.
4. Загрузить карту из SXF с классификатором map500_gray.rsc.
5. Добавить к черно-белой карте пустую карту с цветным классификатором map500.rsc.
6. Выделить объекты, которые должны быть цветными.
7. Скопировать выделенные объекты на пустую карту.
Не корректное отображение зарамочного оформления .frm
 
Функция mapAddMarginalRepresentationSite используется для формирования простого зарамочного оформления. Обрабатывает ограниченный набор ключевых слов: ".RSCLINE", ".RSCFRAME", ".GEOTEXT", ".RSCTEXT", ".DIRECTION".
Для получения расширенного зарамочного оформления необходимо использовать функцию frmCreateBorderPro. Текст данной функции доступен в виде исходных текстов (frmapi\frmapim.cpp), пример использования в файле (preprint\frmbuild.cpp).

Данные тексты выложены в виде архива [URL=http://gisinfo.ru/download?id=229]sdk13.zip[/URL] и доступны для скачивания на странице: [URL=https://gisinfo.ru/download/download.htm]https://gisinfo.ru/download/download.htm[/URL]
Не корректное отображение зарамочного оформления .frm
 
ТУТ ОШИБКА:
   CREATESITE *cs = new CREATESITE;
   cs->Length              = mapreg->Length            ;

ДОЛЖНО бЫТЬ:
cs->Length = sizeof(CREATESITE);

Размеры структур CREATESITE и MAPREGISTEREX отличаются.

P.S. К сожалению архив содержит только паспорт карты. Отсутствуют файлы, записанные паспорте: K362.hdr, K362.dat, K362.sem, K362.gra, ...
Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 ... 148 След.



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

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