Для кэширования спутниковых данных необходимо:
- Запустить контейнер:
docker compose --profile mapcache up -d
- Настроить слой спутниковой карты в CToolUI (где <ip> адрес машины, где развернуто ПО РТЛС):
http://<ip>:8181/tiles/satellite/webmercator/{z}/{x}/{y}.png
После этого все тайлы, которые будут подгружаться на клиенте будут кэшироваться на машине с ПО РТЛС.
Чтобы заранее закэшировать определенный участок глобальной карты необходимо:
- Открыть файл:
compose/mapproxy/seed.yaml
- Внутри файла найти блок с coverages и изменить bbox на желаемый участок:
coverages: requiredcoverage: bbox: [55, 72, 69, 73] srs: 'EPSG:4326' - Можно также изменить уровни зума, которые будут закэшированы (каждый добавленный уровень зума будет увеличивать количестов загруженных тайлов примерно в четыре раза):
# Change which zoom levels to cache # Each zoom level doubles number of chached tiles levels: from: 3 to: 13 - Запустить процедуру кэширования можно командой:
docker exec -ti rtls-mapproxy-1 mapproxy-seed -f /mapproxy/mapproxy.yaml -s /mapproxy/seed.yaml --concurrency 8
- Concurrency в команде запуска кэширования рекомендуется ставить в соответствии с количеством ядер/ЦПУ на машины с ПО РТЛС.
Если на машине с ПО РТЛС планируется отключать доступ к сети интернет, рекомендуется изменить настройки, чтобы MapProxy не пытался подгружать незакэшированные тайлы, для этого необходимо:
- Открыть файл:
compose/mapproxy/mapproxy.yaml
- Изменить satellite_cache, убрав из него sources, другими словами поменятьна
caches: satellite_cache: grids: [webmercator] sources: [satellite_source] cache: type: file directory_layout: tccaches: satellite_cache: grids: [webmercator] sources: [] cache: type: file directory_layout: tc
Больше о конфигурации MapProxy можно узнать из докуменатации:
