Skip to main content

Locally serve geospatial raster tiles in the Slippy Map standard.

Project description

tile-diagram

🌐 Local Tile Server for Geospatial Rasters

codecov PyPI conda

Need to visualize a rather large (gigabytes+) raster? This is for you.

A Python package for serving tiles from large raster files in the Slippy Maps standard (i.e., /zoom/x/y.png) for visualization in Jupyter with ipyleaflet or folium.

Launch a demo on MyBinder MyBinder

Documentation: https://localtileserver.banesullivan.com/

Under the hood, this is also a Flask blueprint/application for use as a standalone web app or in your own web deployments needing dynamic tile serving.

🌟 Highlights

  • Launch a tile server for large geospatial images
  • View local or remote* raster files with ipyleaflet or folium in Jupyter
  • View rasters with CesiumJS with the built-in Flask web application
  • Extract regions of interest (ROIs) interactively
  • Use the example datasets to generate Digital Elevation Models

*remote raster files should be pre-tiled Cloud Optimized GeoTiffs

🚀 Usage

Usage details and examples can be found in the documentation: https://localtileserver.banesullivan.com/

The following is a minimal example to visualize a local raster file with ipyleaflet:

from localtileserver import get_leaflet_tile_layer, TileClient
from ipyleaflet import Map

# First, create a tile server from local raster file
client = TileClient('path/to/geo.tif')

# Create ipyleaflet tile layer from that server
t = get_leaflet_tile_layer(client)

m = Map(center=client.center(), zoom=client.default_zoom)
m.add_layer(t)
m

ipyleaflet

ℹ️ Overview

The TileClient class can be used to to launch a tile server in a background thread which will serve raster imagery to a viewer (usually ipyleaflet or folium in Jupyter notebooks).

This tile server can efficiently deliver varying resolutions of your raster imagery to your viewer; it helps to have pre-tiled, Cloud Optimized GeoTIFFs (COGs), but no wories if not as the backing library, large_image, will tile and cache for you when opening the raster.

There is an included, standalone web viewer leveraging CesiumJS and GeoJS. You can use the web viewer to select and extract regions of interest from rasters.

⬇️ Installation

Get started with localtileserver to view rasters in Jupyter or deploy as your own Flask application.

🐍 Installing with conda

Conda makes managing localtileserver's dependencies across platforms quite easy and this is the recommended method to install:

conda install -c conda-forge localtileserver

🎡 Installing with pip

If you prefer pip, then you can install from PyPI: https://pypi-hypernode.com/project/localtileserver/

pip install localtileserver

💭 Feedback

Please share your thoughts and questions on the Discussions board. If you would like to report any bugs or make feature requests, please open an issue.

If filing a bug report, please share a scooby Report:

import localtileserver
print(localtileserver.Report())

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

localtileserver-0.7.2.tar.gz (12.1 MB view details)

Uploaded Source

Built Distribution

localtileserver-0.7.2-py3-none-any.whl (12.1 MB view details)

Uploaded Python 3

File details

Details for the file localtileserver-0.7.2.tar.gz.

File metadata

  • Download URL: localtileserver-0.7.2.tar.gz
  • Upload date:
  • Size: 12.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.18

File hashes

Hashes for localtileserver-0.7.2.tar.gz
Algorithm Hash digest
SHA256 58d372c185e3393008497b8b21d6bc6bdfba052320284c637b65e442c7d698c3
MD5 df2e05f3cd0ab20d7df91c97eb0b4afe
BLAKE2b-256 60cbf2600d9da421f781c6f947f508149a1596b38d6afdf3b95f1988dc1b672d

See more details on using hashes here.

Provenance

File details

Details for the file localtileserver-0.7.2-py3-none-any.whl.

File metadata

File hashes

Hashes for localtileserver-0.7.2-py3-none-any.whl
Algorithm Hash digest
SHA256 031871894c408549c1dffc271a5b691d087909ef39e141ff94b72efb4a7919e2
MD5 bb576f144343fcc57ef7c165c4845ccb
BLAKE2b-256 547106166ade5ee152bb3a834d64aaf9cb49d7bb02454d1e0976b80f806994a6

See more details on using hashes here.

Provenance

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