Saya memiliki kelas fitur titik yang mewakili lokasi kantor semua pengusaha di industri tertentu. Kelas fitur memiliki atribut untuk menyimpan jumlah karyawan yang bekerja di setiap kantor. Seseorang telah meminta untuk menggunakan data ini, bergabung secara spasial ke unit geografis sekecil mungkin - Blok Sensus, dalam hal ini. Namun, perjanjian privasi mencegah rilis data apa adanya. Sebaliknya, harus ditekan untuk memenuhi dua kriteria:
- Setiap poligon harus mengandung setidaknya 3 perusahaan (poin);
- Tidak lebih dari 80% dari total pekerjaan dalam satu poligon mungkin oleh satu perusahaan.
Saya telah berhasil menulis skrip yang secara spasial menggabungkan poin ke Blok Sensus, menjaga jumlah dan pekerjaan maksimum di masing-masing. Masing-masing yang tidak memenuhi kriteria penindasan ditandai. (Poligon yang tidak mengandung titik tidak ditandai, karena tidak ada data untuk ditekan.) Saya kemudian memeriksa setiap Grup Blok untuk melihat apakah ada Blok yang ditandai ada di dalamnya. Grup Blok yang hanya berisi Blok yang tidak ditandai kemudian diganti dengan Blok. Kelas fitur yang dihasilkan kemudian diperiksa terhadap kriteria penindasan, untuk memeriksa apakah Grup Blok telah cukup menekan data.
Proses yang sama diulang untuk Tracts, meninggalkan saya dengan dataset yang terdiri dari Tracts (beberapa ditandai dan beberapa tidak), Grup Blok dan Blok (semua tidak ditandai). Namun perkembangan selanjutnya dalam hierarki geografis adalah county, yang tidak berguna bagi orang yang meminta data ini.
Pertanyaan saya, kemudian, apakah ini: Adakah metode agregasi poligon yang dapat diterima secara umum ke dalam kelompok sebanyak mungkin, sehingga semuanya memenuhi beberapa kriteria minimum?
Berikut adalah beberapa aturan yang ingin saya terapkan pada agregasi:
- Kapan saja memungkinkan, Traktat yang ditandai hanya boleh digabungkan dengan Traktat yang ditandai lainnya;
- Untuk Traktat yang ditandai yang tidak berdekatan dengan yang lain (atau pengelompokan terisolasi yang masih belum memenuhi kriteria), Traktat tersebut dapat digabungkan dengan Traktat yang sudah memenuhi kriteria, meskipun mungkin ada Traktat dengan tidak ada majikan di antara mereka yang juga akan perlu dimasukkan.
- Saya ingin menjaga batas-batas county tetap utuh kecuali benar-benar mustahil (dan saya mengantisipasi melakukan ini dengan memisahkan fitur input ke negara masing-masing sebelum memprosesnya).
- Solusinya harus dalam Python, dengan menggunakan alat ArcGIS atau perpustakaan Python open-source.
Idealnya, seseorang dapat mengarahkan saya ke sarana yang ada untuk mengimplementasikan agregasi ini. Jika tidak, saya senang untuk mengkodekan algoritma sendiri, meskipun daftar langkah / alat khusus akan sangat dihargai. Masalahnya menurut saya sebagai kasus khusus redistricting (dengan poligon dis-berdekatan), dan untuk tujuan ini saya telah melihat ke dalam menggunakan algoritma regionalisasi PySAL , meskipun tidak jelas bagi saya bagaimana memeriksa persentase maksimum majikan dari total karyawan yang menggunakan ini .