11 votos

¿Extraer pequeños polígonos "sal y pimienta" de la capa en QGIS?

Tengo un mapa formado por múltiples polígonos, con unos cientos de miles de puntos polígonos muy pequeños en dentro de ella.

Necesito los polígonos más grandes, pero no los puntos pequeños polígonos. ¿Cómo puedo seleccionar y eliminar todos los puntos (Evidentemente, no quiero hacerlo manualmente, ya que hay demasiados puntos para ello).

Soy totalmente nuevo en QGIS, y he buscado mucho en Google sin suerte. ¡Probablemente porque no estoy seguro de cuál es la terminología correcta a utilizar en una búsqueda en Google!

Los archivos que estoy utilizando son un .dbf, .prj, .qpj, .shp y .shx. Simplemente estoy arrastrando el archivo .shp a QGIS, y el mapa aparece como una capa. Básicamente un mapa del Reino Unido dividido en regiones (que quiero) y cubierto de puntos (que no quiero).

map view table view

Así es como se ve de cerca. Hice una disolución para ver si entraban en la capa circundante, sin suerte:

close-up view of polygons

0 votos

¿Cuáles son exactamente los datos con los que trabaja? ¿Un archivo de proyecto .qgs con varias capas? ¿Y a qué tipo de fuente de datos (tipo de archivo, base de datos ) está accediendo?

0 votos

Hola Matthias. Pregunta original editada para añadir detalles de los datos.

0 votos

¿Podría subir una captura de pantalla de la tabla de atributos de sus datos?

24voto

Dalroth Puntos 2468

Parece que estás trabajando con Punto de código de Ordnance Survey que es un conjunto de datos de las zonas de código postal de Gran Bretaña e Irlanda del Norte.

Los "puntos" a los que te refieres son pequeños polígonos cuadrados que representan las llamadas "calles verticales": pilas de más de un código postal, que no pueden representarse utilizando polígonos "convencionales" (para más detalles, véase el comentario de Andy Harfoot). Puede que se lo piense dos veces antes de eliminar estos polígonos si necesita los códigos postales afectados para su análisis.

Dicho esto, he aquí cómo se pueden eliminar estos polígonos:

  1. Seleccione todos los polígonos verticales de la calle haciendo clic en "Seleccionar características utilizando una expresión" e introduciendo "POSTCODE" LIKE 'V%' . Esto seleccionará todas las características que tienen un código postal que comienza con V que son las calles verticales.

  2. Borrar simplemente las características no servirá de nada, ya que los polígonos dejarán agujeros, como ya has notado. En su lugar, puede fusionar las calles verticales con un polígono grande vecino utilizando "Vector / Herramientas de geoprocesamiento / Eliminar polígonos de astillas", guardando el resultado en un nuevo archivo.

  3. Es posible que aparezca el mensaje de advertencia de que algunas características no han podido ser disueltas, junto con una lista de ID de características. Si también quiere deshacerse de estas características, seleccione las calles verticales en la nueva capa utilizando la expresión de antes, y luego haga una de las siguientes cosas:

    1. Si desea una solución automática, puede disolver las calles verticales junto con todos los polígonos vecinos. Guarde la selección en una nueva capa utilizando "Capa / Guardar selección como archivo vectorial" y, a continuación, utilice "Vector / Herramientas de investigación / Seleccionar por ubicación" para seleccionar los elementos de la capa combinada que se cruzan con las calles verticales infractoras, creando una nueva selección. A continuación, disuelva esta selección utilizando "Vector / Herramientas de geoprocesamiento / Disolver", eligiendo --- Dissolve all --- en el "campo de disolución". Tenga en cuenta que este enfoque puede llevar a la disolución no deseada de polígonos "propios" si la calle vertical infractora está en el límite de otros dos polígonos, o si hay calles verticales infractoras dentro de dos polígonos vecinos.

    2. Si quiere evitar la disolución de otros polígonos, puede seleccionar manualmente las calles verticales y un polígono adyacente, teniendo cuidado de no seleccionar dos polígonos vecinos, y luego disolverlos como arriba.

3 votos

¡Excelente recorrido por la fuente, los riesgos, las opciones y el proceso que el OP pidió originalmente!

1 votos

Punto menor: las calles verticales existen cuando hay una pila vertical de más de un código postal, lo que impide su representación como polígono "convencional" en el conjunto de datos. Esto suele ocurrir en bloques de torres residenciales o edificios de oficinas. Se proporciona una lista como complemento del conjunto de datos principal de polígonos de puntos de código que amplía el código de la calle vertical (que empieza por V) en los múltiples códigos postales que la componen.

0 votos

@AndyHarfoot: Ah sí, ¡gracias por la aclaración! He editado mi respuesta

2voto

Begum Puntos 21

Intenta invertir tu metodología. En lugar de intentar seleccionar y eliminar miles de puntos, ¿ha intentado seleccionar los polígonos y crear una nueva capa a partir de esa selección? Esto no sería demasiado tedioso si tuvieras un método para eliminar manualmente todos los puntos, sólo tienes que seleccionar las características de los polígonos y crear una capa o exportarlas. Si estos puntos son polígonos pequeños, como otros han comentado, todavía puede seleccionar sólo los polígonos que desea mantener y exportar.

1voto

Cheetah Puntos 548

Como se sugiere en Cómo eliminar de los mutipolígonos todos los polígonos menos el más grande en QGIS , podría utilizar

Processing Toolbox > Vector Geometry > Keep N Biggest Parts

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