Skip to main content

使用 Django 从 MBTiles 文件提供地图

项目描述

django-mbtiles使用 Django 提供来自 MBTiles 文件的地图。它主要依靠landez

Checkout LiveMbtiles是一个利用 django-mbtiles 的简单地图目录项目。

安装

最后一个稳定版本:

pip install django-mbtiles

最后一个开发版本:

pip install -e git+https://github.com/makinacorpus/django-mbtiles.git#egg=django-mbtiles

用法

  • mbtilesmap添加到您的INSTALLED_APPS

  • 确保您的上下文处理器中有“django.core.context_processors.static”

  • 将 mbtilesmap url 包含到您的项目中

urlpatterns = patterns('',
    ...
    ...
    url(r'^', include('mbtilesmap.urls', namespace='mb', app_name='mbtilesmap')),
)
  • 添加 HTML 标头并调用模板标签

{% load mbtilesmap_tags %}
...
{% block head %}
{% mbtilesmap_head %}
{{ block.super }}
{% endblock head %}

...
...
{% mbtilesmap filename %}

MBTiles 文件可以从带有MBTILES_ROOT设置的子文件夹中加载。

{% mbtilesmap filename catalog="subfolder" %}

例子

您可以在源代码树的example/文件夹中找到一个工作演示项目(MBTiles 映射浏览器livembtiles)(请参阅专用的README.rst文件)。

使用 nginx 缓存

  • http部分声明一个缓存区域:

http {
    ...
    proxy_cache_path  /var/cache/nginx levels=1:2 keys_zone=master:10m inactive=7d max_size=1g;
    proxy_temp_path /var/tmp/nginx;
}

缓存名称为master,索引为10m,持续7d,最大大小为1g

  • 从缓存中为特定位置提供服务:

location @proxy {
    ...
    proxy_cache             master;
    proxy_cache_key         $$scheme$$host$$uri$$is_args$$args;
    proxy_cache_valid       200  7d;
    proxy_cache_use_stale   error timeout invalid_header;
}

请参阅示例项目的构建以进行部署自动化。

作者

牧康

执照

  • 较小的 GNU 公共许可证

变更日志

1.3.0 (2013-09-18)

  • 安全检查根文件夹是否为空,没有子文件夹

  • 在 TileJSON 中添加网格 url

1.2.1 (2013-09-16)

  • 安装程序是 zip 安全的,已修复。

1.2 (2013-09-13)

  • 改变行为,在 MBTILES_ROOT 中寻找子文件夹而不是多个路径

1.1 (2013-09-11)

  • 添加从多个文件夹加载 MBTiles 文件的功能

1.0

  • 初始版本

下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

django-mbtiles-1.3.zip (56.6 kB 查看哈希)

已上传 source