Tengo dos archivos de formas que representan cuadrículas con valores simbolizados con colores graduados, que se muestran a continuación:
Puede ver que los dos archivos de forma abarcan rangos de datos similares, pero asignan colores ligeramente diferentes a los rangos de estos datos. Me gustaría simbolizar los rangos en cada uno de los dos archivos de forma usando los mismos colores para los mismos rangos, permitiendo una comparación más fácil entre los archivos y permitiendo que se use una sola leyenda.
Sin embargo, cuando intento clasificar los rangos con un intervalo manual, ArcGIS fuerza lo que debería ser el rango más alto para incluir también el valor mínimo del conjunto de datos. Puede ver esto en el rango "-81.64 - 10.00" del marco de datos izquierdo, a continuación. Esto obliga a simbolizar toda la capa con este color. Esencialmente, ArcGIS requiere que el valor mínimo en el conjunto de datos se use como valor en uno de los rangos.
¿Hay alguna manera de eludir esta característica?
Respuestas:
Definitivamente es un gran dolor cuando ArcMap trata de ser, um, útil incluso cuando realmente no quieres que sea.
Una solución alternativa que he encontrado es crear un nuevo conjunto de datos temporal y agregar algunos puntos con los valores mínimos y máximos que sabe que necesitará en la salida, solo asegúrese de cubrir todo el rango.
Cree su simbología basada en este conjunto de datos falso y guarde esta simbología en un archivo de capa :
... luego importe la simbología del archivo * .lyr a su conjunto de datos real:
fuente
@ChrisW dijo:
Esto me hizo pensar, y en realidad encontré una manera de establecer el rango de clasificación por debajo del valor mínimo. Mi problema original se basó en el hecho de que se requería el rango de clasificación más bajo para contener el valor mínimo en los datos.
Sin embargo, dicha restricción no se aplica a los otros rangos de clasificación utilizados. Por lo tanto, se puede forzar que dos (o más) rangos de clasificación caigan por debajo del valor mínimo en los datos. Uno de estos representará el rango de clasificación mínimo preferido, mientras que el otro funcionará como un rango ficticio para contener el valor mínimo.
Aquí está el punto de partida que utilicé para la clasificación. Cada una de las capas en los cuatro marcos de datos se clasificó utilizando un intervalo definido de 10 pies sin tener en cuenta los rangos de datos de las otras capas.
El rango de clasificación máximo en cualquiera de los cuatro marcos de datos es "0.01 a 10.00", y el rango de clasificación mínimo es "-110.62 a -110.00" (que idealmente se convertirá en "-119.00 a -110.00"). Como intento mantener intervalos de 10 pies, esto se traduce en un total de 13 intervalos.
Estoy usando el marco de datos superior izquierdo como la fuente de mi leyenda genérica. Comienzo abriendo las Propiedades de la capa y yendo a Clasificar. Como quiero que sean visibles 13 intervalos, necesito seleccionar 14 intervalos para tener un rango ficticio disponible. Hago esto seleccionando Manual como método y creando 14 clases.
Con los rangos configurados en su estado actual (con los valores más grandes en la parte superior), cualquier cambio en el valor ingresado en el rango no tendrá ningún efecto en nada más que el rango en la parte inferior de la lista. @ChrisW señaló que esto no es un error, sino una característica de cómo ArcGIS asigna valores de ruptura. Aquí está la ventana Propiedades de capa después de seleccionar el método Manual, pero antes de realizar cualquier cambio en los rangos:
Para resolver este problema, revierto temporalmente la clasificación de la capa. En este punto, los rangos más bajos están en la parte superior, mientras que los rangos más altos están en la parte inferior.
Ahora, si me desplazo al final de la lista de rangos (donde se muestra el rango más alto) y comienzo a definir los intervalos adecuados de abajo hacia arriba, ArcGIS recordará los rangos que defino:
En esta imagen, he definido el valor superior en 5 de los 14 rangos, comenzando con el valor más grande (10.00) y trabajando hacia abajo.
Cuando llegue a la parte superior de la lista y edite mi decimocuarto rango, su valor mínimo todavía se definirá como el valor mínimo en la capa, ya que no tiene otro rango debajo para que pueda extraer un valor de:
Sin embargo, esto no importa, ya que es el rango ficticio que mencioné antes. En este punto, invierto la clasificación de la capa una vez más, por lo que los rangos más altos están nuevamente en la parte superior. La imagen a continuación muestra la leyenda actualizada para el marco de datos superior izquierdo, que ahora refleja los rangos adecuados para los cuatro marcos de datos, incluido el rango ficticio número 14:
El siguiente paso es propagar estos cambios al resto de los marcos de datos. Sin embargo, algunos problemas son aparentes cuando intento importar la simbología a los otros marcos de datos:
Como señaló @ChrisW, esto se debe a mi decisión de comenzar con una capa que no tiene el valor mínimo absoluto en todos los marcos de datos. Parece que el marco de datos no mostrará ningún rango que esté por debajo de los rangos que existen en el marco de datos original.
Si está comenzando con una capa como la que hice, la mejor solución que he encontrado para esto es repetir los pasos que discutí anteriormente para cada uno de los cuatro marcos de datos; define manualmente 14 clases, invierte la clasificación de las clases, redefine la parte superior de cada rango y luego revierte la clasificación para colocar los rangos más altos en la parte superior.
Sin embargo, la solución más simple es comenzar el proceso de clasificación con la capa que tiene el valor más pequeño. La opción Importar simbología se puede usar correctamente para los otros marcos de datos.
Finalmente, puedo eliminar tres de las leyendas y ocultar el rango ficticio en la leyenda restante o convertirlo a gráficos y eliminar el rango ficticio.
fuente
Me encontré con este mismo problema, creo ... Si lo entiendo bien, tenía dos (o más) conjuntos de datos y necesita hacer que los rangos de escala de los conjuntos de datos coincidan para poder hacer comparaciones.
Lo resolví por:
Lo siento si eso es un poco simplificado o incluso una práctica errónea / mala. Hace mucho tiempo que uso GIS Stack Exchange y pensé que ya era hora de que comenzara a contribuir, así que esta es mi primera publicación.
fuente
save class breaks
HECHO
fuente
Si bien la clasificación utiliza rangos similares, los datos no comparten un rango. Creo que la solución aquí es resolverlo en la leyenda y las asignaciones de color, y no en la clasificación real.
Comience con su resultado inferior izquierdo y convierta esa leyenda en un gráfico. Edite el texto para obtener los rangos que desee. Noté que todas sus otras imágenes tienen un rango de 10 unidades, pero esta está haciendo 20 y se superpone. Por ejemplo, tres de las imágenes tienen -49.99 a -40.00 pero la parte inferior izquierda tiene -49.99 a -60.00, y la siguiente clase es -59.99 a -70.00. Las imágenes también son rangos opuestos, es decir, tres tienen un valor más bajo a la izquierda, mientras que la izquierda más baja es un valor más bajo a la derecha (que me lee mucho más de forma nativa, aumentando los números si no los valores de izquierda a derecha). Quizás esos problemas deben abordarse primero para ahorrar algo de tiempo en lugar de solo una edición manual de texto.
Una vez que tenga una leyenda con rangos y una rampa de color que le guste, puede volver a sus dos primeras capas (que ya están clasificadas correctamente) y editar manualmente el parche de color de cada rango para que coincida con el color que decidió para el rango en la leyenda . Dado que las dos capas no mostrarán sus propias leyendas, no importará que en una de ellas el rango sea de -89.99 a -80.00 y la otra sea de -81.64 a -80.00 porque ambas tendrán el mismo color .
Sin embargo, tenga en cuenta que esto implicará que ambos conjuntos de datos tienen el mismo rango, que no tienen. De hecho, parece que habrá dos parches de color que solo se usan en un mapa cada uno (el más alto y el más bajo). Es posible que desee poner una nota en cada mapa que proporcione su rango de datos absoluto. También usaría 'to' en lugar de '-' entre rangos, porque con los valores negativos es un poco confuso de leer.
Solución alternativa:
Hasta donde yo sé y puedo encontrar evidencia, debes tener una clase que comience con tu valor mínimo. Puede agregar clases manualmente (incluso las vacías) por encima o por debajo de su rango de datos, pero una clase debe comenzar con el valor mínimo.
Por lo tanto, configure su simbología utilizando el ráster que contiene el valor mínimo / mínimo de todos los rásteres. Obtenga estos simbolizados. Luego puede editar la etiqueta de la clase para decir lo que quiera. Entonces, si su valor más bajo fue 0.4, aún podría cambiar la etiqueta para decir 0.
Una vez que haya hecho esto y configurado con la rampa de color que desee, guarde un archivo de letra de la simbología. Entonces debería poder abrir sus otros rásteres y aplicar esa misma simbología. Debido a que todos los otros rásteres tendrán valores más altos, deberían clasificarse correctamente y solo el valor mínimo en sí mismo aumentará (o tal vez esa clase se eliminará si nada cae dentro de ella). De nuevo, puede cambiar la etiqueta de la clase al piso de la clase en lugar del valor real si eso no se transfiere con la simbología.
fuente
Una solución más fácil pero también más sucia que me ha funcionado. No olvides crear una copia de seguridad de tus datos originales.
fuente
Creo que esto se trata de leyenda de características pero no de rásteres. Si se trata de rásteres, ignore mi sugerencia. Usualmente uso estos:
Espero que ayude, FP
fuente
Hice la siguiente solución. Creé mis propios saltos de clase en un documento XML y lo cargué en la simbología clasificada de ambas capas.
Cargar saltos de clase XML: mismo menú donde guardó la plantilla (ver 1), haga clic en "cargar saltos de clase"
fuente
Una forma alternativa es combinar todos los valores de cada capa en una capa, de esta manera tendrá los valores mínimos y máximos en la capa.
La ilustración:
1. combina los valores de todas las capas en una columna (vamos a nombrarlo como All_Vals) en una hoja de Excel
junto a la columna All_Vals, agregue dos columnas nuevas denominadas X e Y y llénelas con ceros.
En arcmap, agregue la hoja de Excel como una tabla y úsela para crear una clase de entidad de puntos usando el comando / herramienta de visualización de datos xy luego exporte la capa de evento a un archivo de forma (lo nombraré NB_Point) y agréguela al marco de datos.
4) Convierta el archivo de forma NB_Point en gran parte del tipo de clase de entidad de sus capas, por ejemplo, si el tipo de su capa de entidad es poligonal, use la herramienta de búfer para crear una clase de entidad poligonal a partir del archivo de forma NB_Point (nombrámoslo como NB_polygon).
Espero que esto ayude y lo siento por cualquier falta de ortografía.
fuente