Skip to content

Releases: iwpnd/folium-vectorgrid

v0.1.2

10 Mar 11:47
Compare
Choose a tag to compare

v0.1.2 (2024-03-10)

Chore

  • chore(deps): update folium (c0216bf)

Documentation

[0.1.0]

08 Mar 16:46
Compare
Choose a tag to compare

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

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