Personal tools
You are here: Home gvSIG Projects gvSIG Desktop Documentation User documentation Extensions Topología Topología 0.1.0
gvSIG Desktop
gvSIG Desktop

Cached time 11/21/13 23:21:09 Clear cache and reload

 
Document Actions

Topología 0.1.0

by Grupo gvSIG last modified 2010-10-29 15:38


Herramientas de edición topológica

Introducción

El proceso de edición cartográfica, para la digitalización de nuevos datos o la modificación de los datos ya existentes, es fuente frecuente de inconsistencias topológicas como son duplicados, huecos entre polígonos (gaps), nodos colgantes, pérdida de conectividad entre tramos de redes, etc.

Durante este proceso de edición, en ocasiones será conveniente considerar las geometrías de una capa como carentes de topología (y por tanto susceptibles de ser modificadas de forma aislada e independiente, como en los programas de CAD tradicionales) y en ocasiones será conveniente considerar si forman parte de una topología, y por tanto mantienen relaciones espaciales con las geometrías de su vecindad (ya sean de la misma capa o de capas diferentes).

Para evitar que durante el proceso de edición cartográfica se introduzcan errores topológicos como resultado de no considerar las relaciones de "geometría compartida" existentes entre las geometrías de una o varias capas, la extensión de topología y análisis vectorial avanzado de gvSIG incorpora una herramienta de edición topológica. Además, se proporcionan herramientas de edición que se han venido demandando fuertemente en los foros de usuarios de gvSIG:

  • Fragmentar geometría digitalizando línea de corte.
  • Generalizar geometría (algoritmo de Douglas-Peuckert).
  • Suavizar geometría aplicando curva matemática.
  • Digitalizar polígono que comparta lado con otro polígono preexistente.
  • Obtener información sobre una geometría: representación WKT [4] y [5], área, perímetro, etc.

En los siguientes apartados describimos cómo usar las herramientas de edición topológica y edición avanzada incorporadas en la extensión de Topología de gvSIG.


Herramienta "Edición topológica"

Esta herramienta permite desplazar un vértice de la geometría seleccionada en una capa de una topología, asegurándose que todas aquellas geometrías del resto de capas de la topología que compartan dicho vértice (o que tengan segmentos que lo contengan) lo desplacen también de forma solidaria.

img//topologyedit

Icono de la herramienta "Edición Topológica".

Para poder utilizar esta herramienta, debe estar cargada una topología en el TOC de la vista, y debe ponerse en modo edición alguna de sus capas. De lo contrario, ni siquiera se mostrará el botón de edición topológica en la barra de herramientas.

Para entender mejor la diferencia entre la herramienta "Edición Topológica" y la herramienta "Desplazar vértice" de la extensión de CAD de gvSIG, veamos el ejemplo de la figura siguiente. Tenemos dos polígonos, de una misma capa, que comparten un vértice (el número 12).

img//preedicion

Polígonos que comparten vértices antes de su edición.

Si seleccionamos uno de los dos polígonos con la herramienta "Seleccionar", y a continuación desplazamos el vértice común (simplemente hay que pulsar encima con el ratón y arrastrarlo) veremos que solo se ha desplazado el vértice en el polígono seleccionado (aunque compartan dicha geometría).

img//postedicion

Resultado de editar un vértice común a dos polígonos sin usar las herramientas de edición.

Por el contrario, si una vez seleccionado uno de los dos polígonos, pulsamos sobre la herramienta "Edición topológica", y a continuación pulsamos sobre el vértice que deseamos desplazar de forma solidaria, éste vértice se desplazará conforme vayamos arrastrando el ratón en todas las geometrías de la topología que contengan dicho vértice, bien de forma explícita -tienen un vértice en la misma coordenada- bien de forma implícita -tienen un segmento que contenga dicho vértice-.

img//duringedition

Desplazamiento del vértice compartido con la herramienta de edición topológica.

