Mam dwa wielokąty,
POLYGON ((- 5 -5, -5 5,5 5,5 -5, -5 -5)) POLYGON ((1 1, 1 7, 7 7, 7 1, 1 1))
i chcę je równomiernie podzielić. Wynik powinien być podzielony wzdłuż czerwonej zaznaczonej linii.
Używam qgis / python zgrabnie i chcę to zrobić za pomocą python.
Odpowiedzi:
Kiedyś użyłem podejścia z wielokątami voronoi. Zrobiłem to własnoręcznie. Mam niejasne wyobrażenie o tym, jak można to zrobić zgrabnie, ale oto jak to wygląda.
Najpierw wyodrębnisz wierzchołki każdego nakładającego się wielokąta i utworzysz z nich wielokąty Voronoi (wektor> narzędzia geometrii> wyodrębnij węzły i wektor> narzędzia geometrii> vononoi). Dzięki uzyskanemu kształtowi możesz narysować linię, która dzieli dokładnie obszar nakładania się na dwie części. (Jasna zielona linia)
Przycinasz warstwę voronoi nakładającym się wielokątem i usuwasz zakładkę z oryginalnych kształtów, a następnie wklejasz przycięty wielokąt voronoi z oryginalnymi kształtami. Wybierz, scal, voilà!
Teraz wygląda trochę prymitywnie, ponieważ moje są naprawdę prostymi kształtami. Ale jeśli go zagęścisz (wektor> narzędzia geometrii> geometrie gęstości) i dodasz około 20 węzłów między każdym istniejącym wierzchołkiem, możesz to zrobić:
Co jest znacznie lepsze. Łatwo, jeśli masz tylko niewielką liczbę kształtów do zmodyfikowania.
źródło