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:
- ! ograniczył triangulację delaunay twojej osłony, z dodatkowymi punktami siatki granicznej do wykrywania poza osłoną
- umieść to w schemacie indeksowania poczwórnego z nie więcej niż N trójkątami na pudełko (segmenty fraktalne)
- znajdź zestaw trójkątów, do którego należy punkt - liść w kwadracie
- znajdź trójkąt, w którym leży punkt (część testowa powyżej maks. N trójkątów)
- i poproś o identyfikatory wielokątów wierzchołków trójkąta
- jeśli identyfikator jest unikalny, punkt należy do wielokąta, jeśli nie, to jest na zewnątrz
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