Tengo un grupo de polígonos. Mi objetivo es encontrar los polígonos duplicados de este grupo de polígonos.
Utilizando NetTopologySuite (Un port c# de JTS), es posible comparar dos geometrías y comprobar si son iguales. El método de fuerza bruta (comprobar cada polígono contra cada otro polígono) es la única idea que me viene a la mente, pero no es utilizable si hay un gran número de polígonos. ¿Existe algún algoritmo que mejore la fuerza bruta en este caso?
He encontrado este script que parece contener ideas de lo que estoy buscando (los comentarios indican un enfoque de divide y vencerás pero no hay muchos detalles en los comentarios). Pero tengo que admitir que no puedo sacar nada de ella :) .. Se hizo para ArcView, que no estoy familiarizado con.
Nota: No busco una solución PostGIS/base de datos como en esta pregunta . Busco algo que pueda integrarse en AutoCAD, Quantum GIS o productos SIG de escritorio mediante personalización (c#, c++, python, etc.).
1 votos
Me imagino una modificación utilizando algo como toblerity.github.com/rtree sería de gran ayuda. Construir un índice espacial y comprobar si hay duplicados mientras se construye el índice.
0 votos
@PeterSmith - ¡Creo que es una buena idea! .. ¿Por qué no añadir esto como una respuesta .. Creo que NetTopologySuite tiene Rtree incorporado .. tendrá que cavar en ..