跳转到主要内容

使用Django从MBTiles文件中提供地图服务

项目描述

django-mbtiles 使用 Django 从 MBTiles 文件中提供地图。它主要依赖于 landez

查看 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;
}

请参阅 example 项目的 buildout 以自动化部署。

作者

makinacom

许可

  • Lesser 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 查看散列)

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面