1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/hjjoe1213123-inav-configurator

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
MAPPROXY.md 8.7 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 24.11.2024 02:24 09333c7

INAV Configurator MapProxy setup

Существует несколько подходов к настройке сервиса MapProxy. Всё, что нужно iNav — это рабочий URL WMS MapProxy и название слоя, который вы хотите использовать для кэширования.

Общие инструкции по установке MapProxy

https://mapproxy.org/docs/latest/install.html Руководство по установке Unix

https://mapproxy.org/docs/latest/install_windows.html Руководство по установке Windows

https://hub.docker.com/r/yagajs/mapproxy/ Образ Docker (непроверенный)

Инструкции по настройке виртуальной машины Linux MapProxy

  1. Используя платформу виртуализации по вашему выбору, установите базовый сервер Ubuntu 14.04 LTS. http://releases.ubuntu.com/14.04/ubuntu-14.04.5-server-i386.iso

  2. Используйте NAT-сеть, чтобы виртуальная машина могла загружать карты при подключении к интернету.

  3. Создайте пользователя mapproxy (это можно сделать во время установки).

  4. Все команды выполняются от имени пользователя mapproxy из домашнего каталога пользователя mapproxy.

  5. Выберите значения по умолчанию для всего остального, если вы не хотите ничего менять.

  6. После установки обновите все пакеты и перезагрузите компьютер.

    sudo apt-get update && sudo apt-get upgrade && sudo reboot
  7. Установите статический IP-адрес, чтобы URL-адрес прокси-сервера iNav не нужно было обновлять.

    # получить IP-адрес dhcp и хост-шлюз
    mapproxy@MapProxy:~$ ip route get 8.8.8.8 | awk '{print $NF; exit}'
    192.168.145.133
    mapproxy@MapProxy:~$ cat /etc/resolv.conf | tail -n 1
    nameserver 192.168.145.2
    mapproxy@MapProxy:~$ route
    Таблица маршрутизации ядра IP
    Назначение     Шлюз         Маска сети         Флаги Метрика Ссылка    Использовать интерфейс
    по умолчанию         192.168.145.2   0.0.0.0         UG    0      0        0 eth0
    192.168.145.0   *               255.255.255.0   U     0      0        0 eth0
    mapproxy@MapProxy:~$ sudo vi /etc/network/interfaces
    # замените существующий раздел eth0 на этот:
    auto eth0
    iface eth0 inet static
        address 192.168.145.20
        netmask 255.255.255.0
        network 192.168.145.0
        broadcast 192.168.145.255
        gateway 192.168.145.2
        dns-nameservers 192.168.145.2
    # перезагрузите компьютер, чтобы применить изменения
    mapproxy@MapProxy:~$ sudo reboot
  8. Установите ssh-сервер, чтобы вы могли подключаться с хоста.

    sudo apt-get -y install openssh-server
  9. Подключитесь к виртуальной машине ssh с помощью mapproxy@192.168.145.20.

  10. Установите python-virtualenv и зависимости.

    sudo apt install python-virtualenv python-imaging python-yaml libproj0 \
       build-essential python-dev libjpeg-dev \
       zlib1g-dev libfreetype6-dev libapache2-mod-wsgi apache2
  11. Обновите подушку и установите MapProxy.

    sudo pip install pillow 
    sudo pip install MapProxy
  12. Инициализируйте сервер MapProxy.

    # проверьте, установлен ли mapproxy
    mapproxy-util --version
    # создайте конфигурацию inav
    mapproxy-util create -t base-config inavmapproxy
    virtualenv --system-site-packages mapproxy
    source mapproxy/bin/activate
  13. Обновите apache wsgi.conf.

    sudo vi /etc/apache2/mods-available/wsgi.conf

    чтобы он выглядел следующим образом:

    WSGIScriptAlias /inavmapproxy /home/mapproxy/inavmapproxy/config.py
    WSGIDaemonProcess mapproxy user=mapproxy group=mapproxy processes=8 threads=25
    WSGIProcessGroup mapproxy
    # WSGIPythonHome должен содержать bin и lib каталог вашего virtualenv
    WSGIPythonHome /home/mapproxy/mapproxy
    WSGIApplicationGroup %{GLOBAL}
    
    <Directory /home/mapproxy/inavmapproxy/>
      Order deny,allow
      Require all granted
    </Directory>
  14. Создайте файл конфигурации wsgi.

    vi inavmapproxy/config.py

    со следующим содержимым:

    from mapproxy.wsgiapp import make_wsgi_app
    application = make_wsgi_app(r'/home/mapproxy/inavmapproxy/mapproxy.yaml')
  15. Включите wsgi и перезапустите apache.

    sudo a2enmod wsgi
    sudo service apache2 restart
  16. Протестируйте свой экземпляр MapProxy с помощью веб-браузера на хосте, вы должны увидеть демонстрационную ссылку. http://192.168.145.20/inavmapproxy/

  17. Откройте iNav. Конфигуратор, подключитесь к контроллеру полёта

  18. В правом верхнем углу нажмите «Параметры приложения» (значок шестерёнки).

  19. Для URL MapProxy используйте: http://192.168.145.20/inavmapproxy/service?

  20. Для слоя MapProxy используйте: osm

  21. Если всё работает, вы должны увидеть карту на вкладках GPS и Mission Planner.

  22. Вы можете изменить конфигурацию сервера, отредактировав:

