Skip to main content

VectorGrid plugin for folium

Project description


Folium-VectorGrid

VectorGrid.protobuf plugin for Folium
Report Bug · Request Feature

Table of Contents

  1. About The Project
  2. Getting Started
  3. Usage
  4. License
  5. Contact

About The Project

Now part of folium plugins as of v0.13.0.

This library fills a hole in foliums plugin eco-system. Wrapping Leaflet.VectorGrid into a folium plugin, users can now add vector tile layers (e.g. Mapbox, OpenMapTiles) to their folium maps.

Built With

Getting Started

Prerequisite

Install Poetry.

Installation

as dependency

poetry add git+https://github.com/iwpnd/folium-vectorgrid.git
pip install folium-vectorgrid

local development

  1. Clone and install
    git clone https://github.com/iwpnd/folium-vectorgrid.git
    poetry install
    
  2. Test it!
    poe test  # or poetry run pytest .
    

Usage

from folium_vectorgrid import VectorGridProtobuf
import folium

url = "https://free-{s}.tilehosting.com/data/v3/{z}/{x}/{y}.pbf?token={token}"

m = folium.Map()
options = {
    "subdomain": "my_subdomain",
    "token": "my_token",
    "vectorTileLayerStyles": {
        "my_layer":{
            "fill": True,
            "weight": 1,
            "fillColor": 'green',
            "color": 'black',
            "fillOpacity":0.6,
            "opacity":0.6
        },
    }
}

vc = VectorGridProtobuf(url, "folium_layer_name", options)
m.add_child(vc)
m

Or with conditional styling

import folium
from folium_vectorgrid import VectorGridProtobuf

m = folium.Map()
url = "https://free-{s}.tilehosting.com/data/v3/{z}/{x}/{y}.pbf?token={token}"

options = '''{
  "subdomain": "tilehosting",
  "token": "af6P2G9dztAt1F75x7KYt0Hx2DJR052G",
  "vectorTileLayerStyles": {
    "my_layer": function(f) {
      if (f.type === 'parks') {
        return {
          "fill": true,
          "weight": 1,
          "fillColor": 'green',
          "color": 'black',
          "fillOpacity":0.6,
          "opacity":0.6
        };
      }

      if (f.type === 'water') {
        return {
          "fill": true,
          "weight": 1,
          "fillColor": 'purple',
          "color": 'black',
          "fillOpacity":0.6,
          "opacity":0.6
        };
      }
    }
  }
}'''

VectorGridProtobuf(url,"layer_name",options).add_to(m)
m

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Benjamin Ramser - @imwithpanda - ahoi@iwpnd.pw
Project Link: https://github.com/iwpnd/folium-vector

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

folium_vectorgrid-0.1.3.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

folium_vectorgrid-0.1.3-py3-none-any.whl (4.9 kB view details)

Uploaded Python 3

File details

Details for the file folium_vectorgrid-0.1.3.tar.gz.

File metadata

  • Download URL: folium_vectorgrid-0.1.3.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for folium_vectorgrid-0.1.3.tar.gz
Algorithm Hash digest
SHA256 f838be4fd7e2d44b20bb8852ecf96eca4f828659544f8aecce9887d013aed928
MD5 c72210ec6f020573a09a792377a84287
BLAKE2b-256 1bc27a59cc97fe0d6428a386f4350104e35e25ea0f9bf89ee9d6465f76ee87be

See more details on using hashes here.

File details

Details for the file folium_vectorgrid-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for folium_vectorgrid-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 0815df4f519bf422b4459b8b8d0c151e2f7c36fa699032dfb36c01891bd18b14
MD5 2ca77c5dbd821629a5a8638cabe200bf
BLAKE2b-256 6bd3d5abfa39de3d232c9b09be4f17f5195023c3d90d08d2d1e0438d35be44b8

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