[EDITAR: la solución a esto fue simplemente usar OGR para leer archivos de forma. Ver el ejemplo de geographika.]
En un archivo de forma ESRI, no hay distinción entre Polígonos y MultiPolygons. Además, no existe una distinción explícita entre los agujeros interiores y los anillos exteriores (además de la "mano" de un polígono dado).
Entonces, después de leer un archivo de forma, tengo una lista de secuencias de coordenadas que describen los anillos, pero sin un procesamiento más intenso, no puedo distinguir cuáles de estos anillos son anillos exteriores, agujeros interiores o polígonos adicionales.
Parece que para bien formada 's constructores polígono y MultiPolygon, tiene que haber una clara distinción entre el exterior y los anillos interiores, así que ¿cómo debería pasar de una lista clara de los anillos de un conjunto ordenado de polígonos separados, con un interior claramente designada y los anillos exteriores ?
Para resumir: si tengo una lista de anillos de polígonos, pero no sé qué anillos son agujeros en el interior o son polígonos separados, ¿cómo debo clasificarlos mejor en polígonos separados con agujeros interiores designados?
Estoy buscando una solución algorítmica simple que pueda implementar en python, que pueda usarse para procesar cientos de polígonos en ~ un minuto o menos, y lo estoy haciendo para realizar una gran cantidad de intersecciones.