Release Notes

История изменений ПК ЦКИ и сведения о версионировании


Особенности актуальной версии
Журнал изменений


Note: Актуальная версия: 1.3

Особенности актуальной версии

Основными изменениями ПК ЦКИ версии 1.3-r2226 можно считать следующее:

Основными изменениями ПК ЦКИ версии 1.2-r2177 можно считать следующее:

Основными изменениями ПК ЦКИ версии 1.1.0-r2019 можно считать следующее:

Основными изменениями ПК ЦКИ версии 1.0.0-r1690 можно считать следующее:


Журнал изменений

1.3 (r2226)
surfacemanager
Добавлено
gis_userobject_t – Тип пользовательского объекта движка рендеринга Surface Manager.
formatctl
Добавлено
GIS_CACHE_SUBDIR_GCM – Маркер названия директории, хранящей карты формата GCM.
GIS_GCM_FILE_EXTENSION – Маркер расширения карт формата GCM
gis_common_driver_check_folders – Проверить наличие папок с картами и стилями.
gis_common_driver_extension_list_t – Список возможных расширений файлов карт.
gis_common_driver_fill_extensions() – Заполнить список расширений карт.
gis_common_driver_get_basename_without_extension – Получить базовое имя карты без расширения.
gis_common_driver_get_mandatory_driver_param_from_cfg() – Получить из файла конфигурации ядра один из основных (обязателньых) параметров драйвера.
gis_common_driver_recover_gcm_database() – Восстановить базу данных GCM.
gis_common_driver_reset_gcm_database() – Очистить базу данных GCM.
gis_common_driver_sync_cache() – Синхронизировать кэш карт.
gis_common_driver_update_cache() – Переконвертировать карту в GCM.
gis_common_driver_update_clipped_map_info() – Обновить информацию о картах GCM с одноимённой исходной картой.
gis_driver_ctx_t – Контекст драйвера формата карт.
gis_driver_interface_t – Интерфейс драйвера формата исходной карты.
gishelper - библиотека с публичным API
Добавлено
DRIVER_CFG_*, DRIVER_*_CFG_SECTION – Маркеры названий разделов драйверов в конфигурационном файле ядра.
gis_core_config_get_driver_value() – Получить из файла конфигурации ядра параметр драйвера.
gis_core_config_get_value() – Получить параметр из файла конфигурации ядра.
gis_core_config_set_driver_value() – Обновить значение параметра драйвера в файле конфигурации ядра.
gis_helper_timer_get_result_sec() – Получение значения таймера.
gis_helper_timer_start() – Запустить таймер.
gis_helper_timer_stop() – Остановить таймер.
gis_map_style_flip_language() – Переключение языка карты на международный/национальный.
gis_map_style_get_active_palette_idx() – Получение индекса активной палитры.
gis_map_style_get_palette_list() – Получение списка палитр для выбранного стиля векторных карт.
gis_map_style_palette_get_entry_count() – Получение размера списка палитр.
gis_map_style_palette_get_entry_list() – Получение непосредственно списка палитр из структуры.
gis_map_style_palette_get_map_style() – Получение стиля векторных карт из списка палитр.
gis_map_style_palette_list_free() – Освобождение списка палитр.
gis_map_style_set_active_palette_idx() – Установка индекса активной палитры.
gis_timer_t – Таймер.
gis_vector_palette_list_t – Список палитр стиля векторных карт.
gis_vector_palette_t – Дескриптор векторной палитры.
Оптимизация потребления памяти при заполнении разделяемой области памяти.
Расширена поддержка векторных карт с конической равноугольной проекцией.
Добавлена поддержка автоматической связки классифкатора RSC с картой SXF несовпадающего масштаба при одинаковом базовом имени.
Изменения gis_core_driver_id_t
Параметры считаются устаревшим: GIS_CORE_DRIVERS_KKS, GIS_CORE_DRIVERS_RER, GIS_CORE_DRIVERS_UKS

