Version 3.0.5 (2026-08-03):
NOTA: la version 3.0.4 no llego a publicarse. Fue retenida por el
escaner de seguridad del repositorio de QGIS y nunca estuvo
disponible para descarga. Todo su contenido se entrega en esta
version, junto con la resolucion de los hallazgos que la bloquearon.
ANALIZADOR DE SUPERPOSICION - CONSUMO DE GEOSERVICIOS OFICIALES
(NUEVO):
* Nuevo modulo service_catalog: catalogo EDITABLE de geoservicios en
JSON
dentro de la carpeta config del perfil. Precargado para Peru con 7
servicios y 21 capas, todos verificados en vivo contra los servidores
el 2026-07-30: SERFOR (concesiones forestales, permisos, cesiones en
uso, unidad de aprovechamiento, BPP, bosques protectores, zonificacion
forestal, ecosistemas fragiles, habitats criticos), SERNANP (ANP
nacional definitiva, zona de amortiguamiento, zona reservada, ACR,
ACP) y MIDAGRI (predio rural, comunidades nativas, comunidades
campesinas). Extensible a otros paises sin tocar codigo.
* Nuevo modulo wfs_source: construye el URI y elige el proveedor por
servicio (WFS de OGC o ArcGIS REST). La descarga se acota al bounding
box del predio via restrictToRequestBBOX, de modo que nunca se
descarga una capa nacional completa.
* Nuevo dialogo de seleccion de servicios: arbol con casillas agrupado
por pais y servicio, prueba de conexion por capa antes de analizar,
acceso directo al JSON del catalogo y aviso al elegir capas sin fecha
de verificacion.
* Las dos fuentes se combinan: carpeta de capas locales, geoservicios,
o
ambas en una sola corrida. La carpeta dejo de ser obligatoria.
* Fusion de catalogo: los servicios que se agreguen en futuras
versiones
del plugin se incorporan a un catalogo ya guardado sin pisar las
ediciones del usuario, respetando los servicios que haya borrado a
proposito y avisando cuando su definicion diverge de la del plugin.
* Trazabilidad diferenciada: un archivo local se acredita con SHA-256;
un
geoservicio solo puede acreditarse como instantanea (URL, capa, hora y
conteo). La ficha lo declara y verificar_archivo ya no reporta un
falso negativo de hash sobre origenes remotos.
* Una capa que no carga se reporta como NO EVALUADA, nunca como libre
de
superposicion. Las advertencias legales de cada entidad (art. 62 de la
Ley 29763 para SERFOR, Ley 26834 para SERNANP, y la referencia a la
Direccion Regional Agraria y a SUNARP para MIDAGRI) se trasladan al
informe.
HONESTIDAD DEL INFORME (correcciones de fondo):
* CRITICO: capas_evaluadas contaba tambien las capas con error, de
modo
que una fuente que nunca pudo leerse engrosaba el recuento y el
informe
afirmaba haberla contrastado. Ahora se cuentan aparte:
capas_evaluadas,
capas_no_evaluadas y capas_totales.
* La conclusion sugerida declara la cobertura real ("contrastada
contra N
de T capas") e incorpora una constancia expresa dentro del propio
parrafo cuando alguna capa no pudo evaluarse. Antes la salvedad solo
figuraba en una seccion posterior, de modo que el texto que se
transcribe al expediente afirmaba un resultado limpio sin matizar.
* Cobertura nula: si ninguna capa pudo consultarse, la conclusion ya
no
redacta que el predio esta libre. Declara que no fue posible efectuar
el analisis y desaconseja emplear el documento como sustento tecnico.
* La seccion "Capas no evaluadas" del informe se presenta como bloque
de
advertencia destacado, no como una lista mas.
* Cancelacion del analisis: boton Cancelar junto a la barra de
progreso.
Las capas pendientes NO se omiten en silencio, se registran como no
evaluadas para que la cobertura incompleta conste en el informe.
ICONOS:
* Nuevos iconos para Analizador de Superposicion, Comparacion Visual
(swipe) y Navegacion (GoTo), generados desde glifos de Font-GIS
(interseccion, swipe-map-h y position respectivamente). Los tres se
unifican a 128x128 con margen interior, en linea con el resto de la
suite; antes median 100, 128 y 94 px con encuadres dispares.
* Codigo de color por funcion: el Analizador de Superposicion pasa a
terroso (#8C3A2E) porque es el unico modulo que emite un juicio con
consecuencias registrales y en una barra mayoritariamente azul
quedaba indistinguible; el swipe pasa a petroleo (#1F6F8B) para
separarse del bloque azul contiguo sin perder definicion a 24 px.
COMPATIBILIDAD Qt6:
* Resueltos los 10 hallazgos del comprobador Qt6 del repositorio. Ocho
estaban en la rama Qt5 de fallbacks try/except AttributeError: el
comprobador es estatico y marca el literal sin scope aunque solo se
ejecute en Qt5. Se sustituyen por indireccion getattr(Clase, "Enum",
Clase).MIEMBRO, que resuelve en tiempo de ejecucion, funciona en Qt5 y
Qt6 y no deja literal que marcar. Afecta a QgsWkbTypes (Type y
GeometryType), QgsVectorFileWriter (ActionOnExistingFile y
WriterError), QgsSnappingConfig (SnappingMode), QgsMapLayerProxyModel
(Filter), QIODevice (OpenModeFlag) y Qt (CursorShape).
* QgsVectorFileWriter.NoError pasa a WriterError.NoError.
* La llamada a exec_() se resuelve por getattr para no dejar el nombre
antiguo en el codigo.
ESCANEO DE SEGURIDAD DEL REPOSITORIO:
* Resueltos los 6 hallazgos que bloqueaban la publicacion, todos en el
modulo GoTo/OCR y todos falsos positivos documentados en el codigo:
tres try/except/pass de operaciones accesorias (log de QGIS, QSettings
y estado de un checkbox), una llamada a subprocess.run que ejecuta
tesseract.exe con lista de argumentos y sin shell, y dos rutas del
registro de Windows que detect-secrets marcaba como cadenas Base64 de
alta entropia. Los try/except y el subprocess quedan anotados con
nosec y su justificacion; las rutas del registro se componen por
partes, de modo que ningun literal alcanza el umbral de entropia y el
hallazgo desaparece sin depender de como se invoque el escaner.
FIXES:
* CapaEncontrada admite proveedores distintos de ogr. El motor forzaba
"ogr" al abrir cada capa, lo que invalidaba cualquier origen remoto.
* La etiqueta de origen ya no usa os.path.basename, que sobre una URL
de
servicio devolvia el nombre del endpoint en lugar del de la capa.
* La capa de resultado dejo de duplicarse: se cargaba automaticamente
al
terminar el analisis y el boton "Cargar capa" seguia conectado al
mismo
metodo, de modo que pulsarlo acumulaba copias identicas.
* closeEvent no liberaba la seleccion de geoservicios.
yes
yuricaller
2026-08-03T16:17:00.215151+00:00
3.22.0
4.99.0
None
no
Plugin Tags