Serve maps from MBTiles files using Django
Project description
*django-mbtiles* serve maps from MBTiles files using Django.
It mainly relies on `landez <https://github.com/makinacorpus/landez/>`_.
=======
INSTALL
=======
Last stable version:
::
pip install django-mbtiles
Last development version:
::
pip install -e git+https://github.com/makinacorpus/django-mbtiles.git#egg=django-mbtiles
=====
USAGE
=====
* Add ``mbtilesmap`` to your ``INSTALLED_APPS``
* Make sure you have ``'django.core.context_processors.static'`` in your `context processors <https://docs.djangoproject.com/en/dev/howto/static-files/#with-a-context-processor>`_
* Include mbtilesmap urls into your project
::
urlpatterns = patterns('',
...
...
url(r'^', include('mbtilesmap.urls', namespace='mb', app_name='mbtilesmap')),
)
* Add the HTML header and call the template tag
::
{% load mbtilesmap_tags %}
...
{% block head %}
{% mbtilesmap_head %}
{{ block.super }}
{% endblock head %}
...
...
{% mbtilesmap filename %}
MBTiles files can be loaded from subfolders with ``MBTILES_ROOT`` setting.
::
{% mbtilesmap filename catalog="subfolder" %}
Example
=======
You can find a working demo project (MBTiles maps browser *livembtiles*)
in the ``example/`` folder of the source tree (see dedicated ``README.rst`` file).
Cache with nginx
================
* Declare a cache zone in the ``http`` section :
::
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;
}
Cache name will be ``master``, index will be ``10m``, will last ``7d`` and have a maximum size of ``1g``.
* Serve from cache for a specific location :
::
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;
}
See *example* project's buildout for deployment automation.
=======
AUTHORS
=======
* Mathieu Leplatre <mathieu.leplatre@makina-corpus.com>
* `Andreas Trawoeger <https://github.com/atrawog>`_
|makinacom|_
.. |makinacom| image:: http://depot.makina-corpus.org/public/logo.gif
.. _makinacom: http://www.makina-corpus.com
=======
LICENSE
=======
* Lesser GNU Public License
=========
CHANGELOG
=========
1.2.1 (2013-09-16)
------------------
* Setup was zip safe, fixed it.
1.2 (2013-09-13)
----------------
* Changed behaviour, looks for subfolders instead of multiple paths in MBTILES_ROOT
1.1 (2013-09-11)
----------------
* Add ability to load MBTiles files from several folders
1.0
---
* Initial version
It mainly relies on `landez <https://github.com/makinacorpus/landez/>`_.
=======
INSTALL
=======
Last stable version:
::
pip install django-mbtiles
Last development version:
::
pip install -e git+https://github.com/makinacorpus/django-mbtiles.git#egg=django-mbtiles
=====
USAGE
=====
* Add ``mbtilesmap`` to your ``INSTALLED_APPS``
* Make sure you have ``'django.core.context_processors.static'`` in your `context processors <https://docs.djangoproject.com/en/dev/howto/static-files/#with-a-context-processor>`_
* Include mbtilesmap urls into your project
::
urlpatterns = patterns('',
...
...
url(r'^', include('mbtilesmap.urls', namespace='mb', app_name='mbtilesmap')),
)
* Add the HTML header and call the template tag
::
{% load mbtilesmap_tags %}
...
{% block head %}
{% mbtilesmap_head %}
{{ block.super }}
{% endblock head %}
...
...
{% mbtilesmap filename %}
MBTiles files can be loaded from subfolders with ``MBTILES_ROOT`` setting.
::
{% mbtilesmap filename catalog="subfolder" %}
Example
=======
You can find a working demo project (MBTiles maps browser *livembtiles*)
in the ``example/`` folder of the source tree (see dedicated ``README.rst`` file).
Cache with nginx
================
* Declare a cache zone in the ``http`` section :
::
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;
}
Cache name will be ``master``, index will be ``10m``, will last ``7d`` and have a maximum size of ``1g``.
* Serve from cache for a specific location :
::
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;
}
See *example* project's buildout for deployment automation.
=======
AUTHORS
=======
* Mathieu Leplatre <mathieu.leplatre@makina-corpus.com>
* `Andreas Trawoeger <https://github.com/atrawog>`_
|makinacom|_
.. |makinacom| image:: http://depot.makina-corpus.org/public/logo.gif
.. _makinacom: http://www.makina-corpus.com
=======
LICENSE
=======
* Lesser GNU Public License
=========
CHANGELOG
=========
1.2.1 (2013-09-16)
------------------
* Setup was zip safe, fixed it.
1.2 (2013-09-13)
----------------
* Changed behaviour, looks for subfolders instead of multiple paths in MBTILES_ROOT
1.1 (2013-09-11)
----------------
* Add ability to load MBTiles files from several folders
1.0
---
* Initial version
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
django-mbtiles-1.2.1.zip
(56.2 kB
view details)
File details
Details for the file django-mbtiles-1.2.1.zip
.
File metadata
- Download URL: django-mbtiles-1.2.1.zip
- Upload date:
- Size: 56.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8db462dc4207038c8e826207f96dddfa1031d83f8dca2c069fb053300b8fec3b |
|
MD5 | 8a357617b83335983e13e2ecdff140d0 |
|
BLAKE2b-256 | 83845716e8b82d449aa1be55ed6567fa8a15e7c12cc8b72e5d48aceebc903b39 |