158 строки
8.7 KiB
Markdown
158 строки
8.7 KiB
Markdown
<h1 align="center">ПК ЦКИ (Программый Комплекс поддержки ЦКИ)</h1>
|
|
<div align="center">
|
|
<p><img src="doc/readme_content/animated_gis_logo_no_loop.gif" alt="ПК ЦКИ" align="top"></p>
|
|
<p>
|
|
<img src="https://img.shields.io/badge/c-%2300599C.svg?style=for-the-badge&logo=c&logoColor=white" alt="C">
|
|
<img src="https://img.shields.io/badge/c++-%2300599C.svg?style=for-the-badge&logo=c%2B%2B&logoColor=white" alt="C++">
|
|
<img src="https://img.shields.io/badge/CMake-%23008FBA.svg?style=for-the-badge&logo=cmake&logoColor=white" alt="CMake">
|
|
</p>
|
|
<img src="https://img.shields.io/badge/PVS_stat_analyzer-Enabled-green%20" alt="PVS_stat_analyzer-Enabled">
|
|
<img src="https://img.shields.io/badge/GCOV_code_coverage-Enabled-green%20" alt="GCOV_code_coverage-Enabled">
|
|
</div>
|
|
|
|
<h1></h1>
|
|
|
|
<p>Картографический пакет ПК ЦКИ предназначен для обработки и визуализации цифровой картографической информации в защищенной операционной системе реального времени «Нейтрино».</p>
|
|
<p>ПК ЦКИ оптимизирован для работы на широком спектре оборудования, включая аппаратные платформы на базе российских процессоров, и применяется в качестве базового ПО при построении ГИС различного назначения для мобильных, бортовых и стационарных систем и комплексов.</p>Подробнее о продукте можно прочитать <a href="https://kpda.ru/products/gis/">здесь</a>.
|
|
|
|
<h1></h1>
|
|
|
|
<table>
|
|
<tr>
|
|
<td>
|
|
<table>
|
|
<tr>
|
|
<th>Поддерживаемые платформы</th>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p><img src="https://img.shields.io/badge/x86-blue" alt="x86"> </p>
|
|
<p><img src="https://img.shields.io/badge/ARM_v7-blue" alt="ARM_v7"> </p>
|
|
<p><img src="https://img.shields.io/badge/PowerPC_BE_%2F_BE_SPE-blue" alt="PowerPC"> </p>
|
|
<p><img src="https://img.shields.io/badge/%D0%AD%D0%BB%D1%8C%D0%B1%D1%80%D1%83%D1%81-blue" alt="Эльбрус"> </p>
|
|
<p><img src="https://img.shields.io/badge/MIPS-blue" alt="MIPS"> </p>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td width="1000px" align="center">
|
|
<img src="doc/readme_content/supported_formats.png" alt="Поддерживаемые форматы" width="750px">
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
# Обзор
|
|
|
|
## Содержание
|
|
|
|
- [Компоненты](#компоненты)
|
|
- [Зависимости](#зависимости)
|
|
- [Сборка](#сборка)
|
|
- [Запуск](#запуск)
|
|
|
|
## Компоненты
|
|
|
|
- [doc](doc) - справка по формату GCM, и др.
|
|
- [src](src) - исходные компоненты проекта
|
|
- [apps](src/apps) - демонстрационные и тестовые приложения
|
|
- [lib](src/lib) - исходники используемых библиотек
|
|
- [services](src/services) - компоненты ядра, драйверов для работы с серверами и имитаторов серверов
|
|
- [gis-core](src/services/core) - ядро картографического пакета
|
|
- [drivers](src/services/drivers) - исходники драйверов форматов картографической информации
|
|
- [utils](src/utils) - конвертеры карт и дополнительные утилиты для работы
|
|
|
|
Подробную информацию по конкретному компоненту (приложению, утилите, драйверу и т. д.) можно найти в файлах `README.md`, находящихся в директории этого компонента.
|
|
|
|
## Зависимости
|
|
|
|
<div align="center">
|
|
<img src="doc/readme_content/GIS.drawio.svg" alt="Зависимости" width="1000px">
|
|
</div>
|
|
|
|
## Сборка
|
|
|
|
*ПК ЦКИ поддерживается на ЗОСРВ "Нейтрино" версий 2024 и 2021.*
|
|
|
|
**Для комплекта разработчика 2021 необходимо дополнительно подключить sqlite3:**
|
|
|
|
1. Установить sqlite3 на свое устройство. Например, для Debian/Ubuntu ввести следующую команду:
|
|
|
|
<code>sudo apt update && sudo apt install sqlite3</code>
|
|
|
|
2. Собрать <a href="https://git.kpda.ru/gis/sqlite">sqlite3</a> под требуемую аппаратную платформу, установив библиотеки в указанную вами папку.
|
|
|
|
- Например, для armle-v7:
|
|
|
|
<code>make CPULIST=arm VARIANTLIST=le.v7 INSTALL_ROOT_nto=my_sqlite_install_dir install && make clean</code>
|
|
|
|
- Для x86:
|
|
|
|
<code>make CPULIST=x86 INSTALL_ROOT_nto=my_sqlite_install_dir install && make clean</code>
|
|
|
|
3. Полученные библиотеки необходимо поместить на целевое устройство с ОС "Нейтрино" версии 2021 в папку `/opt/gis/lib`.
|
|
|
|
4. Установить переменные окружения, используя ранее выбранную папку установки:
|
|
|
|
<code>export SQLite3_INCLUDE_DIR=my_sqlite_install_dir/armle-v7/usr/include/sqlite</code>
|
|
|
|
<code>export SQLite3_LIBRARY=my_sqlite_install_dir/armle-v7/usr/lib/libsqlite3.so.8</code>
|
|
|
|
**Сборка ПК ЦКИ для 2021 и 2024:**
|
|
|
|
1. Перейти в выбранную для сборки папку:
|
|
|
|
<code>mkdir my_gis_build && cd my_gis_build</code>
|
|
|
|
2. Настроить cmake:
|
|
|
|
<code>cmake --toolchain=$KPDA_HOST/mk/cmake/toolchain-nto-armle-v7.cmake *path-from-my_gis_build-folder*/kpda-gis</code>
|
|
|
|
3. Собрать проект:
|
|
|
|
<code>cmake --build . -jn</code>, где n - количество потоков.
|
|
|
|
4. Установить в выбранную папку:
|
|
|
|
<code>cmake --install . --prefix my_gis_install_dir</code>
|
|
|
|
*Примечание: при развертывании на целевое устройство *`my_gis_install_dir`* должно быть присвоено значение *`/opt/gis`*.*
|
|
|
|
## Запуск
|
|
|
|
**Пример запуска приложения gis-monitor**
|
|
|
|
1. Установить необходимые переменные окружения
|
|
|
|
<code>export PATH=/opt/gis/bin:/opt/gis/sbin:$PATH</code>
|
|
<code>export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/gis/lib</code>
|
|
|
|
2. Дополнительные настройки
|
|
<table>
|
|
<tr>
|
|
<td>Изменение языка</td>
|
|
<td><code>export ABLANG=ru_RU</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Уровень отладочного вывода (Error - 1, Warning - 2, Info - 3)</td>
|
|
<td><code>export GIS_DEBUG_LEVEL=3</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Установка размера кэша в байтах</td>
|
|
<td><code>export GIS_CORE_DATABUFFER_SIZE_LIMIT=960000000</code></td>
|
|
</tr>
|
|
</table>
|
|
|
|
3. Добавить файлы цифровой картографической информации в директорию, соответствующую исходному формату ЦКИ, в <a href="http://gis.help.kpda.ru/help/topic/ru.kpda.doc.gis/html/dev_guide/articles/gis-environment.html?resultof=%22%47%49%53%5f%43%4f%52%45%5f%4d%41%50%5f%43%41%43%48%45%22%20">$GIS_CORE_MAP_CACHE</a> (по умолчанию /opt/gis/data/maps/cache).
|
|
|
|
4. Запуск ядра и приложения
|
|
|
|
При запуске ядра c опцией `-d` передается название драйвера требуемого формата. Подробнее об имеющихся драйверах можно прочитать [тут](http://gis.help.kpda.ru/help/topic/ru.kpda.doc.gis/html/utilities/reference-book/gis-core.html?cp=0_2_1_0_0).
|
|
|
|
Пример запуска с драйвером для формата SXF:
|
|
|
|
<code>gis-core -dsxf-local,sync=hard</code> [справка](http://gis.help.kpda.ru/help/topic/ru.kpda.doc.gis/html/utilities/reference-book/gis-core.html?cp=0_2_1_0_0)
|
|
|
|
Запуск демонстрационного приложения gis-monitor:
|
|
|
|
<code>gis-monitor -x50 -y50</code> [справка](http://gis.help.kpda.ru/help/topic/ru.kpda.doc.gis/html/utilities/reference-book/gis-monitor.html?cp=0_2_0_0_0)
|