Saya perlu menerapkan teorema empat warna dalam bentuk poligonal sehingga saya tidak perlu memilih secara manual setiap warna untuk diletakkan di setiap wilayah. Saya ingin tahu apakah ada ekstensi, plug-in, skrip, atau basis data yang dapat digunakan dengan ArcGIS dan ArcToolBox untuk melakukannya secara matematis atau terprogram, sehingga saya dapat menggunakannya untuk saat ini dengan setiap peta yang saya buat.
arcgis-desktop
arctoolbox
polygon-creation
color
four-color-theorem
Please_Dont_Bully_Me_SO_Lords
sumber
sumber
R
kode kerja ) dan solusi optimal (yang akan menggunakan tiga atau bahkan dua warna jika mereka dapat ditemukan berfungsi) di Mathematica . Solusi itu bersifat rekursif; yang membalas posting saya memberikan solusi pemrograman linear. Manifold GIS telah lama memiliki algoritma lima warna yang terintegrasi. (Empat warna sulit dilakukan; lima warna relatif mudah dicapai.)Jawaban:
Pertama-tama, terima kasih atas semua jawaban dan komentar. Sayangnya, alat yang ada tidak sepenuhnya kompatibel dengan versi terbaru QGIS dan ArcGIS. Oleh karena itu saya membuat solusi sendiri menggunakan alat yang ditunjukkan oleh @polygeo, plugin QGIS dari @Alexandre dan nama algoritme (peta empat warna) dari @Jens.
Berikut ini adalah kode saya untuk mereka yang tertarik (untuk ArcGIS tetapi bagian kedua juga dapat digunakan di QGIS).
Perhatikan bahwa algoritme tidak menjamin bahwa hanya 4 warna yang digunakan: meskipun telah terbukti bahwa solusinya ada, "kekuatan kasar" diperlukan untuk mencapainya. Dalam kasus saya, saya mendapat 7 warna yang cukup kecil. Script bisa memiliki loop tambahan hingga solusinya ditemukan, tetapi saya perlu melakukannya untuk ratusan peta dan 7 warna OK.
sumber
Ada sampel pengembang VB6 dan alat geoprosesing ArcGIS 9.x tetapi dari komentar di Ide ArcGIS ini mereka tidak berfungsi di 10.0+.
Mungkin seseorang akan tertarik untuk memindahkannya.
Solusi QGIS yang disebut TopoColour diberikan dalam komentar dari pertanyaan terkait ini: Poligon warna sehingga masing-masing berbeda dari tetangganya
sumber
Jika Anda menggunakan QGIS, saya percaya bahwa yang Anda butuhkan adalah plugin Coloring a map .
Sayangnya, plugin ini hanya tersedia untuk versi QGIS 1.8, tetapi Anda selalu dapat mengunduh dan melihat bagaimana kodenya bekerja!
sumber
Ini adalah adaptasi dari jawaban @ radouxju ke dalam suatu fungsi. Ini akan menambahkan bidang warna ke lapisan fitur input dan menghitung. Ini harus bekerja terlepas dari akhiran nama bidang PolygonNeighbors (mereka tampaknya berbeda untuk versi pengguna / input / arcgis yang berbeda (?))
sumber