使用django提供来自mbtiles文件的地图
django-mbtiles的Python项目详细描述
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
- 确保您的context processors中有'django.core.context_processors.static'。
- 在项目中包含mbtilemap 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" %}
示例
您可以找到一个正在工作的演示项目(mbtiles maps browserlivembtiles) 在源树的example/文件夹中(请参阅专用的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; }
缓存名为^ {tt8}$,索引将是^ {tT9}$,将持续^ {t10}}$,并且具有最大大小^ {tT11}$。
- 从缓存为特定位置服务:
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项目的构建。
许可证
- Lesser GNU Public License
更改日志
1.3.0(2013-09-18)
- 安全检查根文件夹是否为空,没有子文件夹
- 在tilejson中添加网格url
1.2.1(2013-09-16)
- 安装程序是安全的,已修复。
1.2(2013-09-13)
- 行为已更改,在mbtiles根目录中查找子文件夹而不是多个路径
1.1(2013-09-11)
- 添加从多个文件夹加载mbtiles文件的功能
1.0
- 初始版本