Presentación y opciones | Caja de diálogo de la aplicación |
Sintaxis |
Por defecto, la aplicación garantiza que el proceso de generalización de los bordes de los polígonos no produzca intersecciones entre los arcos, colapsos de arcos individuales que forman un recinto cerrado (evitando que un anillo se convierta en un punto) u otros cambios que alteren las relaciones topológicas entre los objetos arco que forman los ··bordes o entre los polígonos en sí.
Es necesario que el archivo que contiene la capa de polígonos a generar sea diferente del archivo original.
El programa trabaja con archivos en formato POL y VEC de polígonos. Si se necesita aplicarlo sobre un archivo en otros formatos, se puede importar con las herramientas del menú "Archivo | Importación".
En su funcionamiento recomendado como herramienta de generalización, el programa procede encadenando dos algoritmos:
En el primero de estos algoritmos para cada arco, el programa aplica a cada vértice un filtro de media móvil sobre su posición (sobre sus coordenadas XY); este filtro toma en consideración dos, cuatro o seis vértices vecinos en el mismo arco (uno, dos o tres a cada lado del vértice en cuestión, a elegir). Los vértices del extremo del arco (nodos) no modifican su posición en ningún caso. Por otra parte, cuando el número de vértices de la media móvil deseada es menor al número de vértices del polisegmento analizado, este polisegmento no resulta modificado (por ejemplo un arco de cinco vértices (contando los nodos) no resultará con ningún vértice modificado si aplicamos una media móvil de seis vértices). Además, nunca un vértice es movido más allá de la tolerancia indicada por el usuario (en las mismas unidades planimétricas de la capa, típicamente en metros). Nótese que la media móvil suaviza la línea cambiando la posición de los vértices pero no·aumenta ni reduce su número.
A continuación se aplica el segundo algoritmo, que es el de Douglas-Peucker (que también tiene una tolerancia particular, llamada épsilon), el cual sí permite reducir el número de vértices, pero no modifica la posición de los vértices que hayan permanecido. Véase la referencia de 1973 para detalles sobre su funcionamiento.
Los dos algoritmos, sin embargo, pueden ser aplicados separadamente por intereses de investigación o de docencia, aunque, como se ha dicho, los mejores resultados se obtienen con la combinación consecutiva de ambos.
GenVPol también permite indicar que, si un objeto resultado interseca con cualquiera de los preexistentes, la generalización no sea aceptada y se haga un segundo intento de generalización, tratándolo en polisegmentos de 8 vértices si es posible; después de este segundo intento, si alguno de estos polisegmentos interseca con algún objeto preexistente, se adopta el polisegmento de línea original.
En el caso del filtro de media móvil, el usuario puede elegir los pesos que se aplican a cada uno los vértices anteriores y posteriores (es decir, se puede modular la influencia que tendrán las coordenadas de los vértices vecinos a lo largo del mismo arco). Las posibilidades son:
Cuando estamos tratando con capas que provienen de cortar una capa más extensa (capa cortada siguiendo hojas cartográficas o unidades administrativas que se tocan entre sí), se debe conservar la geometría del borde externo de la capa (que coincide con el concepto de polígono cero) para no mover la posición del corte de la hoja o del borde exterior de la unidad administrativa. En este caso, se puede usar el parámetro /DESCARTA_POL_0 para evitar que los arcos que son fronteras con el polígono cero sean generalizados.
También se puede consultar la aplicación MicroPol para la eliminación de polígonos pequeños.
En caso de que la generalización no actúe, podría ser por culpa de que los bordes de los polígonos estén formados por segmentos (2 vértices cada arco del borde) unidos por nodos de línea, ya que el algoritmo de Douglas-Peuker funciona sobre cada arco, sin considerar posibles otros arcos conectados a él. En esta situación se puede valorar de eliminar los nodos de línea de la capa de arcos con la opción 4 del programa LinArc y proceder a su generalización con GenVLin antes de volver a realizar el ciclado y asignar los atributos temáticos con AtriTop (nota: los atributos temáticos de la capa de polígonos pueden obtenerse en una capa de puntos a través del programa Etiqueta).
Para más información se puede consultar la siguiente referencia:
![]() |
Caja de diálogo de GenVPol |