1.2 (r2177)
Утилиты
Добавлено
gis-buffer-renderer – Утилита для рендеринга картографической информации в память.
gishelper - библиотека с публичным API
Добавлено
gis_core_request_revision() – Получение номера версии и ревизии картографического ядра.
gis_mdp_get_brightness_contrast() – Получение значений яркости и контрастности отображения.
gis_mdp_get_raster_color_mode() – Получение типа заливки для рисования растра.
gis_mdp_get_raster_invalid_height_color() – Получение цвета отображения высот вне заданного диапазона.
gis_mdp_get_raster_palette() – Получение палитры для рисования растра.
Устарели
gis_core_request_update_cached_map() – Обновление карты в картографическом кэше.
gis_data_raw_map_select_object() – Выбор объекта в текущей карте разделяемой области памяти по индексу.
gisrender - библиотека с публичным API
Добавлено
gis_data_engine_get_canvas_size() – Получение размера окна отображения движка рендеринга.
gis_gui_about() – Вывод информации о ПК ЦКИ.
Библиотека сократилась ввиду выделения из ее состава libsurfacemenager. Библиотека gisrender отныне выполняет лишь отрисовку средствами Qt через переданный QPainter.
renderbuffer - библиотека с публичным API
Добавлено
gis_render_rb_alloc() – Создание контекста движка рендеринга.
gis_render_rb_context_t – Контекст движка рендеринга Render Buffer.
gis_render_rb_draw() – Рисование карты.
gis_render_rb_free() – Освобождение контекста движка рендеринга.
Добавлена библиотека для рисования средствами Qt через переданный QPainter.
surfacemanager - библиотека с публичным API
Добавлено
SMCallbacks::errorCallback() – Обработчик ошибок рисования.
gis_render_sm_draw() – Вызов обработчика рисования движка рендеринга Surface Manager.
gis_render_sm_get_render_mode() – Получение режима рисования движка рендеринга Surface Manager.
gis_render_sm_set_layer_data_sources() – Назначение форматов карт для отображения в заданной поверхности.
Библиотека выделена из состава gisrender.
Добавлена поддержка Qt 5.7.1.
Приложения
Добавлено
gis-rb-viewer – Минималистичное приложение для отображения картографической информации средствами библиотеки Render Buffer.
Изменения gis-monitor
Отсутствующие или некорректные значения масштаба, высот, EPSG не показываются в справочной информации о карте.
gis-map-viewer
Добавлена поддержка Qt 5.7.1.

