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 (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 (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.zip
(55.8 kB
view details)
File details
Details for the file django-mbtiles-1.2.zip
.
File metadata
- Download URL: django-mbtiles-1.2.zip
- Upload date:
- Size: 55.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d0d8b408d0c87c1b5a392bcadacd898aa2a91812a0550cd29c0751987335e61 |
|
MD5 | 30cc8a12fa020ef004f272bf285e8f22 |
|
BLAKE2b-256 | 636670b008a44af090d32493f12e088fc4fea72b06b571e1299617d2a03ae400 |