Saya memiliki poin yang mewakili lokasi sampel. Seringkali, banyak sampel akan diambil di lokasi yang sama: beberapa titik dengan lokasi yang sama tetapi ID sampel yang berbeda dan atribut lainnya. Saya ingin memberi label semua titik yang ditempatkan bersama dengan satu label, dengan teks bertumpuk yang mencantumkan semua ID sampel dari semua titik di tempat itu.
Apakah ini mungkin di ArcGIS menggunakan mesin pelabelan biasa atau Maplex? Saya tahu saya bisa mengatasi ini dengan membuat layer baru dengan semua ID sampel untuk setiap lokasi dalam satu nilai atribut tetapi saya ingin menghindari membuat data baru hanya untuk pelabelan.
Pada dasarnya saya ingin beralih dari ini:
Untuk ini (untuk titik paling atas):
Tanpa melakukan pengeditan label secara manual.
Jawaban:
Salah satu cara untuk melakukan ini adalah mengkloning layer, menggunakan query definisi dan memberi label secara terpisah, menggunakan posisi label hanya kiri atas untuk layer pertama dan kiri bawah untuk kedua.
Tambahkan integer tipe THEFIELD ke layer dan isi dengan menggunakan ekspresi di bawah ini:
Sebut dengan:
Buat salinan layer di tabel konten, terapkan query definisi THEFIELD = 1.
Terapkan kueri definisi THEFIELD = 2 untuk lapisan asli.
Terapkan penempatan label tetap berbeda
UPDATE berdasarkan komentar terhadap solusi asli:
Tambahkan bidang COORD dan isi dengan menggunakan
Ringkas bidang ini menggunakan label pertama dan terakhir untuk label. Gabung tabel ini kembali ke aslinya menggunakan bidang COORD. Pilih catatan di mana firs <> terakhir dan menggabungkan label pertama dan terakhir dalam bidang baru menggunakan
Gunakan Count_COORD dan THEFIELD untuk mendefinisikan 2 'lapisan berbeda' dan bidang untuk memberi label:
Perbarui # 2 terinspirasi oleh solusi @Hornbydd:
UPDATE November 2016, semoga berlangsung.
Ekspresi di bawah ini diuji pada 2000 duplikat, berfungsi seperti pesona:
sumber
Di bawah ini adalah solusi parsial.
Ini masuk ke ekspresi label Advance. Ini tidak terlalu efisien maka saya bertanya tentang jumlah poin dalam dataset Anda. Jadi untuk setiap baris yang diberi label itu membangun 2 kamus di
d
mana kuncinya adalah XY dan nilainya adalah teks dand2
yang merupakan objectID dan XY. Menggunakan kombinasi kamus itu dapat mengembalikan label tunggal yang merupakan gabungan dengan karakter baris baru, dalam contoh saya ini menggabungkan TARGET_FID. "sj" adalah nama layer dalam TOC.Mengapa ini adalah solusi parsial adalah bahwa ini dilakukan untuk setiap titik, saya belum dapat memikirkan bagaimana Anda akan mematikan semua poin yang ditumpuk lainnya. Itu karena ini saya pikir solusi pamungkas adalah beberapa python yang membangun lapisan baru dari titik tunggal dengan label tunggal yang dibangun dari tumpukan titik.
Di bawah ini adalah output dari 3 titik yang ditumpuk karena Anda dapat melihat label dibuat untuk setiap titik karena semuanya ada di lokasi yang sama.
sumber