Aggiunta di etichette con simboli alla legenda in ArcMap?


10

Sto creando una mappa con ArcGIS Desktop v10.2.2 , mostrando i musei come punti. Il livello musei non ha simboli e le etichette sono fatte di un cerchio pieno di colore con l'ID interno, prelevato dal [ID]campo.

Voglio aggiungere l'intero elenco dei musei nella legenda della mappa del layout, avendo un elenco dei miei simboli con i loro ID e la descrizione (il loro nome) presi dal [LABEL]campo, senza crearli manualmente.

So che una possibile soluzione manuale sarebbe quella di impostare la simbologia del livello su "Valori univoci", quindi aggiungere tutti i valori (più di 100!) E impostare una volta per ogni punto la stessa simbologia dell'etichetta. Ma spero che ci sia una soluzione migliore!

Dai un'occhiata alla mia mappa qui sotto.

Il livello è "Musei" (Musei) e come puoi vedere nella legenda a sinistra, non ha alcun simbolo. A destra puoi vedere la simbologia della legenda descritta, un cerchio grigio scuro con all'interno il testo rosso preso dal [ID]campo. Voglio aggiungere al mio layout una colonna contenente tutti i cerchi con ID e l'etichetta corrispondente.

Musei

-- AGGIORNARE --

Queste sono le impostazioni del calcolatore di campo che ho usato seguendo la soluzione proposta da @FelixIP.

Field Calculator

Ma i punti non sono posizionati in allineamento verticale come mi aspetto. Invece sono spostati un po 'qua e là. Ho anche provato a utilizzare diversi valori di step: 10, 100, 1000, 10000.


Potresti inserire una tabella accanto alla tua legenda?
whatahitson,

@whatahitson Intendi una cornice di tabella nella vista layout?
Cheshire Cat,

Risposte:


6

Per ottenere questo:

inserisci qui la descrizione dell'immagine

Ho usato 2 frame di dati:

inserisci qui la descrizione dell'immagine

STEPS:

a) Crea una copia del tuo shapefile dei tuoi musei; b) Nota xMean, yMax dei punti ec) Esegui questa espressione calcolatrice campo più volte cambiando il passo sul campo Shape fino a quando non sei soddisfatto dell'intervallo tra i punti verticali

def vertical(fid, shp,xMean,yMax,step):
 y=yMax-step*fid
 pNew=arcpy.Point(xMean,y)
 return pNew

utilizzando

vertical( !FID!, !Shape!, 1563910,5177655,100)

Creerà una catena verticale dei punti da visualizzare ed etichettare nella legenda del secondo frame di dati ===

Aggiornamento: la longitudine media dei punti che ho usato è 1563910, la longitudine massima 5177655


Ci sto provando ma forse non ho capito bene la tua procedura. Ho già le coordinate X e Y dei punti in due campi della tabella dei musei. Devo calcolare una nuova posizione X e Y in un nuovo campo? Ho usato Field Calculatore inserendo la tua definizione di funzione seguita dalla chiamata di funzione ma ricevo un errore 999999 indefinito e un messaggio "fine istruzione mancante".
Cheshire Cat,

Nessun nuovo campo. Esegui la calcolatrice sul campo FORMA della copia di backup. Se non capisci quale funzione svolge, basta tracciare una linea verticale nella tua vista e agganciarla, fid = 0 in alto, fid = 1 in basso ecc.
FelixIP

Ho provato la tua soluzione, dai un'occhiata al mio aggiornamento delle domande.
Cheshire Cat,

1
Non stai leggendo attentamente la mia soluzione. Quando si chiama espressione, è necessario utilizzare SINGOLI numeri per il 3o e il 4o parametro, non le coordinate dei punti indiv. memorizzati nei campi. Se hai 3 punti con xs 1,2,3 il tuo terzo parametro deve essere 2. Prendi una penna e annota la longitudine MEDIA e la latitudine MASSIMA dei tuoi punti
FelixIP

In alternativa, esporta le righe dallo shapefile che stai cercando di etichettare, estraile in Excel, aggiungi punti x, y per una serie di punti distribuiti verticalmente, (1,9; 1,8; 1,7, ecc.) E inseriscilo nel frame di dati aggiuntivo con "Aggiungi dati X, Y". Assicurati inoltre che il posizionamento dell'etichetta per i tuoi due shapefile dell'etichetta sia impostato in modo appropriato, ovvero uno è "SOLO in alto a destra" e l'altro è "SOLO in alto a sinistra".
Carl,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.