Skip to main content

A CKAN extension with a map view for versioned-datastore backed resources.

Project description

ckanext-versioned-tiledmap

Travis Coveralls CKAN Python

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

  1. 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
  1. Clone the repository into the src folder:
cd $INSTALL_FOLDER/src
git clone https://github.com/NaturalHistoryMuseum/ckanext-versioned-tiledmap.git
  1. Activate the virtual env:
. $INSTALL_FOLDER/bin/activate
  1. Install the requirements from requirements.txt:
cd $INSTALL_FOLDER/src/ckanext-versioned-tiledmap
pip install -r requirements.txt
  1. Run setup.py:
cd $INSTALL_FOLDER/src/ckanext-versioned-tiledmap
python setup.py develop
  1. Add 'versioned-tiledmap' to the list of plugins in your $CONFIG_FILE:
ckan.plugins = ... versioned-tiledmap

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 #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 #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 #f4f11a
versioned_tilemap.style.gridded.hot_colour The hex value to be used to render the points with the highest counts #f02323 #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 #0000ee
versioned_tilemap.style.heatmap.hot_colour The hex value to be used to render the points with the highest counts #ee0000 #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

Further Setup

Add latitude and longitude values for the resources you want to use this view for.

Usage

After enabling this extension in the list of plugins, the Map view should become available for resources with latitude and longitude values.

Testing

Test coverage is currently extremely limited.

To run the tests in this extension, there is a Docker compose configuration available in this repository to make it easy.

To run the tests against ckan 2.9.x on Python3:

  1. Build the required images
docker-compose build
  1. 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 which is based on openknowledge/ckan-dev:2.9.

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

ckanext-versioned-tiledmap-2.0.2.tar.gz (731.9 kB view details)

Uploaded Source

Built Distributions

ckanext_versioned_tiledmap-2.0.2-py3.10.egg (737.2 kB view details)

Uploaded Source

ckanext_versioned_tiledmap-2.0.2-py3-none-any.whl (741.2 kB view details)

Uploaded Python 3

File details

Details for the file ckanext-versioned-tiledmap-2.0.2.tar.gz.

File metadata

File hashes

Hashes for ckanext-versioned-tiledmap-2.0.2.tar.gz
Algorithm Hash digest
SHA256 7b5f4c21dba010aa542929bc1311e5f8ef0fbcfb56cb4450e2ce4ccd32b3e6ba
MD5 ab29b08f1ac724b7bc69b358dca987af
BLAKE2b-256 34aeb688a7759d1033151bcba4021ab803eafcb5f7b717fd8e3f92abf3465d04

See more details on using hashes here.

File details

Details for the file ckanext_versioned_tiledmap-2.0.2-py3.10.egg.

File metadata

File hashes

Hashes for ckanext_versioned_tiledmap-2.0.2-py3.10.egg
Algorithm Hash digest
SHA256 8ae650e8c3273b3f0df77ce964e201473c4f973baeb600004ada5aafb45314cf
MD5 f9d2000e6f8feb660ea17bd271d861ed
BLAKE2b-256 dbdcd268468b8a8975432094acbf4f9ec5ca7ec76a80d7211612821121031082

See more details on using hashes here.

File details

Details for the file ckanext_versioned_tiledmap-2.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for ckanext_versioned_tiledmap-2.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3ae1d73abc59814f05e2bce00d54413e3b6f0bf14866243a1653ba4a55cb73f9
MD5 f2e9ed0d14c6341977b371045aeeb4ae
BLAKE2b-256 6135a74f33c1317b88114628378786ae824629b6c0a0caea538e93b082587b34

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page