logo
leafmap
83 vector viz
Initializing search
    GitHub
    GitHub
    • Home
    • Book
    • Installation
    • Get Started
    • Usage
    • Web App
    • Tutorials
    • Contributing
    • FAQ
    • Changelog
    • YouTube Channel
    • Report Issues
      • basemaps module
      • bokehmap module
      • colormaps module
      • common module
      • deck module
      • deckgl module
      • download module
      • examples module
      • foliumap module
      • kepler module
      • maplibregl module
      • leafmap module
      • legends module
      • map_widgets module
      • osm module
      • pc module
      • plot module
      • plotlymap module
      • deck module
      • stac module
      • toolbar module
      • FOSS4G 2021
      • SIGSPATIAL 2021
      • YouthMappers 2021
      • ICRW 2023
      • EarthCube 2023
      • Taiwan 2024
      • HGAC 2024
      • Overview
      • 3d buildings
      • 3d choropleth
      • 3d indoor mapping
      • 3d pmtiles
      • 3d style
      • 3d terrain
      • Add 3d buildings
      • Add a marker
      • Add colorbar
      • Add components
      • Add deckgl layer
      • Add gif
      • Add html
      • Add icon
      • Add image
      • Add image generated
      • Add labels
      • Add legend
      • Add logo
      • Add text
      • Animate a line
      • Animate camera around point
      • Animate images
      • Animate point along line
      • Animate point along route
      • Attribution position
      • Basemaps
      • Center on symbol
      • Change building color
      • Change case of labels
      • Choropleth
      • Cloud optimized geotiff
      • Cluster
      • Color switcher
      • Countries filter
      • Create vector
      • Custom marker
      • Data driven lines
      • Disable scroll zoom
      • Display rich text
      • Drag a marker
      • Draw features
      • Edit vector
      • Fallback image
      • Fields of the world
      • Fit bounds
      • Fill pattern
      • Fly to
      • Fly to options
      • Fullscreen
      • Geojson layer in stack
      • Geojson line
      • Geojson points
      • Geojson polygon
      • Geopandas
      • Globe control
      • Google earth engine
      • Gps trace
      • Heatmap layer
      • Housing prices
      • Interactive false
      • Jump to
      • Language switch
      • Layer control
      • Layer manager
      • Layer styling
      • Line gradient
      • Live geojson
      • Live update feature
      • Local geojson
      • Local raster
      • Locate user
      • Map tiles
      • Mapillary
      • Maptiler styles
      • MGRS
      • Mouse position
      • Multiple geometries
      • Nasa opera
      • Navigation
      • Ocean bathymetry
      • Openfreemap
      • Openstreetmap
      • Overture
      • Pmtiles
      • Restrict bounds
      • Satellite map
      • Search control
      • Set pitch bearing
      • Sidebar
      • Stac
      • To html
      • Variable label placement
      • Variable offset label placement
      • Vector tile
      • Video on a map
      • Visualize population density
      • Wms source
      • Zoom to linestring
      • Usage
      • 01 leafmap intro
      • 02 using basemaps
      • 03 cog stac
      • 04 cog mosaic
      • 05 load raster
      • 06 legend
      • 07 colorbar
      • 08 whitebox
      • 09 csv to points
      • 10 add vector
      • 11 linked maps
      • 12 split map
      • 13 geopandas
      • 14 postgis
      • 15 openstreetmap
      • 16 heremap
      • 17 vector tile layer
      • 18 point layer
      • 19 map to html
      • 20 planet imagery
      • 21 ts inspector
      • 22 time slider
      • 23 colormaps
      • 24 heatmap
      • 25 map title
      • 26 kepler gl
      • 27 basemap gallery
      • 28 publish map
      • 29 pydeck
      • 30 census data
      • 31 search basemaps
      • 32 local tile
      • 33 image overlay
      • 34 add points from xy
      • 35 circle markers
      • 36 add labels
      • 37 planetary computer
      • 38 plotly
      • 39 inspector tool
      • 40 plotly gui
      • 41 raster gui
      • 42 create cog
      • 43 search control
      • 44 attribute table
      • 45 create vector
      • 46 edit vector
      • 47 numpy to cog
      • 48 lidar
      • 49 split control
      • 50 marker cluster
      • 51 clip image
      • 52 netcdf
      • 53 choropleth
      • 54 plot raster
      • 55 lidar
      • 56 download ned
      • 57 national map
      • 58 bokeh
      • 59 create legend
      • 60 add widget
      • 61 vector to gif
      • 62 folium colorbar
      • 63 arcgis
      • 64 stac search
      • 65 sagemaker
      • 66 gradio
      • 67 maxar open data
      • 68 openaerialmap
      • 69 turkey earthquake
      • 70 zonal stats
      • 71 aws s3
      • 72 timelapse
      • 73 custom stac
      • 74 map tiles to geotiff
      • 75 segment anything
      • 76 image comparison
      • 77 split raster
      • 78 read raster
      • 79 timeseries
      • 80 solar
      • 81 buildings
      • 82 pmtiles
      • 83 vector viz
      • 84 read parquet
      • 85 gedi
      • 86 add markers
      • 87 actinia
      • 88 nasa earth data
      • 89 image array viz
      • 90 pixel inspector
      • 91 raster viz gui
      • 92 maplibre
      • 93 maplibre pmtiles
      • 94 mapbox
      • 95 edit vector
      • 96 batch edit vector
      • 97 overture data
      • 98 watershed
      • 99 wetlands
      • 100 nlcd
      • 101 nasa opera
      • 102 fused
      • 103 raster colormap
      • 104 point style
      • 105 vector time slider

    image image image

    Visualizing large vector datasets with lonboard

    This notebook demonstrates how to visualize large vector datasets with lonboard. Please note that lonboard does not support Visual Studio Code's interactive notebook yet. You will need to run this notebook in Jupyter Notebook or JupyterLab.

    Uncomment the following line to install leafmap if needed.

    In [1]:
    Copied!
    # %pip install -U leafmap lonboard
    
    # %pip install -U leafmap lonboard
    In [2]:
    Copied!
    import leafmap.deckgl as leafmap
    import geopandas as gpd
    import ipywidgets as widgets
    
    import leafmap.deckgl as leafmap import geopandas as gpd import ipywidgets as widgets

    Download sample datasets.

    In [3]:
    Copied!
    url = "https://opengeos.org/data/duckdb/nyc_data.zip"
    leafmap.download_file(url, unzip=True)
    
    url = "https://opengeos.org/data/duckdb/nyc_data.zip" leafmap.download_file(url, unzip=True)
    Downloading...
    From: https://opengeos.org/data/duckdb/nyc_data.zip
    To: /home/runner/work/leafmap/leafmap/docs/notebooks/nyc_data.zip
    
      0%|          | 0.00/8.73M [00:00<?, ?B/s]
    100%|██████████| 8.73M/8.73M [00:00<00:00, 244MB/s]
    
    
    Extracting files...
    
    Out[3]:
    '/home/runner/work/leafmap/leafmap/docs/notebooks/nyc_data.zip'

    Create an interactive map.

    In [4]:
    Copied!
    m = leafmap.Map(center=[20, 0], zoom=1.2)
    m
    
    m = leafmap.Map(center=[20, 0], zoom=1.2) m

    Add GeoDataFrame.

    In [5]:
    Copied!
    streets = gpd.read_file("nyc_streets.shp")
    m.add_gdf(streets, zoom_to_layer=True, pickable=True, get_width=5)
    
    streets = gpd.read_file("nyc_streets.shp") m.add_gdf(streets, zoom_to_layer=True, pickable=True, get_width=5)

    Add any vector format supported by GeoPandas.

    In [6]:
    Copied!
    m.add_vector("nyc_subway_stations.shp", get_radius=10, get_fill_color=[255, 0, 0, 180])
    
    m.add_vector("nyc_subway_stations.shp", get_radius=10, get_fill_color=[255, 0, 0, 180])

    Change layer properties.

    In [7]:
    Copied!
    layer = m.layers[-1]
    layer.get_fill_color = [0, 0, 255, 255]
    
    layer = m.layers[-1] layer.get_fill_color = [0, 0, 255, 255]

    Interactive widgets.

    In [8]:
    Copied!
    color = widgets.ColorPicker(value="red", description="Color")
    width = widgets.IntSlider(min=1, max=100, value=10, description="Radius")
    hbox = widgets.HBox([color, width])
    
    color = widgets.ColorPicker(value="red", description="Color") width = widgets.IntSlider(min=1, max=100, value=10, description="Radius") hbox = widgets.HBox([color, width])
    In [9]:
    Copied!
    widgets.dlink((color, "value"), (layer, "get_fill_color"))
    widgets.dlink((width, "value"), (layer, "get_radius"))
    
    widgets.dlink((color, "value"), (layer, "get_fill_color")) widgets.dlink((width, "value"), (layer, "get_radius"))
    Out[9]:
    <traitlets.traitlets.directional_link at 0x7f6d3debdbb0>
    In [10]:
    Copied!
    hbox
    
    hbox
    In [11]:
    Copied!
    m
    
    m
    2025-02-23 2021-06-10
    Copyright © 2021 - 2024 Qiusheng Wu
    Made with Material for MkDocs