Belirli bir sektördeki tüm işverenlerin ofis konumlarını temsil eden bir nokta özellik sınıfım var. Feature sınıfı, her ofiste çalışanların sayısını saklama özelliğine sahiptir. Birisi, mümkün olan en küçük coğrafi birime (bu durumda Sayım Blokları) mekansal olarak birleştirilen bu verileri kullanmak istedi. Ancak, bir gizlilik sözleşmesi verilerin yayınlanmasını olduğu gibi engeller. Bunun yerine, iki kriteri karşılaması gerekir:
- Herhangi bir çokgen en az 3 işveren (puan) içermelidir;
- Bir poligon içindeki toplam istihdamın% 80'inden fazlası tek bir işveren tarafından gerçekleştirilemez.
Her biri toplam ve maksimum istihdam tutarak mekansal olarak sayım bloklarına noktaları birleştiren bir senaryo yazdım. Bastırma kriterlerini karşılamayan her biri işaretlenir. (Hiçbir nokta içermeyen çokgenler işaretlenmez, çünkü bastırılacak veri yoktur.) Daha sonra her Blok Grubunu , içinde işaretlenmiş Blokların bulunup bulunmadığını görmek için kontrol ederim . Yalnızca işaretlenmemiş Blokları içeren Blok Grupları daha sonra Bloklarla değiştirilir. Sonuçta elde edilen özellikler sınıfı, Blok Gruplarının verileri yeterince bastırıp bastırmadığını kontrol etmek için bastırma kriterlerine göre kontrol edilir.
Aynı işlem, Tracts için tekrarlanır ve beni Tracts (bazıları işaretlenmiş ve bazıları değil), Block Groups and Blocks (tümü işaretsiz) içeren bir veri kümesi bırakır. Bununla birlikte, coğrafi hiyerarşideki bir sonraki ilerleme, bu verileri isteyen kişiye hiçbir fayda sağlamayan ilçedir.
O zaman sorum şu: Çokgenleri mümkün olduğunca çok gruba toplamak için yaygın olarak kabul edilen herhangi bir yöntem var mı, böylece hepsi bazı minimum kriterleri karşılar mı?
Toplamaya uygulamak istediğim bazı kurallar:
- Mümkün olduğunda, işaretli Traktörler yalnızca diğer işaretli Traktörlerle toplanmalıdır;
- Başkaları ile bitişik olmayan işaretli Traktörler (veya hala kriterleri karşılamayan izole gruplar) için, aralarında ayrıca işveren bulunmayan Traktörler de bulunabilmesine rağmen, zaten kriterlere uyan Tracts ile birleştirilebilirler. dahil edilmesi gerekiyor.
- Kesinlikle imkansız olmadıkça ilçe sınırlarını sağlam tutmak istiyorum (ve bunu işlemden önce girdi özelliklerini ilgili ilçelere ayırarak yapmayı umuyorum).
- Çözüm, ArcGIS araçları veya açık kaynaklı Python kitaplıkları kullanılarak Python'da olmalıdır.
İdeal olarak, birisi beni bu toplama işlemini uygulamak için mevcut bir yola yönlendirebilir. Değilse, belirli adımların / araçların bir listesi çok takdir edilecektir, ancak algoritmayı kendim kodlamak için mutluyum. Sorun, (bitişik çokgenlerle) özel bir yeniden dağıtım örneği olarak karşımıza çıkıyor ve bu amaçla PySAL'ın bölgeselleştirme algoritmalarını kullanmayı araştırdım , ancak bunları kullanan toplam çalışanların maksimum çalışan yüzdesini nasıl kontrol edeceğim açık değil .