Şehir mahallelerini, geniş alanları temsil eden çokgenler setim var. Aralarındaki büyük örtüşen alanları tanımlamak istiyorum.
Ancak bir sorun var: bazen bu çokgenler çevreleri boyunca örtüşür (çünkü az bir hassasiyetle çizilirler). Bu, umursamadığım uzun ve dar çakışmalar oluşturacaktır.
Ancak diğer zamanlarda, güçlü çokgenlerle büyük örtüşmeler olacak, yani bir mahallenin çokgeninin diğeriyle örtüştüğü geniş alanlar olacak. Sadece bunları seçmek istiyorum.
Yalnızca çakışmaların aşağıdaki resmine bakın. Sadece sol alt köşedeki mavi çokgeni seçmek istediğimi düşünün.
Alanlara bakabilirdim, ama bazen dar olanları o kadar uzun olurlar ki mavi poligon kadar büyük alanlara sahip olurlar. Alan / çevre oranı yapmaya çalıştım, ama bu da karışık sonuçlar verdi.
Kullanmayı bile denedim ST_MinimumClearance
, ancak bazen geniş alanların dar bir kısmı veya iki çok yakın köşesi olacak.
Başka yaklaşımlarla ilgili fikirleriniz var mı?
Sonunda benim için en iyi olan şey, aşağıdaki @Cyril ve @FGreg tarafından önerildiği gibi negatif bir tampon kullanmaktı.
Gibi bir şey kullandım:
ST_Area(ST_Buffer(geom, -10)) as neg_buffer_area
Benim durumumda, birimler metre idi, bu yüzden 10 m negatif tampon.
Dar çokgenler için bu alan sıfır döndürdü (ayrıca geometri boş olurdu). Sonra bu sütunu dar çokgenleri filtrelemek için kullandım.