Tareas #81
open
Extraer fotos desde Qgis
100%
Description
Hola Lucas,
Te dejo el proyecto de Qgis de donde podés sacar las fotos (al margen de la web que hice en su momento). Ya lo actualicé respecto del anterior y lo saca de toast (ya no van más los largeobjects)
Primero tienen que instalar un par de módulos de Python en la máquina local donde corren qgis
Abrir:
OSGeo4W Shell
(casi siempre en el menú inicio)
Ejecutar
python -m pip install sqlalchemy
python -m pip install --upgrade pandas
Abril el Proyecto adjunto:
Menú ppal de arriba->View->Identify features
Click sobre algún punto (una foto) con botón derecho
Se despliegan los nombres de las fotos en ese mismo punto
Al ir sobre algún nombre especifico sale en el menú “Display de la foto específica”
Tocar ahí trae la foto. Se la puede grabar, pero tener en cuenta que hay que agregarle la extensión (jpg) y no contiene la metadata en Exif que le agregué en la aplicación web
Files
Updated by Demo MiGestion365 Admin 29 days ago
- File clipboard-202607011239-biv59.png clipboard-202607011239-biv59.png added
- Status changed from Nueva to Resuelta
- % Done changed from 0 to 100
import base64
import pandas as pd
import io
from PIL import Image
from sqlalchemy import create_engine, text
hostname = "pgsql-prd.atcfibraarg.com"
username = "om_read"
password = "Fiber2021#"
database = "postgres"
DATABASE_URI = f"postgresql+psycopg2://{username}:{password}@{hostname}:5432/{database}"
engine = create_engine(DATABASE_URI, pool_size=100, max_overflow=50, future=True)
imagen=pd.read_sql(text(f"select imagen as largeobject from giscloud.photos_toast where photo_name='[%photo_name%]' and imagen is not null;"), engine.connect())
imagen['largeobject'].apply(bytearray)
img_str = base64.encodebytes(imagen['largeobject'].iloc[0]).decode('utf-8')
decoded_string = io.BytesIO(base64.b64decode(img_str))
img = Image.open(decoded_string)
img.show()