Al final de la operación, todas las geometrías que contengan dicho vértice modificarán la posición de éste. Esta operación implica que aunque nosotros hayamos puesto en "modo edición" una sola capa de la topología, automáticamente se pondrán en modo edición todas aquellas capas de la topología que compartan el vértice desplazado. Siguiendo la operativa normal de la extensión de CAD de gvSIG, estos cambios no se almacenarán de forma persistente hasta que no se termine la edición.

img//posteditiontopology

Resultado de desplazar un vértice utilizando la herramienta de edición topológica.

En este caso solo se ha desplazado de forma solidaria un vértice común a dos geometrías de la misma capa. No obstante, si en la topología hubiese habido otras geometrías que compartiesen dicho vértice, éstas hubiesen modificado también de forma solidaria la posición del mismo.


Herramienta "Partir geometría"

Esta herramienta permite fragmentar una geometría de tipo linea o polígono a partir de una línea de recorte digitalizada con el ratón. Para usar la herramienta es necesario poner una capa de líneas o polígonos en edición (no es necesario que formen parte de una topología) y seleccionar la geometría que se desea fragmentar (si no existe una geometría seleccionada la herramienta no estará activa).

img//cut

Icono de la herramienta "partir geometría".

img//duringcut

Digitalización de la línea de recorte que nos permitirá partir la geometría.

img//postcut

Resultado de partir la geometría con la línea de recorte.

Esta operación se puede realizar también sobre geometría de tipo línea.


Herramienta "Generalizar geometría"

La herramienta "generalizar geometría" permite simplificar la representación de una geometría gvSIG de 1 o 2 dimensiones (polilínea o curva, polígono o superficie), de forma que se reduzca el número de puntos con el que se representa la geometría, preservándose las principales propiedades de ésta (se conserva la cantidad de información, reduciéndose el número de datos necesario para su representación [6]).

La herramienta será visible y activa en la barra de herramientas cuando se ponga en edición una capa de líneas (geometrías de dimensión 1) o polígonos (geometrías de dimensión 2), y se seleccionen los features cuyas geometrías se desee generalizar.

img//iconogeneralizar

Icono de la herramienta "Generalizar geometría".

El comportamiento de la herramienta será distinto en función de que la geometría que se desee generalizar sea de líneas o de polígonos. Si la geometría es de tipo lineal se aplicará el algoritmo de Douglas-Peucker [7]. Si es de tipo poligonal, se aplicará el algoritmo de Douglas-Peucker a cada una de las partes del polígono (borde o hueco), de forma que el polígono resultante tendrá el mismo número de partes y huecos que el original (es decir, preserve su topología).

img//linetosimplify

Selección de la línea a simplificar

img//simplifiedline

Resultado de aplicar el proceso de generalización a la línea seleccionada.

El algoritmo de Douglas-Peucker necesita una tolerancia (más detalles en [7]). Por simplificar el manejo de la herramienta, en vez de tener que introducir esta tolerancia cada vez que se desee generalizar un conjunto de geometrías, se utiliza una tolerancia por defecto que puede ser modificada a través del diálogo de preferencias de gvSIG, en la sección "Topología".

img//douglaspeuckerpreferences

Configuración de la tolerancia de Douglas-Peucker a través del diálogo de preferencias de gvSIG.


Herramienta "Suavizar geometría mediante curva matemática"

Esta herramienta produce un resultado opuesto a la herramienta anterior: dada una geometría de 1 o 2 dimensiones (polilínea, polígono), calcula la curva del tipo especificado por el usuario que mejor se ajusta a los puntos de la geometría original, obteniendo una nueva geometría densificada y suavizada.

img//iconosmooth

Icono de la herramienta "Suavizar geometría".

La herramienta permite suavizar una geometría calculando los siguientes tipos de curvas:

  • Bezier.
  • B-Spline.
  • Cardinal Spline.
  • Catmullrom Spline.
  • B-Spline cúbico.
  • Lagrange.
  • Natural spline cúbico.
  • Nurbs.

Cada tipo de curva tiene una representación matemática de tipo paramétrico, lo que hace que exista un mínimo número de puntos de control necesario para definir la curva.

