Saya memiliki dua poligon: Poligon 1 dan Poligon 2.
Dengan menggunakan dua metrik, luas dan panjang perimeter, saya ingin menyatakan secara kuantitatif bahwa Polygon 1 memiliki perimeter yang lebih tidak rata / bergerigi / tidak beraturan daripada Polygon 2.
Setiap poligon memiliki panjang perimeter yang sama tetapi masing-masing mencakup area yang sangat berbeda. Untuk menghitung ketidakrataan / ketimpangan / ketidakteraturan setiap poligon, harus perhitungannya adalah:
area/perimeter
atau
perimeter/area
Saya pikir perimeter/area
, tetapi kemudian saya menemukan posting blog ini yang menggunakan area/perimeter
: http://www.r-bloggers.com/measuring-the-gerrymander-with-spatstat/
spatial-statistics
luciano
sumber
sumber
Jawaban:
Lihatlah program yang disebut FRAGSTATS ( http://www.umass.edu/landeco/research/fragstats/downloads/fragstats_downloads.html ). Di bagian metrik tambalan disebutkan "Indeks Dimensi Fraktal" yang catatan menyatakan "indeks dimensi fraktal menarik karena mencerminkan kompleksitas bentuk di berbagai skala spasial (ukuran patch). Dengan demikian, seperti indeks bentuk (SHAPE), indeks ini mengatasi salah satu batasan utama rasio perimeter lurus sebagai ukuran kompleksitas bentuk. ” ( http://www.umass.edu/landeco/research/fragstats/documents/Metrics/Shape%20Metrics/Metrics/P9%20-%20FRAC.htm ).
sumber
Hubungan area ke perimeter tidak berarti banyak, persegi dan persegi panjang mungkin akan dianggap memiliki kerikil yang sama tetapi mereka bisa memiliki perimeter yang sama dan semakin jauh dari persegi persegi adalah, semakin sedikit area.
Untuk menghitung "jaggedness", saya pikir Anda perlu tahu berapa banyak simpul pada sudut yang lebih besar dari 180 derajat. Ini seharusnya tidak terlalu sulit untuk dihitung jika Anda menggunakan toko geometri di mana arah rotasi poligon diketahui (biasanya berlawanan arah jarum jam, dalam hal ini jika Anda pergi dari titik 1 ke titik 2, sudutnya melebihi 180 derajat jika titik 3 ada di sebelah kanan garis yang ditentukan oleh poin 1 dan 2). Kalau tidak, Anda perlu menentukan rotasi terlebih dahulu.
sumber
Coba Indeks Perimeter Normalisasi ( http://clear.uconn.edu/tools/Shape_Metrics/ ). Indeks perimeter yang dinormalisasi menggunakan lingkaran area yang sama untuk menormalkan metrik. Jadi rumus ini efektif (dengan Python, impor matematika)
normPeriIndex = (2*math.sqrt(math.pi*Area))/perimeter
Sebagai contoh Anda:
Poligon 1: Indeks Perimeter Normal = 0,358
Poligon 2: Indeks Perimeter Normal = 0,947
Indeks perimeter yang dinormalisasi membandingkan perimeter input ke poligon paling kompak dengan area yang sama (lingkaran area sama), artinya Anda dapat menggunakannya untuk mengidentifikasi fitur dengan batas tidak beraturan. Hal hebat lainnya adalah mudah dan cepat untuk dihitung.
Anda juga dapat melihat dispersi yang dinormalisasi, yang menghitung jarak rata-rata dari titik di sepanjang perimeter dari centroid (dispersi). Untuk ini Anda juga akan menghitung deviasi, yang merupakan perbedaan rata-rata antara setiap jarak dan jari-jari lingkaran area yang sama, maka rumus terakhirnya adalah (dispersi - deviasi) / dispersi.
sumber