Estoy procesando un gran mapa con varios cientos de miles de polígonos de edificios en QGIS 2.18. Por desgracia, he tenido que unir este mapa a partir de varias piezas más pequeñas y superpuestas, por lo que bastantes de ellas aparecen varias veces. Dado que necesito agregar los datos de los edificios más tarde, necesito deshacerme de los polígonos múltiples ahora.
Todos los polígonos tienen ID (cadena, no consecutiva) y por eso esperaba que fuera posible filtrar los duplicados en la tabla de atributos. Encontré un python script en Identificar los atributos duplicados que (según tengo entendido) debería ser una solución sencilla y elegante
from qgis.core import *
from qgis.gui import *
@qgsfunction(args='auto', group='Custom')
def FindDublicate(IDfield, feature, parent):
uniqueList = []
if IDfield in uniqueList:
return 1
else:
uniqueList.append(IDfield)
return 0
Sin embargo, no me funciona: El retorno es siempre '0'.
¿Puede alguien decirme cómo debe ser el script para que funcione bajo QGIS 2.18.1 o si hay una solución alternativa al problema?
Nota al margen: También probé varios métodos para limpiar la geometría pero ninguno funcionó: La función v.clean de GRASS GIS 7 no muestra ningún efecto, y la herramienta de borrado de duplicados de MMQGIS simplemente hace que QGIS se bloquee.
0 votos
¿sus duplicados comparten realmente un ID?
0 votos
Yo utilizo el comprobador de topología para este tipo de problemas, pero aun así tendrás que eliminar tú mismo los duplicados y eso quizá sea mucho trabajo para un archivo tan grande.
0 votos
Pues sí. Parece osgb1000000096774422 (formato de cadena y no consecutivo)