A CKAN extension with a map view for versioned-datastore backed resources.
Project description
ckanext-versioned-tiledmap
A CKAN extension with a map view for versioned-datastore backed resources.
Overview
A CKAN plugin with a map view for versioned-datastore backed resources allowing for map visualizations of large resources with millions of data points.
This repository is a fork* of ckanext-map.
*you can't fork repositories within the same organisation, so this repository is a duplicate of ckanext-map.
Installation
- This extension depends on these projects, which must be installed first:
Path variables used below:
$INSTALL_FOLDER
(i.e. where CKAN is installed), e.g./usr/lib/ckan/default
$CONFIG_FILE
, e.g./etc/ckan/default/development.ini
- Clone the repository into the
src
folder:
cd $INSTALL_FOLDER/src
git clone https://github.com/NaturalHistoryMuseum/ckanext-versioned-tiledmap.git
- Activate the virtual env:
. $INSTALL_FOLDER/bin/activate
- Install the requirements from requirements.txt:
cd $INSTALL_FOLDER/src/ckanext-versioned-tiledmap
pip install -r requirements.txt
- Run setup.py:
cd $INSTALL_FOLDER/src/ckanext-versioned-tiledmap
python setup.py develop
- Add 'versioned_tiledmap' to the list of plugins in your
$CONFIG_FILE
:
ckan.plugins = ... versioned_tiledmap
- Add latitude and longitude values for the resources you want to use this view for.
Configuration
These are the options that can be specified in your .ini config file.
Name | Description | Default |
---|---|---|
versioned_tilemap.tile_layer.url |
The URL to use for the base world tiles | https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png |
versioned_tilemap.tile_layer.opacity |
The opacity for the tile layer | 0.8 |
versioned_tilemap.zoom_bounds.min |
Minimum zoom level for initial display of the resource's data | 3 |
versioned_tilemap.zoom_bounds.max |
Maximum zoom level for initial display of the resource's data | 18 |
versioned_tilemap.style.plot.point_radius |
The integer radius of the rendered points (including the border) | 4 |
versioned_tilemap.style.plot.point_colour |
The hex value to render the points in | #ee0000 |
versioned_tilemap.style.plot.border_width |
The integer border width of the rendered points | 1 |
versioned_tilemap.style.plot.border_colour |
The hex value to render the borders of the points in | #ffffff |
versioned_tilemap.style.plot.grid_resolution |
The integer size of the cells in the grid that each tile is split into for the UTFGrid. The default of 4 produces a 64x64 grid within each tile |
4 |
versioned_tilemap.style.gridded.cold_colour |
The hex value to be used to render the points with the lowest counts | #f4f11a |
versioned_tilemap.style.gridded.hot_colour |
The hex value to be used to render the points with the highest counts | #f02323 |
versioned_tilemap.style.gridded.range_size |
This many colours will be used to render the points dependant on their counts | 12 |
versioned_tilemap.style.gridded.resize_factor |
A resize value to use when smoothing the tile. This value will be used to scale the tile and then down (with anti-aliasing) to produce a smoother output. Increasing this value will negatively impact performance | 4 |
versioned_tilemap.style.gridded.grid_resolution |
The integer size of the cells in the grid that each tile is split into. The default of 8 produces a 32x32 grid within each tile and therefore matches the default grid.json setting too |
8 |
versioned_tilemap.style.heatmap.point_radius |
The integer radius of the rendered points (including the border) | 8 |
versioned_tilemap.style.heatmap.cold_colour |
The hex value to be used to render the points with the lowest counts | #0000ee |
versioned_tilemap.style.heatmap.hot_colour |
The hex value to be used to render the points with the highest counts | #ee0000 |
versioned_tilemap.style.heatmap.intensity |
The decimal intensity (between 0 and 1) to render the tile with | 0.5 |
versioned_tilemap.info_template |
The name of the template to use when a point is clicked | point_detail |
versioned_tilemap.quick_info_template |
The name of the template to use when a point is hovered over | point_detail_hover |
Usage
After enabling this extension in the list of plugins, the Map view should become available for resources with latitude and longitude values.
Testing
There is a Docker compose configuration available in this repository to make it easier to run tests.
To run the tests against ckan 2.9.x on Python3:
- Build the required images
docker-compose build
- Then run the tests. The root of the repository is mounted into the ckan container as a volume by the Docker compose configuration, so you should only need to rebuild the ckan image if you change the extension's dependencies.
docker-compose run ckan
The ckan image uses the Dockerfile in the docker/
folder.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for ckanext-versioned-tiledmap-2.1.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 12e669a48a5da177324405b18ece3fda16294944e3fd519fb824d35ca7296a1c |
|
MD5 | e312a5ab1e8f5bdb8fee7c829be8630b |
|
BLAKE2b-256 | df8f3f99a0c8113810a623e9819e3ddfc2eb8df3d2f4b854a75af166b7ec0a9a |
Hashes for ckanext_versioned_tiledmap-2.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a13b0bdfa97e8e331131c6df232f32440273b44cc11b299c2a5f135c05dfec3 |
|
MD5 | dc3a9aea51bae61239ed34e568ac8adf |
|
BLAKE2b-256 | ba88807d9c32d306a511f976fce39aa3d1d4ca88b16044035e0f5f131cf841ad |