14 votos

¿Clasificación manual de datos graduados fuera de rango en ArcGIS for Desktop?

Tengo dos shapefiles que representan cuadrículas con valores que se simbolizan con colores graduados, que se muestran a continuación:

Original

Puede ver que los dos shapefiles 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 shapefiles utilizando los mismos colores para los mismos rangos, permitiendo una comparación más fácil entre los archivos y permitiendo utilizar una sola leyenda.

Sin embargo, cuando intento clasificar los rangos con un intervalo manual, ArcGIS fuerza lo que debería ser el rango superior 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 de la izquierda, abajo. Esto obliga a simbolizar toda la capa con este color. Básicamente, ArcGIS exige que el valor mínimo del conjunto de datos se utilice como valor en uno de los rangos.

New Intervals

¿Hay alguna forma de evitar esta función?

0 votos

Yo también recuerdo haber tenido este problema, aunque no recuerdo exactamente cómo lo solucioné. Si clasificas como "intervalo igual" y haces doble clic en los valores, ¿puedes cambiarlos de esa manera?

0 votos

@GISKid en cuanto hago doble clic, la clasificación vuelve a ser "Manual", por desgracia.

0 votos

¿Y qué pasa con el ajuste de los valores en el propio histograma?

12voto

Definitivamente es un gran dolor cuando ArcMap trata de ser.., útil incluso cuando realmente no quieres que lo sea.

Una solución que he encontrado es crear un nuevo conjunto de datos temporal y añadir algunos puntos con los valores mínimos y máximos que sabes que vas a necesitar en la salida, pero asegúrate 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 capas :

enter image description here

... luego importa la simbología del archivo *.lyr a tu conjunto de datos real:

enter image description here

1 votos

Esta solución es menos complicada que la mía. Voy a cambiar a su respuesta.

0 votos

Gracias, funciona a las mil maravillas si lees con suficiente atención todos los diálogos que te lanza arcmap.

6voto

Mike Breen Puntos 1434

@ChrisW dijo:

Por lo que sé y puedo encontrar pruebas, no se puede establecer un rango de clasificación por debajo del valor mínimo de los datos.

Esto me hizo pensar, y de hecho encontré una manera de establecer el rango de clasificación por debajo del valor mínimo. Mi problema original se basaba en el hecho de que el rango de clasificación más bajo debía contener el valor mínimo de los datos.

Sin embargo, no se impone ninguna restricción de este tipo a las demás gamas de clasificación utilizadas. Por lo tanto, se puede forzar dos (o más) rangos de clasificación para caer por debajo del valor mínimo en los datos. Uno de ellos representará el rango de clasificación mínimo preferido, mientras que el otro funcionará como un rango ficticio para contener el valor mínimo.


Este es el punto de partida que he utilizado para la clasificación. Cada una de las capas de los cuatro marcos de datos se clasificó utilizando un intervalo definido de 10 pies sin respetar los rangos de datos de las otras capas.

Starting Point

El rango máximo de clasificación en cualquiera de los cuatro marcos de datos es "0,01 a 10,00", y el rango mínimo de clasificación es "-110,62 a -110,00" (que idealmente se convertirá en "-119,00 a -110,00"). Como intento mantener intervalos de 3 metros, esto se traduce en un total de 13 intervalos.


Estoy utilizando el marco de datos superior izquierdo como fuente para mi leyenda genérica. Empiezo abriendo las Propiedades de la Capa y voy a Clasificar. Como quiero que sean visibles 13 intervalos, tengo que seleccionar 14 intervalos para disponer de una gama ficticia. Lo hago seleccionando Manual como método y creando 14 clases.

Step 1a

Con los rangos configurados en su estado actual (con los valores más grandes en la parte superior), cualquier cambio en el valor introducido en el rango no tendrá 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 los valores de ruptura. Aquí está la ventana de propiedades de la capa después de seleccionar el método manual, pero antes de hacer cualquier cambio en los rangos:

Step 1b


Para solucionar este problema, invierto temporalmente la ordenación de la capa. En este momento, los rangos más bajos están en la parte superior, mientras que los rangos más altos están en la parte inferior.

Step 2a

Ahora, si me desplazo hasta el final de la lista de rangos (donde aparece el rango más alto) y empiezo a definir los intervalos adecuados de abajo hacia arriba, ArcGIS recordará los rangos que defina:

Step 2b

En esta imagen, he definido el valor superior en 5 de los 14 rangos, empezando por el valor más grande (10,00) y trabajando hacia abajo.


