[general]
name=Recalculo RTK a Coordenadas Ajustadas
qgisMinimumVersion=3.16
qgisMaximumVersion=4.99
description=Recalculates field points collected against a "free" RTK base to the base's adjusted coordinates from static GNSS post-processing (plane and geographic).
version=1.4.0
author=Edwin Arley Castellanos Martinez
email=topoedw05@gmail.com

about=Surveying and cadastral plugin for GNSS/RTK work. From the coordinates of a "free" RTK base taken in the field and its adjusted coordinates (obtained by static GNSS post-processing), it computes the translation vector and applies it to every point in a comma-delimited CSV file, letting you choose the X/Easting, Y/Northing and Z/elevation columns. It recalculates both projected (plane) and geographic (longitude/latitude) coordinates, adds the resulting points as a layer to the project, can also export them to Shapefile (.shp) and DXF (.dxf), and can optionally generate an HTML technical report of the recalculation. The interface and the technical report are available in Spanish, English and Brazilian Portuguese, detected automatically from QGIS's own interface language.

  Complemento de topografia y catastro para GNSS/RTK. A partir de la coordenada de la base tomada libre en campo y su coordenada ajustada (obtenida por postproceso estatico), calcula el vector de traslacion y lo aplica a todos los puntos de un archivo CSV (delimitado por comas), permitiendo elegir las columnas de X/Este, Y/Norte y Z/elevacion. Recalcula tanto las coordenadas planas (proyectadas) como las geograficas (longitud/latitud), agrega los puntos resultantes como capa al proyecto, permite exportarlos tambien a Shapefile (.shp) y a DXF (.dxf), y puede generar opcionalmente un reporte tecnico en HTML del recalculo. La interfaz y el reporte tecnico estan disponibles en espanol, ingles y portugues de Brasil, detectados automaticamente segun el idioma configurado en QGIS.

tracker=https://github.com/topoedw05-dot/recalculo_rtk/issues
repository=https://github.com/topoedw05-dot/recalculo_rtk
homepage=https://github.com/topoedw05-dot/recalculo_rtk#readme
category=Vector
tags=rtk,gnss,catastro,topografia,magna-sirgas,postproceso,coordenadas,agrimensura,levantamiento,surveying,gis,multilingual,i18n,english,portugues

icon=icon.png
experimental=False
deprecated=False
server=False

