¿Agregar etiquetas con símbolos a la leyenda en ArcMap?


10

Estoy creando un mapa con ArcGIS Desktop v10.2.2 , que muestra los museos como puntos. La capa de los museos no tiene símbolo y las etiquetas están formadas por un círculo lleno de color con la ID en el interior, tomada del [ID]campo.

Quiero agregar la lista completa de museos en la leyenda del mapa de diseño, teniendo una lista de mis símbolos con sus ID y la descripción (su nombre) tomada del [LABEL]campo, sin crearla manualmente.

Sé que una posible solución manual sería establecer la simbología de la capa en "Valores únicos", luego agregar todos los valores (¡más de 100!) Y establecer una vez para cada punto la misma simbología de etiqueta. ¡Pero espero que haya una mejor solución!

Echa un vistazo a mi mapa a continuación.

La capa es "Musei" (Museos) y, como puede ver en la leyenda de la izquierda, no tiene ningún símbolo. A la derecha puede ver la simbología de la leyenda descrita, un círculo gris oscuro con texto rojo en el interior tomado del [ID]campo. Quiero agregar a mi diseño una columna que contenga todos los círculos con ID y la etiqueta correspondiente.

Museos

- ACTUALIZACIÓN -

Esta es la configuración de la Calculadora de campo que utilicé siguiendo la solución propuesta por @FelixIP.

Calculadora de campo

Pero los puntos no están posicionados en alineación vertical como espero. En cambio, se mueven un poco aquí y allá. También intenté usar diferentes valores de paso: 10, 100, 1000, 10000.


¿Podría insertar una tabla al lado de su leyenda?
whatahitson

@whatahitson ¿Se refiere a un marco de tabla en la vista de diseño?
Gato de Cheshire

Respuestas:


6

Para obtener esto:

ingrese la descripción de la imagen aquí

He usado 2 marcos de datos:

ingrese la descripción de la imagen aquí

PASOS:

a) Cree una copia del archivo de forma de su museo; b) Tenga en cuenta xMean, yMax de los puntos yc) Ejecute esta expresión de calculadora de campo varias veces cambiando el paso en el campo Forma hasta que esté satisfecho con el intervalo entre puntos verticales

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

Utilizando

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

Creará una cadena vertical de sus puntos para mostrar y etiquetar en el segundo marco de datos === leyenda

Actualización: la longitud promedio de los puntos que utilicé es 1563910, longitud máxima 5177655


Estoy intentando pero tal vez no entendí correctamente su procedimiento. Ya tengo las coordenadas X e Y de los puntos en dos campos de la tabla de museos. ¿Necesito calcular una nueva posición X e Y en un nuevo campo? Utilicé Field Calculatore poniendo su definición de función seguida de la llamada a la función, pero recibo un mensaje de error 999999 indefinido y mensaje de "finalización de la instrucción faltante".
Gato de Cheshire

No hay nuevos campos. Ejecute la calculadora en el campo SHAPE de la copia de seguridad. Si no comprende qué función hace, simplemente dibuje una línea vertical en su vista y ajuste los puntos a ella, fid = 0 en la parte superior, fid = 1 debajo, etc.
FelixIP

Probé tu solución, mira mi actualización de preguntas.
Gato de Cheshire el

1
No estás leyendo mi solución con cuidado. Cuando llama a expresión, debe usar NÚMEROS INDIVIDUALES para el tercer y cuarto parámetro, no las coordenadas de los puntos individuales almacenados en los campos. Si tiene 3 puntos con xs 1,2,3, su tercer parámetro debe ser 2. Tome un bolígrafo y escriba la longitud PROMEDIO y la latitud MÁXIMA de sus puntos
FelixIP

Alternativamente, exporte las filas del archivo de forma que está tratando de etiquetar, extráigalas en Excel, agregue puntos x, y para una serie de puntos distribuidos verticalmente (1,9; 1,8; 1,7, etc.) y póngalo en el marco de datos adicional con "Agregar datos X, Y". También asegúrese de que la ubicación de la etiqueta para sus dos archivos de forma de etiqueta esté configurada adecuadamente, es decir, una es "SOLO SUPERIOR DERECHA" y la otra es "SOLAMENTE Superior Izquierda".
Carl
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.