Skip to main content

Datasette plugin that shows a cluster map for any data with latitude/longitude columns

Project description

datasette-cluster-map

PyPI License

A Datasette plugin that detects tables with latitude and longitude columns and then plots them on a map using Leaflet.markercluster.

More about this project: Datasette plugins, and building a clustered map visualization

Demo

datasette-cluster-map-demo.datasettes.com hosts a demo of this plugin running against several different tables.

Cluster map demo

Installation

Run pip install datasette-cluster-map to add this plugin to your Datasette virtual environment. Datasette will automatically load the plugin if it is installed in this way.

If you are deploying using the datasette publish command you can use the --install option:

datasette publish now mydb.db --install=datasette-cluster-map

If any of your tables have a latitude and longitude column, a map will be automatically displayed.

If your columns are called something else you can configure the column names using plugin configuration in a metadata.json file. For example, if all of your columns are called xlat and xlng you can create a metadata.json file like this:

{
    "title": "Regular metadata keys can go here too",
    "plugins": {
        "datasette-cluster-map": {
            "latitude_column": "xlat",
            "longitude_column": "xlng"
        }
    }
}

Then run Datasette like this:

datasette mydata.db -m metadata.json

This will configure the required column names for every database loaded by that Datasette instance.

If you want to customize the column names for just one table in one database, you can do something like this:

{
    "databases": {
        "polar-bears": {
            "tables": {
                "USGS_WC_eartag_deployments_2009-2011": {
                    "plugins": {
                        "datasette-cluster-map": {
                            "latitude_column": "Capture Latitude",
                            "longitude_column": "Capture Longitude"
                        }
                    }
                }
            }
        }
    }
}

You can also use a custom SQL query to rename those columns to latitude and longitude, for example:

select *,
  "Capture Latitude" as latitude,
  "Capture Longitude" as longitude
from [USGS_WC_eartag_deployments_2009-2011]

How I deployed the demo

I deploy this demo using the latest master versions of both datasette and datasette-cluster-map like so:

datasette publish now --branch=master \
    --install=https://github.com/simonw/datasette-cluster-map/archive/master.zip \
    --extra-options "--page_size=500" \
    --name="datasette-cluster-map-demo" \
    polar-bears.db sf-trees.db

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

datasette_cluster_map-0.5-py3-none-any.whl (9.9 kB view hashes)

Uploaded Python 3

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