Saya memiliki dua shapefile yang mewakili kisi-kisi dengan nilai-nilai yang dilambangkan dengan warna-warna bertingkat, yang ditunjukkan di bawah ini:
Anda dapat melihat bahwa kedua shapefile mencakup rentang data yang serupa, tetapi menetapkan warna yang sedikit berbeda untuk rentang dalam data ini. Saya ingin menyimbolkan rentang di masing-masing dua shapefile menggunakan warna yang sama untuk rentang yang sama, memungkinkan perbandingan yang lebih mudah antara file dan memungkinkan legenda tunggal untuk digunakan.
Namun, ketika saya mencoba untuk mengklasifikasikan rentang dengan interval manual, ArcGIS memaksa apa yang seharusnya menjadi rentang paling atas untuk juga memasukkan nilai minimum dari dataset. Anda dapat melihat ini di kisaran "-81.64 - 10.00" dari bingkai data kiri, di bawah ini. Ini memaksa seluruh lapisan disimbolkan dengan warna ini. Pada dasarnya, ArcGIS mensyaratkan bahwa nilai minimum dalam dataset digunakan sebagai nilai di salah satu rentang.
Apakah ada cara untuk menghindari fitur ini?
Jawaban:
Ini pasti menyebalkan ketika ArcMap mencoba menjadi, um, membantu bahkan ketika Anda benar-benar tidak menginginkannya.
Satu solusi yang saya temukan adalah membuat set data sementara baru, dan menambahkan beberapa poin dengan nilai minimum dan maksimum yang Anda tahu akan Anda butuhkan dalam output - pastikan untuk mencakup seluruh jajaran.
Buat simbologi Anda berdasarkan dataset palsu ini dan simpan simbologi ini dalam file layer :
... lalu Impor simbologi dari file * .lyr ke set data asli Anda:
sumber
@ChrisW berkata:
Ini membuat saya berpikir, dan saya benar-benar menemukan cara untuk mengatur kisaran klasifikasi di bawah nilai minimum. Masalah asli saya dibuat berdasarkan fakta bahwa kisaran klasifikasi terendah diperlukan untuk memuat nilai minimum dalam data.
Namun, tidak ada batasan seperti itu ditempatkan pada rentang klasifikasi lain yang digunakan. Oleh karena itu, seseorang dapat memaksa dua (atau lebih) rentang klasifikasi untuk jatuh di bawah nilai minimum dalam data. Salah satunya akan mewakili kisaran klasifikasi minimum yang disukai, sementara yang lain akan berfungsi sebagai rentang dummy untuk mengandung nilai minimum.
Inilah titik awal yang saya gunakan untuk klasifikasi. Masing-masing lapisan dalam empat kerangka data diklasifikasikan menggunakan interval 10 kaki yang ditentukan tanpa memperhatikan rentang data lapisan lainnya.
Rentang klasifikasi maksimum di salah satu dari empat kerangka data adalah "0,01 hingga 10,00", dan rentang klasifikasi minimum adalah "-110,62 hingga -110,00" (yang idealnya akan menjadi "-119,00 hingga -110,00"). Karena saya berusaha mempertahankan interval 10 kaki, ini berarti total 13 interval.
Saya menggunakan bingkai data kiri atas sebagai sumber untuk legenda generik saya. Saya mulai dengan membuka Properti Lapisan dan pergi ke Klasifikasi. Karena saya ingin 13 interval terlihat, saya harus memilih 14 interval untuk memiliki rentang dummy yang tersedia. Saya melakukan ini dengan memilih Manual sebagai metode dan membuat 14 kelas.
Dengan rentang yang diatur dalam kondisi saat ini (dengan nilai terbesar di bagian atas), setiap perubahan pada nilai yang dimasukkan dalam rentang tidak akan memengaruhi apa pun selain rentang di bagian paling bawah daftar. @ChrisW menunjukkan bahwa ini bukan bug, melainkan fitur bagaimana ArcGIS menetapkan nilai break. Ini adalah jendela Layer Properties setelah memilih metode Manual tetapi sebelum membuat perubahan apa pun pada rentang:
Untuk mengatasi masalah ini, saya sementara membalikkan penyortiran lapisan. Pada titik ini, rentang terendah ada di atas, sedangkan rentang tertinggi ada di bawah.
Sekarang, jika saya gulir ke bagian bawah daftar rentang (di mana rentang tertinggi ditampilkan) dan mulai mendefinisikan interval yang tepat dari bawah ke atas, ArcGIS akan mengingat rentang yang saya tentukan:
Dalam gambar ini, saya telah menetapkan nilai teratas dalam 5 dari 14 rentang, dimulai dengan nilai terbesar (10.00) dan bekerja ke bawah.
Ketika saya mencapai bagian atas daftar dan mengedit rentang ke-14 saya, nilai minimumnya masih akan didefinisikan sebagai nilai minimum dalam lapisan, karena tidak ada rentang lain di bawahnya untuk menarik nilai dari:
Ini tidak masalah, karena itu adalah rentang dummy yang saya sebutkan sebelumnya. Pada titik ini, saya membalikkan penyortiran lapisan sekali lagi, sehingga rentang tertinggi lagi di atas. Gambar di bawah ini menunjukkan legenda yang diperbarui untuk bingkai data kiri atas, yang sekarang mencerminkan rentang yang tepat untuk keempat frame data, termasuk rentang boneka ke-14:
Langkah selanjutnya adalah menyebarkan perubahan ini ke seluruh frame data. Namun, beberapa masalah tampak jelas ketika saya mencoba mengimpor simbologi ke bingkai data lainnya:
Seperti yang ditunjukkan oleh @ChrisW, ini disebabkan oleh keputusan saya untuk memulai dengan layer yang tidak memiliki nilai minimum absolut di semua frame data. Tampaknya bingkai data tidak akan menampilkan rentang apa pun yang berada di bawah rentang yang ada dalam bingkai data asli.
Jika Anda memulai dengan layer seperti yang saya lakukan, solusi terbaik yang saya temukan untuk ini adalah mengulangi langkah-langkah yang saya bahas di atas untuk masing-masing dari empat frame data; secara manual mendefinisikan 14 kelas, membalikkan penyortiran kelas, mendefinisikan ulang bagian atas setiap rentang, lalu membalikkan penyortiran untuk menempatkan rentang tertinggi di bagian atas.
Namun, solusi paling sederhana adalah memulai proses klasifikasi dengan layer yang memiliki nilai terkecil. Opsi Impor Simbologi kemudian dapat digunakan dengan benar untuk bingkai data lainnya.
Akhirnya, saya bisa menghapus tiga legenda dan menyembunyikan rentang dummy dalam legenda yang tersisa atau mengubahnya menjadi grafik dan menghapus rentang dummy.
sumber
Saya menemukan masalah yang sama, saya pikir .... Jika saya mengerti benar Anda memiliki dua (atau lebih) dataset dan Anda perlu mendapatkan rentang skala dataset agar sesuai sehingga perbandingan dapat dibuat.
Saya menyelesaikannya dengan:
Maaf jika itu sedikit terlalu disederhanakan atau bahkan praktik salah / buruk. Saya sudah lama menjadi pengguna GIS Stack Exchange dan berpikir tentang waktu saya mulai berkontribusi jadi ini adalah posting pertama saya!
sumber
save class breaks
DIBUAT
sumber
Sementara klasifikasi menggunakan rentang yang sama, data tidak berbagi rentang. Saya pikir solusinya di sini adalah untuk menyelesaikannya dalam tugas legenda dan warna, dan bukan klasifikasi yang sebenarnya.
Mulailah dengan hasil kiri bawah Anda, dan ubah legenda itu menjadi grafik. Edit teks untuk mendapatkan rentang yang Anda inginkan. Saya perhatikan semua gambar Anda yang lain memiliki kisaran 10 unit, tetapi yang ini melakukan 20 dan tumpang tindih. Misalnya, tiga gambar memiliki -49,99 hingga -40,00 tetapi kiri bawah memiliki -49,99 hingga -60,00, dan kelas berikutnya adalah -59,99 hingga -70,00. Gambar juga rentang yang berlawanan - yaitu tiga adalah nilai yang lebih rendah di sebelah kiri sedangkan kiri bawah adalah nilai yang lebih rendah di sebelah kanan (yang berbunyi jauh lebih alami bagi saya, meningkatkan angka jika bukan nilai dari kiri ke kanan). Mungkin masalah-masalah itu perlu diatasi terlebih dahulu untuk menghemat waktu daripada hanya mengedit teks manual.
Setelah Anda memiliki legenda dengan rentang dan jalur warna yang Anda sukai, Anda dapat kembali ke dua lapisan pertama Anda (yang sudah diklasifikasikan dengan benar) dan secara manual mengedit setiap tambalan warna rentang untuk mencocokkan warna yang Anda pilih untuk rentang dalam legenda. . Karena dua lapisan tidak akan menampilkan legenda mereka sendiri, tidak masalah bahwa di salah satu dari mereka kisaran sebenarnya -89,99 hingga -80,00 dan yang lain adalah -81,64 hingga -80,00 karena keduanya akan memiliki warna yang sama .
Namun perlu dicatat bahwa ini akan menyiratkan kedua set data memiliki rentang yang sama, yang tidak mereka miliki. Bahkan sepertinya akan ada dua tambalan warna yang hanya digunakan dalam satu peta masing-masing (tertinggi dan terendah). Anda mungkin ingin meletakkan catatan di setiap peta yang memberikan rentang data absolut mereka. Saya juga akan menggunakan 'untuk' daripada '-' di antara rentang, karena dengan nilai negatif itu agak membingungkan untuk dibaca.
Solusi alternatif:
Sejauh yang saya tahu dan dapat menemukan bukti, Anda harus memiliki kelas yang dimulai pada nilai minimum Anda. Anda dapat secara manual menambahkan kelas (bahkan yang kosong) di atas atau di bawah rentang data Anda, tetapi satu kelas harus dimulai dengan nilai minimum.
Jadi, atur simbologi Anda menggunakan raster yang berisi nilai terendah / minimum dari semua raster. Dapatkan ini disimbolkan. Anda kemudian dapat mengedit label kelas untuk mengatakan apa pun yang Anda inginkan. Jadi, jika nilai terendah Anda adalah 0,4, Anda masih bisa mengubah label menjadi 0.
Setelah Anda selesai dan mengatur dengan ramp warna yang Anda suka, simpan file lyr dari simbologi. Anda kemudian dapat membuka raster lainnya dan menerapkan simbologi yang sama. Karena raster lain semua akan memiliki nilai yang lebih tinggi, mereka harus mengklasifikasikan dengan benar dan hanya nilai minimum itu sendiri yang akan meningkat (atau mungkin kelas itu akan turun jika tidak ada yang termasuk di dalamnya). Yang mana lagi Anda dapat mengubah label kelas ke lantai kelas bukan nilai aktual jika itu tidak terbawa dengan simbologi.
sumber
Solusi yang lebih mudah tetapi juga kotor yang telah bekerja untuk saya. Jangan lupa untuk membuat cadangan data asli Anda.
sumber
Saya percaya ini tentang legenda fitur tetapi bukan raster. Jika ini tentang raster, abaikan saran saya. Saya biasanya menggunakan ini:
Semoga ini bisa membantu, FP
sumber
Saya melakukan solusi berikut. Saya membuat jeda kelas saya sendiri dalam dokumen XML dan memuatnya ke simbologi rahasia kedua lapisan.
Memuat jeda kelas XML: me yang sama dengan tempat Anda menyimpan templat (lihat 1), klik "muat jeda kelas"
sumber
Cara alternatif adalah menggabungkan semua nilai dari setiap lapisan menjadi satu lapisan, dengan menggunakan cara ini Anda akan memiliki nilai minimum dan maksimum pada lapisan.
Ilustrasi:
1. Menggabungkan nilai dari semua lapisan ke dalam satu kolom (beri nama All_Vals) dalam lembar excel
di sebelah kolom All_Vals tambahkan dua kolom baru bernama X dan Y dan isi dengan nol.
Dalam arcmap, tambahkan lembar excel sebagai tabel dan gunakan itu untuk membuat kelas fitur titik dengan menggunakan perintah / alat data display xy kemudian ekspor layer acara ke shapefile (saya akan beri nama NB_Point) dan menambahkannya ke bingkai data.
4. Konversikan file bentuk NB_Point menjadi banyak tipe kelas fitur dari layer Anda, misalnya jika tipe layer fitur Anda adalah poligon, gunakan alat buffer untuk membuat kelas fitur poligon dari NB_Point shapefile (sebut saja sebagai NB_polygon).
Semoga ini bisa membantu dan maaf untuk kesalahan ejaan.
sumber