Bazı çokgenler (Coğrafya veri türü kullanılarak saklanan) ile bir PostGIS tablo var. Küresel bir dünya üzerindeki bölgeleri temsil ederler.
Tüm çokgenler arasından seçilen her bir köşe çifti için, bu iki köşenin birbirine "görünür" olup olmadığını hesaplamak istiyorum. (Bu tür n * ( n -1) / 2 vardır, burada n , tablodaki tüm çokgenler arasındaki toplam benzersiz köşe noktası sayısıdır.) "Birbirine görünür" derken, iki köşe tablodaki çokgenlerle kesişmez.
Tercihen PostgreSQL / PostGIS'de bu hesaplamayı yapmanın en hızlı yolu nedir?
İşe yarayan bir şeyim var, ama yavaş. Sadece tüm çiftler üzerinde saf bir şekilde tekrar ediyorum ve aralarındaki LineString'in herhangi bir çokgenle kesişip kesişmediğini görüyorum. (PostGIS'in coğrafya veri türü, küredeki tüm zor matematiği benim için işler.) Bu yüzden, işleri hızlandırabilecek akıllı bir veri yapısı veya algoritma olup olmadığını merak ediyorum.