Często stosuje się indeks przestrzenny obwiedni, aby poprawić wydajność podczas pracy z dużą liczbą funkcji. W przypadku wykonywania operacji na poszczególnych geometriach z dużą liczbą wierzchołków istnieją podobne strategie optymalizacji?
Na przykład, czy istnieją jakieś struktury danych, które mogą przyspieszyć punkt w operacjach wielokąta lub unii?
algorithm
optimization
indexing
Matthew Snape
źródło
źródło
R
) zaoferuje użytkownikowi znacznie większa kontrola nad takimi rzeczami.Odpowiedzi:
OK tylko dla punktu w wielokącie:
Myślę, że problem opiera się na „fraktalnej naturze” obiektów 2d oraz niepewnym i niezrównoważonym rozkładzie informacji przestrzennej. Jeśli masz regularną siatkę, łatwo jest obliczyć pozycję lub relację komórki. Ale izolina modelu terenu może mieć po bokach nieskomplikowane części, a po drugiej skomplikowane matematycznie (części aktywne morfologicznie, np. Grzbiety, doliny ...).
Indeksowanie próbuje obsłużyć dwie rzeczy:
Szybka rutyna, która daje zestaw wiader, w których zbierasz przedmioty, które możesz przestrzennie odróżnić (wiadra!). A BBoxy są łatwe do obliczenia i obsługi.
Zestaw relacji (nakładanie się, dotyk) w celu rozróżnienia lub powiązania rzeczy przestrzennych (obiektów).
Niestety, BBoxy nie dadzą ci pojęcia, ile punktów jest w każdym BBoxie, jak kształtują się obiekty (dziury, wypukłe, ...) i jak lokalnie rozmieszczone są informacje (90% punktów w lewym górnym rogu BBox). Możesz więc znaleźć członków szybkiej operacji na poziomie obiektu i stracić wiele czasu w budowaniu relacji testu.
Aby zastosować bardziej nieregularne podejście, triangulacja IMO w połączeniu z i quadtrees jest jedną ze strategii, w których można zbliżyć segmentowanie i część budującą relację do indeksu (segment == budowanie relacji).
W przypadku testu Point-in-Polygon-Test możliwe jest zbudowanie nieregularnej pamięci podręcznej przy użyciu:
Koszt budowy puszki i czworoboków jest bardzo wysoki i trudny do obliczenia, a czworobok musi równoważyć duże i małe trójkąty (trójkąty, które nie zmieszczą się w mniejszych polach poddrzewa).
Niektóre narzędzia i linki:
Trójkąt - Ograniczenie triangulacji wielokąta
Czwórki - z przykładami źródeł
Repozytorium Stony Brook - Struktury danych i geometria rozproszona
źródło