mapproxy@MapProxy:~$ vi ~/inavmapproxy/mapproxy.yaml

После редактирования конфигурации перезапустите Apache:

mapproxy@MapProxy:~$ sudo /etc/init.d/apache2 restart
  1. Некоторые дополнительные примеры конфигураций, используйте по своему усмотрению (измените слой в inav на слой из конфигурации):
# mundialis openstreetmap wms example
services:
  demo:
  wms:
    md:
      title: MapProxy WMS Proxy
layers:
  - name: osm
    title: mundialis
    sources: [osm_cache]
caches:
  osm_cache:
    grids: [webmercator]
    sources: [osm_wms]
sources:
  osm_wms:
    type: wms
    req:
      url: http://ows.mundialis.de/services/service?
      layers: osm
grids:
    webmercator:
        base: GLOBAL_WEBMERCATOR
# google maps hybrid example, use inav_layer in configurator as layer name
services:
  demo:
  wms:
    md:
      title: MapProxy WMS Proxy
layers:
  - name: inav_layer
    title: Google Maps Hybrid
    sources: [inav_cache]
caches:
  inav_cache:
    grids: [inav_grid]
    sources: [inav]
    cache:
      type: file
      directory_layout: tms
sources:
  inav:
    type: tile
    url: http://mt0.google.com/vt/lyrs=y&hl=en&x=%(x)s&y=%(y)s&z=%(z)s
    grid: inav_grid
grids:
  inav_grid:
    base: GLOBAL_MERCATOR
    origin: ul
  1. Можно использовать любого провайдера карт, совместимого с MapProxy, и как только вы увеличите масштаб региона, в котором будете летать, тайлы карты будут кэшироваться для автономного использования. Это можно проверить, отключив подключение к интернету и открыв демонстрационный URL в браузере. https://wiki.openstreetmap.org/wiki/WMS#OSM_WMS_Servers OpenStreetMap WSM servers https://lpdaac.usgs.gov/data_access/web_map_services_wms # USGS currently has 400+ WMS layers
  • Можно использовать QGIS для просмотра различных провайдеров и выбора карт для слоёв iNav. https://qgis.org/en/site/
  • Существует множество государственных и общедоступных провайдеров WMS, доступных в разных регионах мира.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/hjjoe1213123-inav-configurator.git
git@api.gitlife.ru:oschina-mirror/hjjoe1213123-inav-configurator.git
oschina-mirror
hjjoe1213123-inav-configurator
hjjoe1213123-inav-configurator
translation_zh-CN