Cuando llegue a la parte superior de la lista y edite mi 14º rango, su valor mínimo seguirá estando definido como el valor mínimo de la capa, ya que no tiene otro rango por debajo del que sacar un valor:

Step 3a

Sin embargo, esto no importa, ya que se trata del rango ficticio que mencioné antes. En este punto, invierto la ordenación de la capa una vez más, de modo que los rangos más altos vuelven a estar en la parte superior. La imagen siguiente muestra la leyenda actualizada para el marco de datos superior izquierdo, que ahora refleja los rangos adecuados para los cuatro marcos de datos, incluyendo el 14º rango ficticio:

Step 3b


El siguiente paso es propagar estos cambios al resto de los cuadros de datos. Sin embargo, cuando intento importar la simbología a los demás marcos de datos, aparecen algunos problemas:

Step 4a

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 usted comienza con una capa como la que yo hice, la mejor solución que he encontrado para esto es repetir los pasos que he discutido anteriormente para cada uno de los cuatro marcos de datos; definir manualmente 14 clases, invertir la ordenación de las clases, redefinir la parte superior de cada rango, y luego revertir la ordenación para colocar los rangos más altos en la parte superior.

La solución más sencilla, sin embargo, es comenzar el proceso de clasificación con la capa que tiene el valor más pequeño. La opción de Importar Simbología puede entonces utilizarse adecuadamente para los otros marcos de datos.

Step 4b


Por último, puedo eliminar tres de las leyendas y ocultar el rango ficticio en la leyenda restante o convertirlo en gráfico y eliminar el rango ficticio.

Ending Point

0 votos

Me alegro de que hayas podido solucionar algo. He editado mi respuesta para corregir el error que has citado (no estoy seguro de por qué lo he dicho - tus imágenes originales mostró que sí).

0 votos

En realidad, estoy teniendo problemas para replicar esto. Para que la respuesta sea un poco más útil, ¿podrías editar exactamente cómo creaste esos rangos por debajo del valor mínimo?

0 votos

@ChrisW He ampliado mucho el proceso. ¡Hazme saber si todavía no tiene sentido!

5voto

Laurenz Puntos 36

Me encontré con este mismo problema, creo que .... Si lo entiendo bien tenías dos (o más) conjuntos de datos y necesitas hacer coincidir los rangos de escala de los conjuntos de datos para poder hacer comparaciones.

Lo resolví:

  1. Crea tu primer conjunto de datos tal y como quieres que aparezca. Idealmente con el rango de datos más grande para que los símbolos puedan ser copiados con mayor facilidad al segundo conjunto de datos (de menor rango).

enter image description here

  1. Cree su segundo conjunto de datos, pero no se preocupe por la simbología todavía. En el segundo conjunto de datos Propiedades de la capa > Simbología elija el mismo tipo de clasificación que con el primer conjunto de datos, para este ejemplo estoy usando Categorías > Valores únicos y luego haga clic en el botón Añadir todos los valores botón.

enter image description here

  1. Agrupe los valores para que entren en los rangos correspondientes utilizados en el primer conjunto de datos. Seleccione todos los valores de una categoría concreta y, a continuación, haga clic con el botón derecho del ratón y seleccione Grupo . Las dos primeras categorías ya han sido agrupadas en la imagen de abajo, los cuatro valores resaltados están a punto de ser "tirados" en un tercer grupo.

enter image description here

  1. A estas alturas me resulta más fácil reetiquetar las categorías para que sea más fácil seguirlas. En este momento puedes ver cinco de las siete categorías pobladas.

enter image description here

  1. Por último (casi) y el quid de este problema, añadir en las categorías vacías que existen fuera del rango de datos del segundo conjunto de datos. En el Propiedades de la capa > Simbología haga clic en la pestaña Añadir valores y rellenar con las categorías requeridas por encima y por debajo de los rangos de datos según sea necesario.

enter image description here

  1. Por último, reetiquete las nuevas categorías vacías para que se correspondan con el primer conjunto de datos y vuelva a colorear cada categoría para que coincida con las primeras.

enter image description here

Lo siento si esto es un poco simplificado o incluso simplemente incorrecto / mala práctica. Llevo mucho tiempo utilizando GIS Stack Exchange y pensé que ya era hora de empezar a contribuir, así que este es mi primer post.

2 votos

Lo siento, me acabo de dar cuenta de que el PO es para Datos Graduados y después de una rápida comprobación ahora me doy cuenta de que mi solución no es válida. Voy a leer más de cerca la próxima vez....

3voto

Steve Puntos 11