1.1.0 (r2034)
gishelper - библиотека с публичным API
Добавлено
gis_core_connection_state_t – Состояние связи с картографическим ядром.
gis_core_request_parameters_are_correct() – Проверка параметров запроса картографической информации.
gis_data_raw_get_raster_block_count() – Получение количества блоков растровых данных в текущей карте разделяемой области памяти
gis_data_raw_get_raster_block_height() – Получение высоты блока растровых данных
gis_data_raw_get_raster_block_upper_left_corner() – Получение координат верхнего левого угла указанного блока растровой карты (метры в проекции растра)
gis_data_raw_get_raster_block_width() – Получение ширины блока растровых данных
gis_data_raw_get_raster_data() – Получение данных блока растровых данных
gis_data_raw_get_raster_height_in_blocks() – Получение высоты текущей растровой карты в блоках
gis_data_raw_get_raster_height_in_elements() – Получение высоты растровой карты (в элементах)
gis_data_raw_get_raster_meters_per_element() – Получение разрешения растровой карты (метры на элемент)
gis_data_raw_get_raster_upper_left_corner() – Получение координат верхнего левого угла растровой карты (метры в проекции растра)
gis_data_raw_get_raster_width_in_blocks() – Получение ширины текущей растровой карты в блоках
gis_data_raw_get_raster_width_in_elements() – Получение ширины растровой карты (в элементах)
gis_data_raw_map_get_borders() – Получение градусных границ текущей карты в разделяемой области памяти
gis_data_raw_map_get_filename() – Получение названия текущей карты в разделяемой области памяти
gis_data_raw_map_get_projection() – Получение проекции текущей карты в разделяемой области памяти
gis_data_raw_object_get_bounding_rect() – Получение описывающего прямоугольника для объекта.
gis_data_raw_select_map() – Выбор требуемой карты в разделяемой области памяти.
gis_helper_env_get_config_directory() – Получение пути к директории, содержащей конфигурационные файлы.
gis_helper_env_get_maps_cache_directory() – Получение текущего значения переменной окружения GIS_CORE_MAP_CACHE.
gis_mdp_get_background_color() – Получение цвета фона карты.
gis_mdp_set_map_antialiasing_level() – Установка уровня сглаживания карты.
gis_mdp_set_raster_invalid_height_color() – Установка цвета отображения высот вне заданного диапазона.
Исключена функция gis_helper_math_get_degrees_projection(), получавшая строку, описывающую градусную проекцию в формате PROJ.4.
Добавлен интерфейс доступа к растровым данным матриц высот.
Название класса теперь записывается в GCM и может быть прочитано оттуда.
Поддержка растровых форматов: GeoTIFF, JPEG2000, DTED, RSW, PNG.
Добавлена поддержка множества расширений у одного формата карт (например .jp2/.j2k/.jpg).
Обновлена работа с проекциями и получением EPSG кода.
Поддержка EPSG в качестве параметров проекции.
Переход на api библиотеки PROJ7.
Реализован универсальный растровый формат GCM.
Функция gis_helper_get_core_driver_acronym() переименована в gis_core_request_driver_acronym().
Функция gis_mdp_set_raster_palette() - изменение аргументов в функции установки палитры для отображения растров.
Тип хранения EPSG изменен из uint32_t в int32_t.
Тип gis_core_map_information_t. Теперь хранится только имя классификатора. Добавлены поля gcm_clip_fnames, gcm_clip_count.
Добавлено поле для описывающего прямоугольника в тип gis_object_t.
Увеличено значение констант GIS_MAX_NAME_LENGTH, GIS_MAX_PATH_LENGTH (ext. bug 150).
Исправлена установка параметров проекции при наличии EPSG кода (ext. bug 149).
Добавлен эллипсоид GRS80.
Устарели
gis_data_raw_select_map_by_index() – Выбор карты в разделяемой области памяти по индексу.
gisrender - библиотека с публичным API
Добавлено
gis_data_engine_get_class_list() – Получение списка активных классов.
gis_render_sm_set_layer_data_sources() – Назначение форматов карт для отображения в заданной поверхности.
Исправлено рисование векторных шаблонов в SXF.
Добавлена поддержка рендеринга объектов SXF (частей векторных знаков типа "Окружность")
Исправлено рисование номеров дорог в SXF.
Внедрение описывающего прмоугольника для фильтрации векторных объектов.
Исправлены неточности отображения векторных объектов требуемого размера для формата SXF.
Поддержка отображения элементов векторных объектов: дуги, секторы, отраженные дуги.
Поддержка растягивания векторных объектов и их отображение с требуемым размером (ext. bug 119).
Отображение надписей небольшого размера (>= 3пт).
Добавлена очистка поверхности при выходе за границы существующих данных (ext. bug 141).
Добавлена возможность рисовать карты разных форматов на одной поверхности (например, растры отдельно от матриц высот) (ext. bug 155).
Приложения
Изменения gis-map-viewer
Обновление интерфейса.
Добавлено окно поиска объектов по атрибутам.
Добавлена возможность запуска двух вкладок из терминала.
Добавлен новый пункт меню, позволяющий отключать масштабирование при использовании колёсика мыши, оставляя только центрирование карты по курсору (ext. bug 140).
В окне выбора отображения слоёв теперь можно выбирать форматы карт для отображения на заданном слое (ext. bug 155).
gis-monitor
Добавлен пункт меню "Добавление карт".
Обновление интерфейса (вызов gis-map-viewer двойным кликом по карте).
gis-filter-generator
Утилита offline фильтрации классов поддерживает форматы SXF, Shapefile, S-57.
Добавлена поддержка конфигурационных файлов генератора фильтров (filter.conf).
Исключены неактуальные опции.
gis-map-linker
Добавлен пункт меню, управляющий отображением частей матрицы высот, выходящей за установленные границы высот.
Исключены неактуальные опции.
gis-rasterizer
Утилита теперь работает с векторными форматами SXF, S-57 и Shapefile. Позволяет получить растр из объектов с нужным атрибутом(-ами).
Системные компоненты
Добавлено
gis-raster-processor – Конвертер растровых карт во внутренний формат.
Изменения gis-sxf-processor
Весь текст из карт SXF конвертируется из исходной кодировки в UTF-8.
gis-shape-processor
Повышена производительность и ускорено проецирование объектов.
gis-core
Ядро может работать при отсутствии части драйверов.
Драйвера являются разделяемыми библиотеками, подключаются динамически в процессе исполнения и используют функционал ядра при помощи новой общей библиотеки drv_common.
Процессоры карт автоматически подгружают конфигурационный файл генератора фильтров при наличии разрешения в gis-core.conf.
gis-control
Добавлена опция -g (запрос на загрузку карт).