img//linetosmooth

Selección de la línea a suavizar a partir de un tipo de curva parametrizada.

img//smoothdialog

Diálogo para seleccionar el tipo de curva matemática parametrizada.

img//smoothdespues

Resultado de aplicar un suavizado "Bezier" a la curva seleccionada.

En sucesivas versiones de la extensión de Topología se podrán personalizar diferentes parámetros de control de las curvas parametrizadas de suavizado.


Herramienta "Digitalizar polígono con geometría compartida"

Esta herramienta es de gran utilidad para garantizar la consistencia topológica en el proceso de digitalización de polígonos de una misma capa. Si no se hace uso de esta herramienta, a la hora de digitalizar dos polígonos adyacentes es muy probable que no se gestione adecuadamente la geometría compartida, introduciendo inconsistencias.

img//topologyerrorsinpolygons

Errores topológicos producidos al digitalizar polígonos sin herramientas topológicas

img//topologypolygondigitize

Icono de la herramienta "Digitalizar polígono con geometría compartida".

Para poder utilizar esta herramienta, en primer lugar es necesario que exista una capa vectorial de polígonos activa en el TOC y en modo edición. Seguidamente, hay localizar los polígonos que van a compartir geometría con el nuevo polígono a digitalizar. Por último, hay que digitalizar una polílinea que represente el arco no compartido del polígono que se desea digitalizar. Cuando finalize la digitalización de este arco, la herramienta construirá automáticamente un polígono con el nuevo arco/polilínea digitalizado y los arcos de los polígonos adyacentes.

img//neighbourspolygons

Polígonos adyacentes que compartirán geometría con el nuevo polígono a digitalizar.

img//digitizingline

Digitalización del arco/polilínea que define el nuevo polígono junto con la geometría compartida con los polígonos adyacentes.

img//resultingpolygon

Polígono resultante: no existen inconsistencias topológicas en la geometría compartida con sus vecinos adyacentes.


Herramienta "Información geométrica (Área/Perímetro/WKT) mediante pulsación con el ratón"

Con las herramientas disponibles hasta este momento en gvSIG, para averiguar el área o perímetro de una geometría existían dos alternativas:

  1. Utilizar la herramienta "medir área", y digitalizar un polígono siguiendo la forma del polígono de interés. Este método era poco preciso, pues no podía apoyarse en un snap para garantizar que si sigue la geometría a medir. Además, no tiene sentido digitalizar una geometría ya existente (y cargada en la memoria de la aplicación) para obtener su área.
  2. Utilizar la calculadora de campos, y añadir los nuevos campos "área" y "perímetro" a la capa original. No obstante, esto calcula todas las áreas y perímetros de todas las geometrías de la capa vectorial con la que estamos trabajando, lo cual tampoco es necesario (solo estamos interesados en calcular un área).

Para cubrir este hueco (obtener el área y el perímetro exacto de una geometría ya existente) en la extensión de topología y análisis vectorial avanzado se ha incluido la herramienta "Información Geometríca".

img//geometryinfo

Icono de la herramienta "Información geométrica".

Su uso es muy simple, simplemente hay que pulsar el botón de la herramienta (previamente debe estar seleccionada una capa vectorial en el TOC) y picar con el ratón sobre la geometría de la que se quiere obtener más información.

img//geometryinfoscreenshot

Diálogo que se muestra con información geométrica de la geometría sobre la que se ha pulsado con el ratón

El diálogo que se muestra al usuario tras pulsar con el ratón sobre una geometría proporciona la siguiente información:

  • Área.
  • Perímetro.
  • Representación de la geometría en formato WKT.

La representación en WKT de la geometría puede ser de utilidad para procesarla con otros programas: bases de datos (MySQL, PostGIS, etc.), constructor de pruebas unitarias de JTS, etc.

img//wktpaste

Transferencia de geometrías entre aplicaciones a través del formato WKT.


Get freemind document

View source document Get permanent link


Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: