Suite de herramientas para procesamiento y visualización de archivos LandXML.
- Generador de Imagen (
landxml2image): Convierte superficies LandXML en imágenes rasterizadas georreferenciadas. - Comparador (
landxml_diff): Compara dos superficies y genera mapas de diferencia de cota.
- Generación de Imagen Personalizable:
- Clasificación por Elevación: Genera mapas de colores basados en rangos de altura definidos por el usuario.
- Sombreado (Hillshade): Aplica efectos de relieve personalizables para resaltar la topografía del terreno.
- Control de Intensidad: Ajuste de blanqueo (whitening) variable para suavizar la visualización y mejorar la legibilidad.
- Georreferenciación Completa:
- Salida directa en formato GeoTIFF, manteniendo la información espacial precisa.
- Generación automática de archivos World File (
.pgw,.jgw) para formatos de imagen estándar (PNG, JPG), asegurando compatibilidad total con software CAD y GIS. - Integración con AutoCAD: Las imágenes georreferenciadas se pueden situar automáticamente en su posición correcta utilizando la herramienta ImageGeoRef.
- Python 3.9+
- Librerías:
numpy,matplotlib,scipy,lxml,pillow,rasterio
Se recomienda usar Conda para instalar rasterio en Windows.
-
Clonar el repositorio:
git clone https://github.com/pablohevia/landxml_tools.git cd landxml_tools -
Crear un entorno virtual (recomendado):
# Opción A: Conda conda create -n landxml_env python=3.9 rasterio conda activate landxml_env pip install . # Opción B: venv + pip python -m venv venv source venv/bin/activate # En Windows: venv\Scripts\activate pip install .
Ejecuta la aplicación principal que integra todas las herramientas:
python landxml_suite.pyPuedes ejecutar cada herramienta por separado o usar la línea de comandos para automatización:
# Generador de Imagen (GUI)
python -m apps.landxml2image
# Comparador (CLI)
python -m apps.landxml_diff --file1 base.xml --file2 comparacion.xmlEl comportamiento por defecto de las herramientas se controla mediante el archivo config.json en la raíz del proyecto. Puedes modificarlo para ajustar tus preferencias:
{
"visualizador": {
"colormap": "gist_earth",
"whitening": 75,
"hillshade": 50,
"resolution": 0.05
},
"comparador": {
"colormap": "coolwarm_r",
"resolution": 0.05
}
}landxml_tools/
├── config.json # Archivo de configuración
├── landxml_suite.py # Lanzador principal
├── apps/ # Scripts de aplicación
│ ├── landxml2image.py
│ └── landxml_diff.py
├── src/
│ └── landxml_tools/ # Librería compartida
│ ├── config.py # Gestor de configuración
│ ├── gui/ # Interfaz gráfica
│ ├── io/ # Lectura/escritura (LandXML, GeoTIFF)
│ ├── processing/ # Algoritmos (TIN, Raster, Hillshade)
│ └── viz/ # Visualización
└── test/ # Tests
|
|
| Interfaz del Generador | Resultado de la rasterización TIN |
|
|
| GUI del Comparador | Mapa de diferencias de cota entre fases |
Pablo Hevia · Hedra Topografía
📧 pablo@hedrasl.com
Este proyecto está bajo la licencia GPL v3.