1.0.0 (r1690)
gishelper - библиотека с публичным API
Добавлено
gis_core_class_data_base_code() – Декодирование кода класса, соответствующего оригиналу карты.
gis_mdp_get_center_point_deg() – Получение градусных координат центра отображения карты.
gis_mdp_get_projection() – Получение текущей проекции отображения карты.
gis_mdp_set_scaling_mode() – Установка режима масштабирования для текущего отображения карты.
Исключена функция gis_core_map_list_free().
Исключена функция gis_core_map_list_reset_capacity().
Исключена функция gis_core_map_information_init().
Исключена функция gis_helper_data_get_class_info_string().
Исключен тип gis_core_databuffer_size_t.
Добавлена поддержка картостилей SLD.
Добавлена возможность управления цветом фона отображаемой карты.
Файлы классификаторов RSC теперь конвертируются в GCM формат.
Директория для логов по умолчанию $GIS_ROOT/data -> $GIS_ROOT/data/logs.
Устранена долгая работа с дескриптором РОП на ppcbe (ext. bug 138).
Изменено поведение драйвера MTW при обработке опции "sync=soft" (ext. bug 137).
Реализована поддержка карт c проекцией Гаусс-Крюгер.
Добавлена переменная окружения GIS_RENDERING_OPERATION_TIMEOUT_MS, устанавливающая время ожидания завершения операции рисования.
Добавлены новые заголовочные файлы: gis_objects.h и gis_path.h.
Заголовочный файл map_display_parameters.h переименован в gis_mdp.h.
Заголовочный файл gishelper_math.h переименован в gis_math.h.
Заголовочный файл gishelper_raw_databuffer.h переименован в gis_raw.h.
Заголовочный файл gishelper.h переименован в gis_databuffer.h.
Заголовочный файл gis.h переименован в gishelper.h.
Макрос GIS_DEBUG переименован в GIS_DEBUG_LEVEL_DEBUG.
Макрос GIS_INFO переименован в GIS_DEBUG_LEVEL_INFO.
Макрос GIS_WARNING переименован в GIS_DEBUG_LEVEL_WARNING.
Макрос GIS_ERROR переименован в GIS_DEBUG_LEVEL_ERROR.
Макросы GIS_HELPER_DEBUG_MODE_* переименованы в GIS_DEBUG_MODE_*.
Макросы GIS_HELPER_DEBUG_LEVEL_* переименованы в GIS_DEBUG_LEVEL_*.
Макросы GISHELPER_MATH_PRIMITIVE_* переименованы в GIS_OBJECT_PRIMITIVE_*.
Тип gis_helper_debug_level_t переименован в gis_debug_level_t.
Тип gis_helper_debug_mode_t переименован в gis_debug_mode_t.
Тип gishelper_math_ctx_t переименован в gis_helper_math_ctx_t.
Тип gis_map_projection_ext_t переименован в gis_map_projection_t.
Тип gis_core_server_driver_id_t переименован в gis_core_driver_id_t.
Тип gis_helper_math_primitive_type_t переименован в gis_object_primitive_type_t.
Тип gis_borders_degree_t переименован в gis_borders_t.
Тип gis_core_class_code_t изменен из uint32_t в uint64_t.
В тип gis_core_class_info_t добавлено поле acronym.
Функция gis_core_request_maps_list_get_entry() переименована в gis_core_map_list_get_entry().
Функция gis_core_request_map_class_list_free() переименована в gis_core_class_list_free().
Функция gis_data_engine_get_sxf_list() переименована в gis_data_engine_get_map_list().
Функция gis_data_engine_get_rsc_list() переименована в gis_data_engine_get_classifier_list().
Функция gis_data_engine_get_maps_projection() переименована в gis_data_engine_get_maps_projection().
Функция gis_databuffer_descriptor_get_rsc_list() переименована в gis_data_engine_get_sxf_list().
Функция gis_databuffer_descriptor_get_sxf_list() переименована в gis_data_engine_get_rsc_list().
Функция gis_mdp_set_render_mode() переименована в gis_mdp_set_scaling_mode().
Функции gis_map_display_parameters_* переименованы в gis_mdp_*.
Функции gis_data_engine_surface_manager_* переименованы в gis_render_sm_*.
Функции gis_data_engine_raw* переименованы в gis_render_raw*.
Функции gis_core_debug_* переименованы в gis_helper_debug_*.
У функции gis_core_request_map_class_list() изменился формат.
Класс SXFInfo переименован в MapInfo.
Класс RSCLayerInfo переименован в ClassifierLayerInfo.
Класс RSCInfo переименован в ClassifierInfo.
gisrender - библиотека с публичным API
Добавлено
SMCallbacks::errorCallback() – Обработчик ошибок рисования.
gis_data_engine_update() – Обновление области данных движка рендеринга.
gis_render_sm_draw() – Вызов обработчика рисования движка рендеринга Surface Manager.
Исключен интерфейс gisrender_raw.h.
Исключен заголовочный файл gisrender_types.h не используется в gisrender (перенесен в библиотеку 3dm).
Исключены заголовочные файлы gisrender_format[s/_3d_model].h не используются в gisrender (перенесены в библиотеку 3dm).
Функция gis_data_engine_surface_manager_load_map().
Функция gis_render_sm_get_view_center_degree() как дубль gis_mdp_get_center_point_deg().
Функция gis_render_sm_get_display_param() как дубль gis_data_engine_get_display_parameters().
Добавлена поддержка отображения полигонов-стекол.
Решена проблема корректного масштабирования.
Добавлена опция сглаживания при отрисовке объектов.
Корректировка отображения штриховых линий (ext. bug 91).
Расширен функционал отображения декорированных линий (ext. bug 91).
Решена проблема корректного отображения пунктирных линий.
Исправлен баг с исчезновением надписей и невидимыми символами (ext. bug 92).
Поддержана конвертация MTW в GCM.
Поддержка рекурсивных уменьшенных копий MTW.
Исправлен алгоритм фильтрации (сетка больше не пропадает - ext. bug73).
Глобальная оптимизация производительности.
Исправлена работа с классом пустых объектов (127).
Удалены квадраты в конце отображаемого текста.
Изменена логика последовательного отображения слоев SXF.
Множественные исправления принципов отображения объектов на SXF.
У MTW добавлена автоматическая настройка на высотные характеристики карт, попадающих в регион отображения.
Измерение расстояния по полилинии.
Добавлена возможность измерения расстояния по карте.
Расширен список поддерживаемых проекций (+UTM, +Gauss-Kruger).
Добавлены функции получения списков рабочих SXF и RSC .
Добавлены обработчики-запросы необходимости отрисовки конкретных классов и слоев (по номерам).
Заголовочный файл surfacemanager.h переименован в gis_surfacemanager.h.
Добавлен макрос GIS_RENDER_SM_ALLOC_RAM - флаг, позволяющий выделить поверхность рисования в RAM.
Тип userobject переименован в userobject_t.
Макросы GIS_DATA_ENGINE_SURFACEMANAGER_RENDER_MODE_* переименованы в GIS_RENDER_SM_MODE_*.
Макросы GIS_DATA_ENGINE_EXPORT_* перенесены из gisrender.h в gisrender_internal.h.
Макрос GIS_RENDER_SM_GENERATOR_THREAD_COUNT переименован в GIS_RENDER_SM_SURFACE_NUMBER.
В функции gis_render_sm_alloc() - аргумент connection переименован в flags.
В функции gis_render_sm_rescale() исключен аргумент scale_point_deg.
Функции gis_sm_raster* перенесены в gis_mdp.h и называются теперь gis_mdp_get_raster*.
kd-tree - библиотека с публичным API
Добавлено
gis_kd_add() – Добавление нового узла.
gis_kd_destroy() – Удаление КД дерева.
gis_kd_dnn() – Поиск узлов в заданном радиусе.
gis_kd_init() – Создание КД дерева.
gis_kd_knn() – Поиск K ближайших узлов.
gis_kd_node_t – Структура узла дерева.
gis_kd_rnn() – Поиск узлов в заданном диапазоне.
gis_kd_tree_t – Структура КД дерева.
gis_kd_uniq_id – Структура идентификатора узла.
Прочие библиотеки
Изменения surfacemanager
Перенесена в библиотеку gisrender.
Проекция по-умолчанию установлена "Меркатор".
Параметры по-умолчанию устанавливаются в соответствии с запрошенными данными.
Реализовано вращение точечных объектов.
Оптимизирована работа слоя отображения карты (2DMap).
Добавлены функции управления слоями (Карта, Объекты пользователя, Карта высот).
Возможность задания яркости и контрастности.
Добавлена проверка на наличие параметров генерализации объектов SXF.
Оптимизирована работа связки FPU + SharedMemory на платформе PPC.
Приложения
Изменения gis-map-viewer
Исправлено падение при выходе из программы.
Внедрен флаг сглаживания.
Исправлен сброс опции -D при вызове Tools->Refresh (ext. bug 106).
Изменена логика работы линейки.
Добавлено измерение площадей.
Добавлен функционал автоматической настройки проекции при включении.
'New scaling mode' предполагает картографический режим отображения с уменьшением скорости роста размеров объектов, установлен по умолчанию.
Добавлена русская локализация интерфейса.
Добавлена шкала высот MTW.
Добавлена возможность установки проекции отображения.
Добавлена фильтрация карт по слоям, возможность включения/выключения слоев.
Исправлены недочеты в UI.
Добавлена возможность изменения яркости и контрастности изображения (пункт меню "View parameters" -> "Brightness / contrast").
Добавлены объекты пользователя.
gis-monitor
Новое представление фона, более корректная информация.
Добавлена русская локализация интерфейса.
Исправлены недочеты в UI.
Интеграция sxf-linker.
Добавлена фильтрация отображаемых карт по масштабам.
Исправлено отображение сетки (поправка в точности).
Исправлен виджет отображения информации о карте.
Добавлено меню управления.
Добавлены функции "Update/Overwrite" в меню управления (Работа с кэшем карт картографического ядра).
Системные компоненты
Изменения gis-core
Отказ от использования переменной GIS_CORE_ENGINE_DATA.
Исправлена ошибка проверки хеша карт формата Shapefile/SLD.
Внедрена система автоматического контроля версий ключевых компонентов. Cервис принудительно останавливается при провале процедуры верификации.
Добавлена переменная окружения GIS_ROOT, позволяющая указать расположение корневого каталога проекта GIS.
Добавлен режим работы через файловую систему (опция -f ядра).
Добавлена переменная окружения GIS_CORE_DATABUFFER_SIZE_LIMIT, которая задает предел расширения databuffer.
Добавлен файл конфигурации, расположение "/opt/gis/data/config/gis-core.conf".
Исправлена работа ядра при переименовании файлов внутреннего формата.
Добавлено восстановление папок, необходимых для работы драйверов и кэша, в случае отсутствия.
Добавлена проверка каждой карты на возможность добавления в databuffer (усиленное заполнение).
Добавлена опция запуска драйвера с синхронизацией "sync". Приводит к синхронизации оригинальных файлов и кэшированных. По умолчанию отключена.
К опции синхронизации добавлено возможное значение 'hard', которое посылает запрос к включенным драйверам на полное перекэширование с удалением нынешнего кэша.
gis-sxf-processor
Утилита оперирует классификаторами '*rsc.gcm'.
Восстановлен функционал, позволяющий принудительно указывать путь к папке со внешними классификаторами (ext. bug 114).
Восстановлен функционал, позволяющий принудительно указывать внешний классификатор (ext. bug 114).
При конвертировании в GCM формат сохраняется информация об абсолютных высотах, при отсутствии сведений используется код (double)0xffffffff (ext. bug 111).
Добавлена опция offline проецирования точек в результирующую проекцию.
Исправлена поддержка проекции Гаусс-Крюгер карт (исправлено падение конвертера карт SXF).
gis-shape-processor
Корректная обработка названий входных и выходных файлов (ext. bug 135).
gis-sxf-linker
Исправлена работа с ".rsc.gcm" классификаторами.
Добавлена функция обновления и перекэширования классификаторов, находящихся в стандартной директории.
Добавлена колонка масштаба карты.
Добавлена новая утилита для ручной настройки преобразования SXF файлов в формат GCM.




Предыдущий раздел: перейти