[EDIT: a solução para isso era simplesmente usar OGR para ler shapefiles. Veja o exemplo da geographika.]
Em um shapefile da ESRI, não há distinção entre polígonos e multipolígonos. Além disso, não há distinção explícita entre orifícios internos e anéis externos (além da "mão" de um determinado polígono).
Então, depois de ler um shapefile, tenho uma lista de sequências de coordenadas que descrevem anéis, mas sem um processamento mais intenso, não consigo distinguir quais desses anéis são anéis externos, orifícios internos ou polígonos adicionais.
Parece que para bem torneadas do polígono e MultiPolygon construtores, deve haver uma distinção clara entre exterior e anéis interiores, assim como eu deveria passar de uma lista claro de toques para um conjunto ordenado de polígonos separados, com interior claramente designada e anéis exteriores ?
Resumindo: se eu tenho uma lista de anéis poligonais, mas não sei quais anéis são orifícios no interior ou polígonos separados, como devo classificá-los em polígonos separados com orifícios internos designados?
Estou procurando uma solução algorítmica simples que eu possa implementar em python, que possa ser usada para processar centenas de polígonos em ~ um minuto ou menos, e estou fazendo isso para realizar um grande número de interseções.