[general]
name=GeoSIG Tools
qgisMinimumVersion=3.28
qgisMaximumVersion=4.99
description=Professional GIS geoprocessing suite built on QGIS Processing's native algorithms ("Native First"). 48 tools across 8 groups: Overlay (9), Proximity (6), Extraction (7), Sampling (5), Attribute table (8), Digitizing (6), Spatial Analysis (4) and Cartography (3). Note: the plugin's menu, tool names and parameter labels are in Spanish.
about=GeoSIG Tools organizes, simplifies, and expands access to professional GIS tools, always prioritizing the native QGIS Processing engine (native:*) over custom code or external dependencies. It features a modular architecture designed to grow with new groups (Geometry, Vector, Raster, Selection, Spatial Statistics, GIS Utilities) without modifying existing ones. The only documented exception to "Native First" is "Dynamic Table" (Attribute Table group), built with custom Python code because QGIS Processing does not offer an equivalent native algorithm.
version=1.8.2
author=Geomática Ambiental
email=nino@geomatica.pe

changelog=1.8.2
    - Added LICENSE file (GPLv2) for publishing to plugins.qgis.org.
    - Updated qgisMinimumVersion to 3.28 and qgisMaximumVersion to 4.99.
    - Translated metadata "about" field to English.
    1.8.1
    - Metadata actualizada para la publicación en plugins.qgis.org: autor
      (Geomática Ambiental), correo de contacto (nino@geomatica.pe),
      homepage/tracker/repository apuntando al repositorio real
      (https://github.com/Ninobravo55/GeoSIG_Tools). Sin cambios
      funcionales en ninguna herramienta.
    - La "description" corta (la que se lista en el buscador de
      complementos de QGIS) se tradujo al inglés; el campo "about", el
      changelog y toda la interfaz del plugin (menús, nombres de
      herramienta, parámetros) permanecen en español — ver "Limitación
      conocida" del README sobre esta inconsistencia deliberada.
    1.8.0
    - Nuevo grupo Cartografía (3 herramientas), mapeo 1:1 sin
      combinaciones (a diferencia de Análisis Espacial en 1.7.0, no
      hizo falta preguntar al usuario nada antes de implementar):
      · "Suavizar geometría – Smooth" (native:smoothgeometry): suaviza
        vértices de líneas/polígonos, con iteraciones, desplazamiento y
        ángulo máximo como parámetros avanzados.
      · "Paralelas de líneas u objetos" (native:offsetline): genera una
        línea paralela desplazada. DECISIÓN INTERPRETATIVA: se
        restringió a capas de línea (TypeVectorLine) porque
        native:offsetline es específico de líneas según la
        documentación de QGIS — "objetos" en el pedido se leyó como
        sinónimo de "entidades lineales", no como ampliación a
        polígonos/puntos. DISTANCE se reenvía sin evaluar (admite
        expresión/campo y valores negativos); el comportamiento del
        signo (positivo=izquierda, negativo=derecha) no se confirmó
        contra una instalación real de QGIS.
      · "Simplificar cantidad de vértices" (native:simplifygeometries):
        tolerancia como parámetro principal, método de simplificación
        (Douglas-Peucker/Snap to grid/Visvalingam) como avanzado; el
        orden de los índices del enum METHOD tampoco se confirmó en
        vivo.
    - Los tres algoritmos son estables desde versiones tempranas de
      QGIS 3.x (biblioteca "Vector geometry"), sin un ID heredado
      "qgis:" de respaldo conocido — mismo caso que Digitalización.
    - Nuevo icono de referencia para el grupo (icons/group_cartography.svg).
    1.7.0
    - Nuevo grupo Análisis Espacial (4 herramientas), el primero del
      plugin que trabaja con ráster. De las 7 herramientas pedidas
      originalmente, 3 pares se combinaron en una sola herramienta cada
      uno (decisión confirmada explícitamente con el usuario antes de
      implementar, no una simplificación unilateral):
      · "Distancia a ráster desde vector (punto o línea)" combina "De
        punto a ráster distancia" y "De línea a ráster distancia": es
        la misma composición gdal:rasterize + gdal:proximity, solo
        cambia el tipo de geometría de entrada. ES LA COMPOSICIÓN
        MENOS VERIFICADA DE TODO EL PLUGIN — primera herramienta que
        genera un ráster, con varios parámetros GDAL sin confirmar
        contra una instalación real (ver README).
      · "Clasificar ráster por rangos de valor" combina "Clasificación
        de rangos de distancia" y "Mapa de clasificación de densidad":
        ambas son native:reclassifybytable aplicado a un ráster
        distinto (distancia o densidad); se resuelven con una
        herramienta genérica reutilizable para cualquier ráster.
      · "Estimación de densidad kernel (KDE)" combina "según
        agrupamiento de punto" y "según campo de peso": mismo
        algoritmo native:heatmapkerneldensityestimation, con
        WEIGHT_FIELD como campo opcional en vez de duplicar la
        herramienta.
      · "Conversión en vector" (gdal:polygonize) quedó como
        herramienta independiente, sin combinar.
    - Nuevo icono de referencia para el grupo (icons/group_spatial_analysis.svg).
    1.6.0
    - Nuevo grupo Digitalización (6 herramientas): Extraer vértice del
      vector (native:extractvertices), Conversión de polígono a línea
      (native:polygonstolines), Conversión de línea a polígono
      (native:linestopolygons), Herramienta de rotación
      (native:rotatefeatures, con ángulo de dato definido y punto de
      anclaje opcional), Añadir campo XY a capa (native:addxyfields,
      con SRC y prefijo de campo opcionales) y Conversión de punto a
      línea (native:pointstopath, con campos de orden/grupo opcionales
      para generar varios caminos separados).
    - Los seis algoritmos son estables desde versiones tempranas de
      QGIS 3.x, sin un ID heredado "qgis:" de respaldo conocido — a
      diferencia de "Matriz de distancia" o "Extraer aleatoria", que sí
      lo necesitan. Se comprueban igualmente en tiempo real contra el
      registro de Processing antes de usarse.
    - Nuevo icono de referencia para el grupo (icons/group_digitizing.svg).
    1.5.0
    - Nuevo grupo Tabla de atributo (8 herramientas), basado en el
      notebook de referencia "Manejo de tabla de atributo": Calculadora
      de campos (native:fieldcalculator genérico), Renombrar campo
      (native:renametablefield), Eliminar campo(s) (native:deletecolumn,
      admite selección múltiple), Cambiar tipo de dato (compone
      fieldcalculator con la función to_int()/to_real()/to_string()/
      to_date() correspondiente + deletecolumn + renametablefield para
      no depender del esquema incierto de FIELDS_MAPPING de
      native:refactorfields), Agregar atributos de geometría
      (native:exportaddgeometrycolumns / qgis:exportaddgeometrycolumns —
      área, perímetro, longitud, X e Y en un solo paso; GeoSIG Tools no
      renombra ni referencia los nombres de campo que asigna QGIS),
      Estadísticas por categorías (native:statisticsbycategories /
      qgis:statisticsbycategories, equivalente a
      groupby().agg() de pandas), Clasificar datos (arma una expresión
      CASE WHEN a partir de una tabla de rangos y la ejecuta con
      native:fieldcalculator; no existe un algoritmo nativo vectorial de
      reclasificación por rangos, solo raster) y Tabla dinámica.
    - "Tabla dinámica" es la ÚNICA EXCEPCIÓN A "NATIVE FIRST" de todo el
      plugin: no existe ningún algoritmo native:* (ni una composición
      razonable) que pivote una tabla como
      pandas.pivot_table(index=..., columns=..., values=..., aggfunc=...),
      así que se construye con código Python propio sobre PyQGIS puro
      (QgsFeature/QgsFields, sin pandas/numpy ni otras dependencias
      externas), en dos pasadas sobre las entidades. Admite un solo
      campo de índice y uno de columnas (no listas) y las agregaciones
      Suma/Promedio/Mínimo/Máximo/Conteo (no mediana). Esta excepción
      fue confirmada explícitamente con el usuario antes de
      implementarla.
    - Nuevo icono de referencia para el grupo (icons/group_attribute_table.svg),
      siguiendo el mismo criterio que los demás grupos.
    1.4.0
    - "Matriz de distancia" tiene un nuevo parámetro avanzado opcional
      "Calcular azimut de la dirección origen→destino", solo para el
      tipo de matriz "Lineal". native:distancematrix no calcula azimut
      por sí mismo: GeoSIG Tools lo agrega componiendo varios pasos
      nativos adicionales (fieldcalculator x2 para el WKT de cada
      punto, joinattributestable x2 para juntarlos en cada fila,
      fieldcalculator para degrees(azimuth(...)) y deletecolumn para
      quitar los campos auxiliares). Es la composición más larga y
      menos verificada del plugin — pruébela con cuidado antes de usar
      el resultado en producción; si algún algoritmo auxiliar falta en
      su instalación de QGIS, se avisa por el Registro y se entrega la
      matriz sin el campo de azimut en vez de fallar.
    1.3.1
    - "Buffer solo lado lineal" y "Buffer multi-anillos" ahora tienen el
      parámetro avanzado opcional "Disolver el resultado en una sola
      entidad", igual que Buffer. Como sus algoritmos nativos
      (native:singlesidedbuffer, native:multiringconstantbuffer) no
      tienen un parámetro de disolución propio, GeoSIG Tools lo agrega
      encadenando un segundo paso nativo (native:dissolve) sobre el
      resultado cuando se activa; si native:dissolve no está disponible
      en la instalación de QGIS, se avisa por el Registro y se entrega
      el buffer sin disolver en vez de fallar.
    1.3.0
    - Nuevo grupo Muestreo (5 herramientas): Crear cuadrícula (punto,
      línea, rectángulo, diamante o hexágono, vía native:creategrid),
      Crear puntos aleatorios en polígonos, Centroide de polígono y de
      parte, Extraer extensión en la capa y Envolvente convexa.
    - Se elimina el nodo intermedio "Geoprocesamiento" del menú
      Complementos → GeoSIG Tools: Superposición, Proximidad, Extracción
      y Muestreo pasan a ser submenús directos. Este cambio es solo del
      árbol de menú; no afecta el agrupamiento de cada herramienta en la
      caja de herramientas de Processing (group()/groupId() de cada
      QgsProcessingAlgorithm no se tocó).
    - Icono de referencia propio para Muestreo (icons/group_sampling.svg),
      siguiendo el mismo criterio que Proximidad/Extracción (un icono por
      grupo, no por herramienta individual).
    1.2.1
    - Icono del plugin (icons/icon.png) reemplazado por el logo oficial de
      GeoSIG Tools; se usa en el Administrador de complementos, en el menú
      Complementos → GeoSIG Tools y como icono raíz en la caja de
      herramientas de Processing.
    - Cada subgrupo del menú (Superposición, Proximidad, Extracción) y
      cada herramienta de Proximidad/Extracción ahora tiene un icono de
      referencia propio (icons/group_overlay.svg, group_proximity.svg,
      group_extraction.svg); los 9 iconos individuales de Superposición
      no se tocaron.
    1.2.0
    - Nuevo grupo Geoprocesamiento > Proximidad (6 herramientas): Buffer,
      Buffer solo lado lineal, Buffer multi-anillos, Matriz de distancia,
      Voronoi polígono y Triángulo de Delaunay.
    - Nuevo grupo Geoprocesamiento > Extracción (7 herramientas): Recortar
      – Clip, Corregir geometrías inválidas (como herramienta propia,
      además de usarse internamente en Actualizar), Recortar por lotes
      (compone native:clip por cada capa de entrada contra una misma
      máscara), Dividir o Split, Extraer por expresión, Extraer por
      atributos y Extraer aleatoria.
    - Todas las herramientas nuevas siguen la misma arquitectura que
      Superposición: QgsProcessingAlgorithm real con diálogo estándar de
      QGIS Processing, comprobación en tiempo real de disponibilidad de
      cada algoritmo nativo (Matriz de distancia y Extraer aleatoria
      caen automáticamente a su ID heredado del proveedor "qgis:" si
      "native:" no está disponible en la instalación de QGIS).
    1.1.1
    - Corregido metadata.txt (una línea del changelog sin sangría rompía
      el parseo de configparser y QGIS reportaba "Error reading metadata").
    - "Actualizar" agrega el parámetro avanzado "Reparar geometrías
      inválidas antes de procesar" (activado por defecto): ejecuta
      native:fixgeometries sobre la capa de entrada y la capa de
      actualización antes de calcular la diferencia, evitando el error
      nativo de QGIS "Feature has invalid geometry" frecuente con
      shapefiles antiguos. Se puede desactivar desde Parámetros
      avanzados si se prefiere el comportamiento nativo estricto.
    1.1.0
    - Las 9 herramientas de Superposición ahora son QgsProcessingAlgorithm
      reales, registrados en un QgsProcessingProvider propio. Se abren con
      el diálogo ESTÁNDAR de QGIS Processing (no una imitación): pestañas
      Parámetros/Registro, panel de Ayuda, Parámetros avanzados,
      "Ejecutar como proceso por lotes..." y Cancelar real en segundo
      plano, todo generado por QGIS. También quedan disponibles en la
      caja de herramientas de Processing, el Modelador gráfico y la
      consola de Python (processing.run("geosig_tools:...", ...)).
    1.0.0
    - Primer lanzamiento.
    - Grupo Geoprocesamiento > Superposición con 9 herramientas.

tags=geoprocessing,geoprocesamiento,overlay,superposicion,proximity,proximidad,extraction,extraccion,sampling,muestreo,attribute table,tabla de atributo,pivot table,tabla dinamica,digitizing,digitalizacion,vertices,rotate,rotacion,spatial analysis,analisis espacial,raster,kernel density,densidad kernel,heatmap,proximity raster,distancia raster,reclassify,reclasificar,buffer,clip,vector,processing,native,intersection,union,dissolve,merge,gis,sig

homepage=https://github.com/Ninobravo55/GeoSIG_Tools
tracker=https://github.com/Ninobravo55/GeoSIG_Tools/issues
repository=https://github.com/Ninobravo55/GeoSIG_Tools
icon=icons/icon.png

experimental=False
deprecated=False
server=False
hasProcessingProvider=yes
