Skip to main content

Librería geo_tiles y library para tiles y utilidades GIS / Geo tiles and GIS utilities library

Project description

geomtiles

Utilidades para generación y caché de tiles MVT (multi-capa, CoW, filesystem/Redis).

English: Utilities for generating and caching MVT tiles (multi-layer, copy-on-write, filesystem/Redis backends).

Instalación / Installation

pip install geomtiles

Uso rápido / Quickstart

Español:

from geo_tiles import create_session_factory, TileService, LayerConfig

# Crear session factory (asyncpg)
sf = create_session_factory("postgresql+asyncpg://user:pass@host/db")

# Instanciar TileService
svc = TileService(sf)

# Registrar una capa
svc.register_layer(LayerConfig(
	name="buildings",
	schema="public",
	table="buildings_view",
	geom_column="geom",
	minzoom=10,
	maxzoom=20,
))

# Obtener un tile MVT (ejemplo, en contexto async)
# tile_bytes = await svc.get_mvt_tile(TileRequest(z=14, x=8345, y=6000, layers=["public.buildings.geom"]))

English:

from geo_tiles import create_session_factory, TileService, LayerConfig

# Create session factory (asyncpg)
sf = create_session_factory("postgresql+asyncpg://user:pass@host/db")

# Instantiate TileService
svc = TileService(sf)

# Register a layer
svc.register_layer(LayerConfig(
	name="buildings",
	schema="public",
	table="buildings_view",
	geom_column="geom",
	minzoom=10,
	maxzoom=20,
))

# Get an MVT tile (example, in async context)
# tile_bytes = await svc.get_mvt_tile(TileRequest(z=14, x=8345, y=6000, layers=['public.buildings.geom']))

Casos de uso / Use cases

  • Servir tiles XYZ MVT a partir de vistas PostGIS: use TileService.get_mvt_tile() con capas registradas.
  • Tiles multilayer (composición de varias capas) y caché en disco: configure FilesystemTileCache y páselo como tile_cache a TileService.
  • Consultas WFS-like (GeoJSON): use FeatureService y FeatureRequest para filtrar por bbox o polygon_wkt.

English:

  • Serve XYZ MVT tiles from PostGIS views: use TileService.get_mvt_tile() with registered layers.
  • Multilayer tiles (compose several layers) and disk cache: configure FilesystemTileCache and pass it as tile_cache to TileService.
  • WFS-like GeoJSON queries: use FeatureService and FeatureRequest to filter by bbox or polygon_wkt.

Ejemplos / Examples

Hay ejemplos ejecutables en la carpeta examples/ con instrucciones y scripts:

  • Ver examples/README.md para ejemplos completos bilingües (TileService, FeatureService, Cache).

Ejemplo: usar caché en disco sin expiración / Example: disk cache with no expiration

from geo_tiles.utils.tile_cache import FilesystemTileCache

# ttl=0 → no expira en disco
cache = FilesystemTileCache(cache_dir="/var/cache/geomtiles", ttl=0)
svc = TileService(sf, tile_cache=cache)

Más documentación / More documentation

Consulta los docstrings en los módulos geo_tiles.* para detalles de API, tipos y ejemplos adicionales.

English:

See the geo_tiles.* module docstrings for API details, types and more examples.

Licencia / License

Este proyecto se publica bajo la licencia MIT — ver el archivo LICENSE.

English:

This project is released under the MIT license — see the LICENSE file.

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

geomtiles-0.1.2.tar.gz (30.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

geomtiles-0.1.2-py3-none-any.whl (37.8 kB view details)

Uploaded Python 3

File details

Details for the file geomtiles-0.1.2.tar.gz.

File metadata

  • Download URL: geomtiles-0.1.2.tar.gz
  • Upload date:
  • Size: 30.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for geomtiles-0.1.2.tar.gz
Algorithm Hash digest
SHA256 a48a96ff24751117d36e23a6300e929b2a9ec42d9a6d3769cbb502192357486a
MD5 151cca24fe59ab4a1dd425de866d2f5b
BLAKE2b-256 61b4f16088bbd6502777cf45ad9182e9fc2fe2cb72b424ed2fbe8fa69cc821c2

See more details on using hashes here.

File details

Details for the file geomtiles-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: geomtiles-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 37.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for geomtiles-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2bbb8ade3cfd60faa511ab5697dd5447a1cf2900a724e5a72736205c9d507138
MD5 dab56c836f799125be41b141852ba70c
BLAKE2b-256 958fbbf3653896f886cc99d79fce73f2c17244afa47b532ffb1789dbf408a920

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page