Code Monkey home page Code Monkey logo

geotiff-processor's Introduction

Procesamiento de archivos Geotiff

Script en Python para procesar ortomosaicos/geotifs para subirlos a geoservers como capa raster, y a la nube para ser descargados.

El script crea los siguientes archivos optimizados:

  • para subir al geoserver
    • .tif en calidad intermedia (con overviews/render piramidal en diferentes escalas), EPSG:3857
    • .geojson con el contorno de la imagen para subir al wms, con los campos gsd, srs, registroid y date (si existe)
  • para subir a la nube:
    • .tif en calidad baja para usar como preview (w:650px), EPSG original
    • .tif en calidad alta, ideal para importar desde QGis, EPSG original
    • .tif en calidad media, ideal para usar en AutoCAD o Civil 3D, EPSG original
    • .tfw con la información geoespacial (para usar en AutoCAD, por ejemplo)

Instalación

  • Descargar e instalar Python
  • Testear en console python --version y pip --version para corroborar que esté todo andando.
  • Descargar GDAL, seleccionando la versión más nueva de GDAL, y la adecuada según la versión de Python instalado y el procesador. Si se está usando Python 3.7, por ejemplo, descargar y luego instalar usando pip install GDAL-3.3.1-cp37-cp37m-win_amd64.whl (siempre ajustando según la versión descargada).
  • Descargar Rasterio, seleccionando versión análoga al GDAL, e instalar del mismo modo.
  • Para poder usar el paquete instalado desde la consola, configurar variables de entorno (poniendo la ruta completa según donde esté instalado el paquete y la versión de python):
    • GDAL_DATA: '...\Python\Python37\Lib\site-packages\osgeo\data\gdal'
    • PROJ_LIB: '...\Python\Python37\Lib\site-packages\osgeo\data\proj'
    • Agregar a la variable Path la ruta '...\Python\Python37\Lib\site-packages\osgeo'
    • Chequear en consola gdalinfo --version.
  • Instalar la librería Numpy mediante el comando pip install numpy.
  • Instalar la librería PIL mediante el comando pip install pillow.

Uso

  • Colocar los ortomosaicos .tif/.tiff en máxima resolución disponible en la carpeta input. Si el ortomosaico a procesar está en formato tiles, crear una carpeta contenedora con todas las imágenes correspondientes.
  • A los ortomosaicos completos (o la carpeta contenedora en el caso de los tiles) ponerles como nombre el número de registro audiovisual al que pertenecen (este dato será incorporado como metadata en los archivos procesados). NOTA: en caso de que un registro tenga más de un mapeo, agregarle al final de cada nombre de archivo un guión y el número; -1,-2, etc.
  • Si se desea procesar un archivo geotiff MDE (Modelo Digital de Elevación), ingresar a continuación del número de registro audiovisual el sufijo _mde, quedando una estructura análoga a 12345678_mde.tif.
  • En caso de volver a procesar un ortomosaico existente, y querer preservar el mismo MapId, debe ingresar como nombre del archivo el obtenido del procesamiento original (y en caso de ser un mde, agregar el sufijo _mde al final), quedando similar a 12345678_MapId-123445_mde.tif.
  • Ejecutar python process.py para iniciar la conversión. Los archivos procesados serán creados en la carpeta output.

Configuración

  • De ser necesario modificar archivo params.py según formatos de exportación, metadata y carpetas.

TODO

  • Subir automáticamente los archivos storage a la red
  • Escribir directamente en base de datos lo que se guarda en la carpeta database
  • Dividir archivo process.py en diferentes módulos

geotiff-processor's People

Contributors

gastonzalba avatar jeremiasmartin avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

jeremiasmartin

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.