Mientras que el clasificación utiliza rangos similares, el 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.

Comienza con el resultado inferior izquierdo y convierte esa leyenda en un gráfico. Edita el texto para obtener los rangos que deseas. Me he dado cuenta de que todas tus otras imágenes tienen un rango de 10 unidades, pero esta tiene 20 y se superpone. Por ejemplo, tres de las imágenes tienen de -49,99 a -40,00, pero la inferior izquierda tiene de -49,99 a -60,00, y la siguiente clase es de -59,99 a -70,00. Las imágenes son también rangos opuestos - es decir, tres son de menor valor a la izquierda mientras que la inferior izquierda es de menor valor a la derecha (lo que se lee mucho más naturalmente para mí, aumentando números si no valores de izquierda a derecha). Tal vez haya que resolver primero esos problemas para ahorrar tiempo en lugar de editar manualmente el texto.

Una vez que tengas una leyenda con rangos y una rampa de color que te guste, puedes volver a tus 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 decidiste para el rango en la leyenda. Como las dos capas no mostrarán sus propias leyendas, no importará que en una de ellas el rango sea realmente de -89,99 a -80,00 y en la otra 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, lo cual no es así. De hecho, parece que habrá dos parches de color que sólo se utilizan 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 da su rango de datos absolutos. También usaría "a" en lugar de "-" entre los rangos, porque con los valores negativos es algo confuso de leer.


Solución alternativa:

Por lo que sé y puedo encontrar pruebas de ello, debe tener una clase que comience en su valor mínimo. Puedes añadir manualmente clases (incluso vacías) por encima o por debajo de tu rango de datos, pero una clase debe empezar en el valor mínimo.

Por lo tanto, configure su simbología utilizando la trama que contenga el valor más bajo/mínimo de todas las tramas. Obtenga estos simbolos. A continuación, puede editar la clase etiqueta para decir lo que quieras. Así, si el valor más bajo fuera 0,4, podría cambiar la etiqueta para que dijera 0.

Una vez que tengas esto hecho y configurado con la rampa de color que te guste, guarda un archivo lyr de la simbología. A continuación, debe ser capaz de abrir sus otros rasters y aplicar esa misma simbología. Debido a que los otros rásteres tendrán todos los valores que son más altos, deben clasificar correctamente y sólo el valor mínimo en sí se incrementará (o tal vez esa clase se eliminará si nada cae dentro de ella). Que de nuevo se puede cambiar la etiqueta de clase para el piso de la clase en lugar de valor real si eso no se lleva a cabo con la simbología.

0 votos

En realidad, puede omitir el paso de .lyr y simplemente clasificar un ráster como le gustaría (rangos, colores, etc.) y luego utilizar la función de importación de simbología para aplicar esto a todos sus otros rásters. Abra las Propiedades de la capa, seleccione la pestaña Simbología, seleccione el icono de la carpeta en la parte superior derecha (que indicará Importar cuando pase el ratón por encima) y luego seleccione el ráster que desea imitar.

0 votos

@JWallace Cierto, siempre que tus otros rásteres ya estén cargados en el mismo documento cartográfico (posiblemente el mismo marco de datos - no recuerdo si te dejará importar simbología de uno diferente) y estés dispuesto a dejar que tu trabajo en la configuración de la simbología resida sólo en el mxd (y quizás guardes una copia de seguridad del mismo por si cambias cosas). Tengo una respuesta gráfica que cubre esos pasos aquí .

0 votos

Buena captura en las unidades extrañas para el resultado inferior izquierdo. Creo que fue un artefacto de mis intentos de definir manualmente los rangos, y los definí en orden inverso. El uso de 'a' en lugar de '-' también es bueno. El problema que tengo con tu solución original es que requiere mucho trabajo manual con la coloración y el etiquetado, y necesito generar una serie de estas figuras. Sin embargo, tu solución alternativa me ha dado algunas ideas. Creo que he encontrado una manera de hacerlo un poco más elegante y de eliminar los problemas del valor mínimo.

2voto

FelixIP Puntos 4035

Creo que se trata de la leyenda de características, pero no de los rasters. Si se trata de rásteres, no tenga en cuenta mi sugerencia. Yo suelo utilizar estos:

  • Combinar 2 (o más shapefiles) CHILDS en uno, llamémoslo FAMILIA
  • crear la leyenda para la FAMILIA
  • importar simbología para cada NIÑO de la FAMILIA

Espero que sea de ayuda, FP

0 votos

Sólo hay que darse cuenta de que es muy similar a JWallace

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X