安装

本教程将指导您在UNIX系统上执行maproxy安装过程。对于Windows,请参阅 在Windows上安装 .

本教程是用Debian和Ubuntu创建和测试的,如果您要在其他系统上安装maproxy,可能需要更改一些包名称。

MapProxy是 registered at the Python Package Index (PyPI)如果您有python 2.7.9或更高版本,则可以使用以下命令安装maproxy::

sudo python -m pip MapProxy

这真的很简单 but we recommend to install MapProxy into a virtual Python environment . 一 virtualenv 是一个独立的python安装,您可以在不影响系统安装的情况下安装任意python包。您也不需要安装的根权限。

Read about virtualenv 如果你想知道更多的好处。

创建新的虚拟环境

virtualenv 可作为 python-virtualenv 在大多数Linux系统上。你也可以 install Virtualenv from source .

使用名称创建新环境 mapproxy 呼叫:

virtualenv --system-site-packages mapproxy

现在应该在下面安装了一个python mapproxy/bin/python .

注解

virtualenv将使用您的python系统包(如 python-imagingpython-yaml )只有当virtualenv是用 --system-site-packages 选择权。

您需要在所有命令前面加上前缀 mapproxy/bin 设置你的 PATH 变量以包含bin目录或 activate virtualenv具有:

source mapproxy/bin/activate

这将改变 PATH 为了你 current 会话。

再进行

maproxy是用python编写的,因此您需要一个有效的python安装。maproxy与python 2.7和3.4或更高版本一起工作,而python 2.7和3.4或更高版本应该已经与大多数Linux发行版一起安装。

maproxy需要一些运行所需的第三方库。安装每个依赖项有不同的方法。读 依赖项详细信息 获取所有必需和可选依赖项的列表。

安装

在Debian或Ubuntu系统上,需要安装以下软件包:

sudo apt-get install python-pil python-yaml python-proj

要获取所有可选包,请执行以下操作:

sudo apt-get install libgeos-dev python-lxml libgdal-dev python-shapely

依赖项详细信息

pyproj或libproj

MapProxy将PROJ C库用于所有坐标变换任务。MapProxy可以直接使用C库或通过pyproj Python包。项目的内部API已更新为项目>=5。旧的PROJ 4 API现在已弃用,将从将来的PROJ版本中删除。MapProxy只支持通过pyproj的新API,因此建议使用最新的pyproj版本。

在 1.13 版更改: 通过pyproj支持新的PROJ API。

Pillow

枕头是Python图像库(PIL)的继承者,用于图像处理,它包含在大多数发行版中 python-pilpython-imaging . 请确保您已经安装了枕头,因为Maproxy不再与原始PIL兼容。版本 python-imaging 应大于等于3.1。

您可以从以下来源安装新版本的枕头:

sudo apt-get install build-essential python-dev libjpeg-dev \
  zlib1g-dev libfreetype6-dev
pip install Pillow

YAML

maproxy使用yaml进行配置解析。它可以作为 python-yaml ,但也可以将其作为python包安装 pip install PyYAML .

形状和地理位置 (可选)

你将需要塑造使用 coverage feature 几乎没有意义的shapely为geos库提供了python绑定。你需要塑造 (python-shapely 和地理信息系统 (libgeos-dev )您可以使用 pip install Shapely 如果系统未提供shapely的最新版本(>=1.2.0)。

GDAL (可选)

这个 coverage feature 允许您从OGR数据源(shapefiles、postgis等)读取几何图形。此包是可选的,并且仅用于支持OGR数据源(本地支持bbox、wkt和geojson coverage)。OGR是GDAL的一部分 (libgdal-dev

LXML (可选)

lxml 用于更高级的WMS功能信息操作,如XSL转换或多个XML/HTML文档的串联。它可以作为 python-lxml .

安装maproxy

您的虚拟环境应该包含 pip 安装python包的工具。

要安装,您需要致电:

pip install MapProxy

指定mapproxy的发布版本。例如。::

pip install MapProxy==1.10.0

或者获取最新的1.10.0版本:

pip install "MapProxy>=1.10.0,<=1.10.99"

要检查是否成功安装了maproxy,可以调用 mapproxy-util 命令。::

mapproxy-util --version

注解

pip 将从下载包 Python Package Index 因此需要完全的互联网接入。你需要设置 https_proxy 环境变量,前提是您只能通过HTTP代理访问Internet。见 通过HTTP代理访问源 更多信息。

创建配置

要为mapproxy调用创建一组新的配置文件,请执行以下操作:

mapproxy-util create -t base-config mymapproxy

这将创建一个 mymapproxy 具有最小示例配置的目录 (mapproxy.yamlseed.yaml )以及两个完整的示例配置文件 (full_example.yamlfull_seed_example.yaml

参考 configuration documentation 更多信息。使用默认配置,缓存数据将放置在 cache_data 子目录。

启动测试服务器

启动测试服务器:

cd mymapproxy
mapproxy-util serve-develop mapproxy.yaml

已经配置了一个测试层,用于从 Omniscale OpenStreetMap WMS . 请随意使用此服务进行测试。

maproxy附带一个演示服务,列出所有配置的WMS和TMS层。您可以在http://localhost:8080/demo上访问该服务/

升级

您可以使用PIP和版本号或 --upgrade 选择权。使用 --no-deps 避免升级依赖项的选项。

要升级到版本1.x.y::

pip install 'MapProxy==1.x.y'

要升级到最新版本:

pip install --upgrade --no-deps MapProxy

要升级到当前的开发版本:

pip install --upgrade --no-deps https://github.com/mapproxy/mapproxy/tarball/master

变化

MapProxy的新版本与旧的配置文件向后兼容。如果在下一个版本中行为将发生更改,MapProxy将在启动时发出警告。建议您在单个发布步骤中进行升级(例如1.9.0到1.10.0到1.11.0),并检查 mapproxy-util serve-develop 任何警告。您还应该参考每个版本的变更日志,看看是否有什么需要注意的地方。

如果您从0.8升级,请阅读 old migration documentation .