Skip to main content

Geocodificador asíncrono para Cataluña usando el servicio ICGC

Project description

GeoFinder Logo GeoFinder-ICGC

Geocodificador para Cataluña usando el servicio del ICGC (Institut Cartogràfic i Geològic de Catalunya). 🔄 API dual: Async nativo + wrappers sync para scripts simples.

Python 3.10+ License: GPL-2.0


GeoFinder-ICGC es un geocodificador avanzado para Cataluña diseñado para ser robusto, rápido y fácil de usar.

🚀 Instalación

# Instalación básica
pip install geofinder-icgc

# Con soporte para transformación de coordenadas (recomendado)
pip install geofinder-icgc[pyproj]

# Con soporte para servidor MCP (integración con IA)
pip install geofinder-icgc[mcp]

📖 Inicio Rápido

Uso Síncrono (Scripts sencillos)

from geofinder import GeoFinder

gf = GeoFinder()
results = gf.find_sync("Barcelona")

for r in results:
    print(f"{r.nom} ({r.nomTipus}) - {r.x}, {r.y}")

Uso Asíncrono (Alto rendimiento)

import asyncio
from geofinder import GeoFinder

async def main():
    async with GeoFinder() as gf:
        results = await gf.find("Diagonal 100, Barcelona")
        print(f"Encontrados: {len(results)}")

asyncio.run(main())

🔍 Manual de Funcionalidades

1. Búsqueda General (find / find_sync)

Detecta automáticamente el tipo de búsqueda según la entrada:

  • Topónimos: "Montserrat", "Girona"
  • Direcciones: "Carrer Aragó 50, Barcelona", "Gran Via 123"
  • Coordenadas: "430000 4580000 EPSG:25831", "2.17 41.38 EPSG:4326"
  • Carreteras: "C-32 km 10"
  • Rectángulos: "X1 Y1 X2 Y2"

2. Geocodificación Inversa (find_reverse / find_reverse_sync)

Encuentra lugares o direcciones a partir de coordenadas.

# Soporta EPSG:25831 (por defecto) y EPSG:4326 (GPS)
results = await gf.find_reverse(430000, 4580000)

3. Autocompletado (autocomplete / autocomplete_sync)

Ideal para implementar buscadores en tiempo real.

suggestions = await gf.autocomplete("Barcel")

4. Búsqueda de Proximidad (search_nearby)

Encuentra lugares en un radio determinado alrededor de un punto de referencia.

# Busca todo en un radio de 2km de la Sagrada Família
nearby = await gf.search_nearby("Sagrada Família, Barcelona", radius_km=2.0)

5. Procesamiento por Lotes (find_batch / find_reverse_batch)

Ejecuta múltiples consultas en paralelo optimizando la concurrencia.

queries = ["Barcelona", "Girona", "Lleida", "Tarragona"]
batch_results = await gf.find_batch(queries, max_concurrency=10)

6. Obtención de Respuestas con Metadatos (find_response)

Devuelve un objeto GeoResponse que incluye los resultados y metadatos de rendimiento como el tiempo de ejecución.

⚙️ Configuración

El constructor de GeoFinder permite ajustar el comportamiento de la librería:

Parámetro Tipo Descripción
timeout int Tiempo máximo de espera (defecto: 5s).
cache_size int Capacidad de la caché LRU (defecto: 128).
cache_ttl int Tiempo de vida de la caché en segundos (defecto: 3600).
max_retries int Número de reintentos en caso de fallo (defecto: 3).
verify_ssl bool Verificar certificados SSL (defecto: True).

📚 Documentación


📚 Recursos


⚖️ Licencia

Distribuido bajo la licencia GPL-2.0-or-later. Basado en el trabajo original del ICGC adaptado para uso standalone.


© 2025 ICGC / Adaptado por Goalnefesh

Els petits canvis son poderosos 🤘

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

geofinder_icgc-2.4.0.tar.gz (43.7 kB view details)

Uploaded Source

Built Distribution

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

geofinder_icgc-2.4.0-py3-none-any.whl (44.8 kB view details)

Uploaded Python 3

File details

Details for the file geofinder_icgc-2.4.0.tar.gz.

File metadata

  • Download URL: geofinder_icgc-2.4.0.tar.gz
  • Upload date:
  • Size: 43.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for geofinder_icgc-2.4.0.tar.gz
Algorithm Hash digest
SHA256 3215e61e44bec63f36291baaf19674e8935be6c8b049894546bd86fe777a4f78
MD5 3414504a893824f2bc87c266fec0a9f3
BLAKE2b-256 3e8a1c8710622b8539fac8f5ef08184c88d1e0b6f548ca8b3da8583936a5ebce

See more details on using hashes here.

Provenance

The following attestation bundles were made for geofinder_icgc-2.4.0.tar.gz:

Publisher: publish.yml on jccamel/geofinder-icgc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file geofinder_icgc-2.4.0-py3-none-any.whl.

File metadata

  • Download URL: geofinder_icgc-2.4.0-py3-none-any.whl
  • Upload date:
  • Size: 44.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for geofinder_icgc-2.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4e6688da74b245b9645d125a2c83a8430ce11fd77c59285094eedc9ac3a7fb23
MD5 3cdf68322cc192dd0df8f216b8a2b462
BLAKE2b-256 0fe369d64108ca0e460fb38b88cfbecbeee443e88cdd2f9a99d6d1abc2632201

See more details on using hashes here.

Provenance

The following attestation bundles were made for geofinder_icgc-2.4.0-py3-none-any.whl:

Publisher: publish.yml on jccamel/geofinder-icgc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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