60 votos

Eliminando pequeños espacios (fragmentos) entre polígonos

Tengo un conjunto de polígonos que representan distritos administrativos. Los distritos fueron digitalizados manualmente y hay pequeños espacios (fragmentos) entre los polígonos donde estos deberían estar tocándose.

¿Cómo puedo hacer que los polígonos se unan, eliminando los espacios?

30voto

Erik Öjebo Puntos 6937

Utilice Eliminar (Se requiere licencia de ArcInfo)

Elimina polígonos fusionándolos con polígonos vecinos que tienen el área más grande o el borde compartido más largo. Eliminar se usa a menudo para eliminar pequeños polígonos delgados que son el resultado de operaciones de superposición, como Intersect o Union.

http://help.arcgis.com/es/arcgisdesktop/10.0/help/index.html#//00170000005p000000.htm

introduce aquí la descripción de la imagen

Nota para usuarios de ArcGIS 10: hay una NUEVA característica en las opciones para esta herramienta.

Ahora es posible preservar el POLÍGONO o POLILÍNEA original con la opción > ex_features (Opcional) Una clase de entidad o capa de polilínea o polígono de entrada que define los límites del polígono, o partes de estos, que no deben eliminarse.

3 votos

¿Eso funciona en el caso de zoológicos? No parece haber fragmentos en el conjunto de datos, solo espacios entre polígonos.

3 votos

He usado esta herramienta con éxito para eliminar los espacios entre los polígonos. Sin embargo, hay un problema al utilizar esta herramienta. Cuando divide los polígonos durante el procesamiento geoespacial, generaliza en exceso los polígonos recién creados. Por lo tanto, las curvas no serán tan suaves, sino que tendrán líneas "dentadas" afiladas. Puede variar.

3 votos

@underdark Buen punto. Sin embargo, uno siempre podría introducir las láminas a través de una unión de los datos con un polígono circundante monolítico (como la caja delimitadora del conjunto de datos). Una pregunta interesante es cómo "Eliminar" elige en qué polígonos fusionar las láminas. Esto podría sesgar los resultados (aunque dudo que el sesgo sea importante en la mayoría de las aplicaciones). En esta situación particular, una solución ideal dividiría las láminas, o promediaría los errores.

21voto

Symmetric Puntos 158

Para hacer esto manualmente en QGIS, ve a Configuración|Propiedades del proyecto... En la pestaña General en la parte inferior está Opciones de ajuste... Marca la capa a la que quieres ajustar, establece el modo en al vértice y establece la tolerancia a algún valor menor que la distancia más corta entre dos puntos que tengas. Si no estás seguro, establece las unidades en píxeles y la tolerancia en algo como 5 para que si hay algunos detalles delicados puedas acercarte y asegurarte de que no te ajustas al vértice equivocado.

Luego edita tu capa vectorial, selecciona la herramienta de nodo y mueve los puntos erróneos a sus contrapartes.

Hacerlo automáticamente es un poco más complicado. Hasta donde yo sé, QGIS no tiene un complemento para automatizarlo, y aunque PostGIS está construido sobre GEOS que tiene funciones de ajuste, no están expuestas a PostGIS. Podría ser posible escribir una consulta para verificar cada punto de un polígono para vecinos dentro de la distancia de ajuste, pero actualmente está más allá de mi ingenio para ampliar más.

GRASS tiene v.clean.snap al que puedes acceder a través de QGIS, pero hay un paso adicional de crear un conjunto de datos de GRASS.

0 votos

Siempre puedes utilizar el conjunto de herramientas de procesamiento de QGIS y aplicar v.clean.snap directamente a tu archivo de formas.

0 votos

V.clean.snap no está disponible. Utilicé v.clean y luego seleccioné la herramienta de snap y me dio una capa vacía. La documentación dice que el snap se utiliza para unir líneas a vértices. Quiero unir vértices a otro vértice dentro de un umbral.

18voto

Rihan Meij Puntos 362

Si está familiarizado con QGIS: En la versión 1.9 del tronco de QGIS (que se puede instalar como qgis.dev a través del instalador OSGEO, consulte la página de inicio de QGIS) hay una nueva función en el menú de vectores llamada "Eliminar polígonos delgados", que hace exactamente lo que desea. Puede seleccionar los polígonos problemáticos y fusionarlos con polígonos adyacentes basados en un límite común o en una proporción de área. ¡Pruébelo!

3 votos

Para actualizar esta respuesta, en QGIS 2.18.1 'Eliminar polígonos inservibles' está disponible en el paquete estable y se encuentra en Vector -> Herramientas de geoprocesamiento.

1 votos

Esto se aplica a los polígonos sueltos existentes entre los principales, no en el caso de espacios entre polígonos.

15voto

nd. Puntos 231

Si eres un usuario de QGIS, obtienes todo el poder de GRASS, ya que es un SIG totalmente topológico. Dentro de QGIS activa el complemento de GRASS, crea una ubicación/conjunto de mapas donde importar tus datos.

Abre el conjunto de mapas e importa tu capa sucia con v.in.ogr: juega con los dos parámetros avanzados "umbral de ajuste para límites" y "tamaño mínimo del área a importar".

También puedes utilizar las opciones que proporciona el módulo v.clean.

11voto

aditya Puntos 111

ArcGIS tiene reglas de topología que te ayudarán a identificar y corregir espacios en blanco en tus datos como a los que te refieres. Para crear Reglas de Topología necesitarás una licencia de ArcEditor o ArcInfo y almacenar tu Clase de Entidades en un Conjunto de Entidades en una geodatabase personal o de archivo.

Probablemente querrás implementar la regla "No Debe Tener Espacios en Blanco". Una vez que hayas creado la base de reglas con todas las reglas que consideres necesarias, querrás validar la topología que identificará todos los errores en tus datos.

Luego, utilizando el Inspector de Errores y la Herramienta de Corrección de Errores de Topología, podrás seleccionar individualmente o en masa los errores que desees corregir y cómo deseas corregirlos (por ejemplo, crear nuevos polígonos para llenar los vacíos o fusionarlos con polígonos más grandes cercanos).

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X