[EDYCJA: rozwiązaniem tego było po prostu użycie OGR do odczytu plików kształtów. Zobacz przykład geographika.]
W pliku kształtu ESRI nie ma rozróżnienia między wielokątami i wielokątami. Co więcej, nie ma wyraźnego rozróżnienia między wewnętrznymi otworami a zewnętrznymi pierścieniami (poza „przydatnością” danego wielokąta).
Po przeczytaniu pliku kształtu mam listę sekwencji współrzędnych opisujących pierścienie, ale bez bardziej intensywnego przetwarzania nie jestem w stanie odróżnić, które z tych pierścieni są pierścieniami zewnętrznymi, wewnętrznymi otworami lub dodatkowymi wielokątami.
Wygląda na to, że w przypadku konstruktorów foremnych wielokątów i wielokątów musi istnieć wyraźne rozróżnienie między pierścieniami zewnętrznymi i wewnętrznymi, więc jak przejść od niejasnej listy pierścieni do uporządkowanego zestawu oddzielnych wielokątów z wyraźnie oznaczonymi pierścieniami wewnętrznymi i zewnętrznymi ?
Podsumowując: jeśli mam listę pierścieni wielokąta, ale nie wiem, które pierścienie są dziurami we wnętrzu lub osobnymi wielokątami, jak najlepiej posortować je na osobne wielokąty z wyznaczonymi otworami wewnętrznymi?
Szukam prostego rozwiązania algorytmicznego, które mogę zaimplementować w pythonie, którego można użyć do przetworzenia setek wielokątów w około minutę lub mniej i robię to, aby wykonać dużą liczbę skrzyżowań.