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.