Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

1. Создать папку rtls/srv/geoserver-data/custom-map.

2. Скопировать файлы custom_map.png и custom_map.pgw в эту папку.

3. Открыть https://srv.rtls/geoserver/web где srv.rtls - адрес сервера.

4. Залогинится (по умолчанию admin/geoserver).

5. Открыть Stores и выбрать Add new store.

6. В открывшемся окне выбрать WorldImage.

7. В качестве Data source name указать custom_map, в Connection Parameters нажать на Browse и выбрать загруженный файл png/jpg, затем нажать Save.

8. В открывшемся окне нажать Publish.

9. В открывшемся окне в блоке Coordinate Reference System нажать кнопку Find и найти там 4326.

10. В этом же блоке поменять SRS handling на Force declared.

11. Нажать Save.

Создание API ключа

1. Открыть CToolUI, открыть Системная конфигурация, внутри API ключи, и нажать зеленую кнопку "+".

2. В качестве названия можно ввести любое, оно используется только для того, чтобы идентифицировать ключ в таблице (чтобы ее можно было бы удалить).

3. Скопировать ключ в буфер обмена. После закрытия попапа содержимое ключа будет нельзя посомтреть.

Настройки MapProxy

1. Открыть rts/mapproxy/mapproxy.yaml.

2. В блок sources добавить следующее:

Code Block
languageyaml
  custom_map:
    type: wms
    req:
      url: http://srv.rtls:8080/geoserver/wms
      layers: custom_map
      transparent: true
    supported_srs: ['EPSG:4326']
    http:
      headers:
        Authorization: Bearer APIKEY

В Authorization надо заменить APIKEY на ключ полученный на предыдущем шаге.

Например строчка будет выглядеть так:

Code Block
languagetext
        Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI4aUNkOVp6VGc0TWlYR3BPa19uM182WFJTTUcyUUhaUGpybnJ1QjY0a3gwIn0.eyJleHAiOjIwNzA0NTI1NjQsImlhdCI6MTc1NTA5MjU2NCwianRpIjoiYzQ2ZjBmZDYtMDkyMS00ZDkyLTg1N2EtOTJiNjNjNDZjNGE5IiwiaXNzIjoiaHR0cDovL2tleWNsb2FrLnJ0bHM6ODA4MC9yZWFsbXMvcnRscy1hcGkiLCJzdWIiOiIzNjdmMGYzYi03ZDA4LTQ4ZjQtOWE4Ni01ZTNkMGNkYWZiNzMiLCJ0eXAiOiJCZWFyZXIiLCJhenAiOiJydGxzL01hcHByb3h5IiwiYWNyIjoiMSIsInJlYWxtX2FjY2VzcyI6eyJyb2xlcyI6WyJkZWZhdWx0LXJvbGVzLXJ0bHMtYXBpIiwiYXBpIiwicnRsc19lbmdpbmVlciIsInJ0bHNfYmFfYWRtaW4iXX0sInNjb3BlIjoiZW1haWwgcnRsc19yb2xlcyBwcm9maWxlIiwiY2xpZW50SG9zdCI6IjE3Mi4yMy4wLjYiLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsImNsaWVudElkIjoicnRscy9NYXBwcm94eSIsInJvbGVzIjpbImRlZmF1bHQtcm9sZXMtcnRscy1hcGkiLCJhcGkiLCJydGxzX2VuZ2luZWVyIiwicnRsc19iYV9hZG1pbiJdLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJzZXJ2aWNlLWFjY291bnQtcnRscy9tYXBwcm94eSIsImNsaWVudEFkZHJlc3MiOiIxNzIuMjMuMC42In0.WNF8W2f_Q-uuoLLD7k29m_YfJYf1XAlWUTHEVHGMgSshMuRbw8MZHfzr5F4owTzwpzq0-tl2evoSpxNuRfVdGkW_sfKFSy9w6uY613exHEKelC0V8N-0T1b-yI3l0A-Bb8bfPoRfltORLGjxXQ8J0nSAgsEO5M7eQLyscRDaJ3hdhW1esYCGqhgd6MSkLvqaf2M1rCHBzUA1tWL6kKQZYDEeAMtrgR5pzgCuxRO7VJyYKjZmkS9mPA1iBmJc99YkuFJaB4sJnOvFz76bwyRL5G6KIxKwtbtMrZ7AVqPzU04oRwFeBbO4lGS7wSXpr29GgZeQFGHyy3_fxHrpVXkZLw

3. Поменять satellite_cache, добавив в sources новый custom_map.

Также нужно добавить meta_size: [1, 1] и meta_buffer: 0, без этого MapProxy не сможет совмещать данные из двух разных источников.

Результат должен выглядеть вот так

Code Block
languageyaml
caches:
  satellite_cache:
    grids: [webmercator]
    sources: [satellite_source, custom_map]
    meta_size: [1, 1]
    meta_buffer: 0
    cache:
      type: file
      directory_layout: tc

4. Сохранить файл.

5. Старый кэш придется удалить и сгенерировать заново. Для удаления кэша можно использовать:

Code Block
languageshell
rm -rf rtls/mapproxy/cache_data/

6. Перезапустить контейнер, после чего локальная карта должна отображаться поверх спутниковых данных.

Image Added