Створення карт для MAPS.ME
Додано: 14 лютого 2020, 13:26
Створення карт для MAPS.ME
Всі дії здійснюються від звичайного користувача під ОС Linux / Unix.
Спочатку треба завантажити і зібрати необхідний інструментарій. Для цього повинні бути встановлені:
Пункти 1.x. виконуються один раз на новій системі або при бажанні оновити інструментарій.
1.1. Створюємо каталог, де буде все що потрібно, щоб не забивати домашню директорію
1.2. Клонуємо репозиторій. Він займе ~ 4 ГБ місця.
У старих версіях git немає параметрів -j і --shallow-submodules, так що їх можна прибрати, якщо не клонується.
1.3. Версія складального інструментарію повинна строго збігатися з версією програми, під яку збираємо карти. Наприклад, якщо програма версії 9.5.2, то треба перейти в гілку release-95
1.4. Збираємо необхідні бінарники. Залежно від потужності CPU процес може затягнутися.
1.5. Довстановлюємо необхідні модулі python і копіюємо шаблон налаштувань збірки карт.
1.6. Оновимо шляхи, щоб усе лежало в одному каталозі mapsme
Каталог в якому буде відбуватися збірка карт і лежати підсумкові файли.
Якщо хочете прискорити збірання або не бажаєте вбивати ваш SSD, рекомендую створити ramdisk і вказати його для maps_build.
Наприклад: /mnt/ramdisk/maps_build замість ~/mapsme/maps_build
Буде потрібно додатково 4-12ГБ в ОЗУ.
На цьому первинна настройка завершена. На другому етапі збираємо самі карти. Не забувайте, що при оновленні основної програми MapsMe треба перейти на відповідне гілку і перезібрати інструментарій (пп. 1.3.-1.4.).
2. Переходимо в потрібний каталог, якщо ми ще не там
2.1. Налаштовуємо шаблон на потрібний регіон. Для простоти візьмемо карту України з Кримом. Буде потрібно в файлі var/etc /map_generator.ini замінити рядки:
на
Це можна зробити в вашому улюбленому текстовому редакторі, але я приведу команди, використовувані в консолі або скрипті.
https://download.geofabrik.de/europe/ukraine.html
2.2. Тепер генеруємо файл карти. Збірка одного регіону на Intel Core i7-4770 3900МГц займає близько години. І завантаження pbf файлу теж займе час і місце, він ~ 550МБ.
Назви регіонів можна подивитися в ~/mapsme/omim/data/borders. Також їх можна перераховувати через кому в параметрі --countries.
Готовий файл можна знайти в ~/mapsme/maps_build/<дата і час запуску генератора>
Оригінал https://hide.webhop.me/mapsme/0_readme.txt
Всі дії здійснюються від звичайного користувача під ОС Linux / Unix.
Спочатку треба завантажити і зібрати необхідний інструментарій. Для цього повинні бути встановлені:
- git
- gcc-c++ >= 7.0
- cmake3 >= 3.2
- python3
- pip (pip3)
- qt5-qtbase-devel
- sqlite-devel
Пункти 1.x. виконуються один раз на новій системі або при бажанні оновити інструментарій.
1.1. Створюємо каталог, де буде все що потрібно, щоб не забивати домашню директорію
Код: Виділити все
mkdir mapsme
cd mapsme
Код: Виділити все
git clone --recurse-submodules -j8 https://github.com/mapsme/omim.git
1.3. Версія складального інструментарію повинна строго збігатися з версією програми, під яку збираємо карти. Наприклад, якщо програма версії 9.5.2, то треба перейти в гілку release-95
Код: Виділити все
cd omim
git checkout release-95
Код: Виділити все
echo | ./configure.sh
tools/unix/build_omim.sh -sr generator_tool
Код: Виділити все
cd tools/python/maps_generator
pip3 install --user -r requirements.txt
cp var/etc/map_generator.ini.default var/etc/map_generator.ini
Код: Виділити все
sed -i 's|~/omim-build-release|~/mapsme/omim-build-release|' var/etc/map_generator.ini
sed -i 's|OMIM_PATH: ~/omim|OMIM_PATH: ~/mapsme/omim|' var/etc/map_generator.ini
sed -i 's|DEBUG: 1|DEBUG: 0|' var/etc/map_generator.ini
sed -i 's|~/osmtools|~/mapsme/osmtools|' var/etc/map_generator.ini
Код: Виділити все
sed -i 's|~/maps_build|~/mapsme/maps_build|' var/etc/map_generator.ini
Наприклад: /mnt/ramdisk/maps_build замість ~/mapsme/maps_build
Буде потрібно додатково 4-12ГБ в ОЗУ.
На цьому первинна настройка завершена. На другому етапі збираємо самі карти. Не забувайте, що при оновленні основної програми MapsMe треба перейти на відповідне гілку і перезібрати інструментарій (пп. 1.3.-1.4.).
2. Переходимо в потрібний каталог, якщо ми ще не там
Код: Виділити все
cd ~/mapsme/omim/tools/python/maps_generator
Код: Виділити все
# PLANET_URL:
# PLANET_MD5_URL:
Код: Виділити все
PLANET_URL: https://download.geofabrik.de/europe/ukraine-latest.osm.pbf
PLANET_MD5_URL: https://download.geofabrik.de/europe/ukraine-latest.osm.pbf.md5
Код: Виділити все
sed -i 's|.*PLANET_URL.*|PLANET_URL: https://download.geofabrik.de/europe/ukraine-latest.osm.pbf|' var/etc/map_generator.ini
sed -i 's|.*PLANET_MD5_URL.*|PLANET_MD5_URL: https://download.geofabrik.de/europe/ukraine-latest.osm.pbf.md5|' var/etc/map_generator.ini
2.2. Тепер генеруємо файл карти. Збірка одного регіону на Intel Core i7-4770 3900МГц займає близько години. І завантаження pbf файлу теж займе час і місце, він ~ 550МБ.
Назви регіонів можна подивитися в ~/mapsme/omim/data/borders. Також їх можна перераховувати через кому в параметрі --countries.
Код: Виділити все
cd ..
python3 -m maps_generator --countries="Ukraine_Kyev" --skip="coastline"
Оригінал https://hide.webhop.me/mapsme/0_readme.txt