changelog=1.4.0 Agrega soporte de idiomas: ademas de espanol, la interfaz completa del dialogo y el reporte tecnico en HTML ahora tambien estan disponibles en ingles y en portugues de Brasil. El idioma se detecta automaticamente a partir de la configuracion de idioma de la propia interfaz de QGIS (Configuracion > Opciones > General > Idioma), sin necesidad de elegirlo manualmente; si QGIS esta en un idioma distinto a esos tres, el complemento usa espanol por defecto. Nuevo modulo i18n.py con las traducciones. Sin cambios en la logica de calculo.
  1.3.4 Corrige el hallazgo que senalaba la verificacion "Qt6 Check" de plugins.qgis.org en recalculo_dialog.py (linea 226: "Enum error, add 'Type' before 'QString'"). Era codigo de respaldo para QGIS/Qt5 dentro del helper que obtiene el tipo de campo "texto" para QgsField; no afectaba el funcionamiento del plugin en ningun QGIS, pero se reescribio para que el verificador automatico ya no lo marque. Sin cambios de comportamiento.
  1.3.3 Cambia el reporte tecnico de PDF a una pagina HTML autocontenida (se abre con cualquier navegador), que se ve mas profesional porque ya no depende de las limitaciones del motor de texto de Qt. La seccion "Sistemas de referencia" ahora muestra el detalle completo de cada CRS igual que el panel de propiedades de QGIS/ArcGIS: para el sistema proyectado, nombre, proyeccion, WKID, autoridad, unidad lineal, falso este/norte, meridiano central, factor de escala, latitud de origen y area de uso; para el sistema geografico base, nombre, WKID, autoridad, unidad angular, primer meridiano, datum, esferoide, semieje mayor/menor y aplanamiento inverso. Estos datos se extraen en vivo de la base de datos EPSG que usa QGIS (via los bindings de Python de GDAL, incluidos siempre con QGIS) a partir del CRS que el usuario selecciono, sin valores fijos en el codigo. Probado en vivo en QGIS 4.0.0 contra EPSG:9377 y EPSG:4686: los valores coinciden exactamente con el panel de propiedades de QGIS.
  1.3.2 Mejora el formato del reporte tecnico en PDF: la seccion "Sistemas de referencia" ahora muestra el nombre completo de cada CRS junto con su codigo EPSG, unidades, si el datum es estatico o dinamico, cuerpo celeste y metodo de proyeccion (igual que el panel de propiedades del selector de CRS de QGIS). El listado de puntos usa 3 decimales en las coordenadas planas y formato grados-minutos-segundos (5 decimales) en las geograficas, arranca siempre en una hoja nueva y la hoja ahora es horizontal (apaisada) con margenes mas ajustados para aprovechar mejor el espacio. Los titulos quedan centrados y en mayuscula, con mas espacio entre titulos y tablas, para un aspecto mas profesional.
  1.3.1 Corrige que el reporte tecnico en PDF (agregado en 1.3.0) no se generara en QGIS 4.x: PyQt6 renombro el metodo QTextDocument.print_() a QTextDocument.print() (sin guion bajo), y el codigo solo probaba el nombre de PyQt5. Ahora se prueban ambos nombres. Probado en vivo en QGIS 4.0.0: el PDF ya se genera correctamente.
  1.3.0 Agrega generacion opcional de un reporte tecnico en PDF del recalculo: coordenadas de ambas bases, vector de traslacion aplicado, CRS usados, resumen del proceso y listado completo de puntos recalculados. Es opcional (casilla sin marcar por defecto); se genera con QTextDocument/QPrinter de PyQt, sin depender de librerias externas.
  1.2.3 Corrige los 2 "Try/Except/Pass" que senalaba el escaneo de seguridad (Bandit) en recalculo_dialog.py: los helpers de compatibilidad Qt5/Qt6 ahora capturan excepciones especificas (ImportError, TypeError/ValueError) y manejan el caso en vez de un "except: pass" generico. Sin cambios de comportamiento. Verificado localmente con bandit: 0 issues.
  1.2.2 Excluye test_core.py (suite de pruebas de desarrollo) del paquete publicado: no se ejecuta dentro de QGIS y sus "assert" de prueba hacian que el escaneo de seguridad de plugins.qgis.org (Bandit) marcara el plugin como bloqueado por falsos positivos. El codigo del plugin no cambia.
  1.2.1 Corrige que QGIS marcara el plugin como "incompatible" y le quitara el icono de la barra al reiniciar QGIS 4.x: faltaba declarar qgisMaximumVersion (sin ese limite, QGIS asume compatibilidad solo hasta 3.99). Ahora declara soporte explicito hasta QGIS 4.99.
  1.2.0 La ventana del dialogo ahora es redimensionable a voluntad (se puede agrandar, achicar o maximizar) y su contenido queda dentro de una barra de desplazamiento vertical, para que quepa en pantallas pequenas; el registro de estado y los botones quedan siempre visibles debajo.
  1.1.0 Agrega exportacion opcional de los puntos ajustados a Shapefile (.shp, con elevacion Z si esta disponible) y a DXF (.dxf, con etiqueta de texto por punto). Las capas generadas ahora usan geometria 3D (PointZ) cuando hay columna de elevacion.
  1.0.1 Corrige compatibilidad con QGIS 4 / Qt6 (error "QLocale has no attribute C" al abrir el dialogo, y tipo de campo de las capas generadas). Funciona tanto en QGIS 3.16+ (Qt5) como en QGIS 4.x (Qt6).
  1.0.0 Version inicial: traslacion de coordenadas de base libre a base ajustada, reproyeccion a coordenadas geograficas y generacion de capas de puntos.
