Más

Uso de MAX en la expresión SQL de ArcMap ModelBuilder


Estoy tratando de usar una expresión SQL para seleccionar valores que sean> = 25% de su valor máximo en esa columna. Por ejemplo,VALOR> = MAX (VALOR) * 0.25, y esos serán en última instancia los puntos seleccionados que extraiga.

¿Existe una sintaxis para que eso suceda, o voy a necesitar crear una nueva columna y usar la calculadora de campo en ella?

El mayor problema con eso es que tendré que hacer esto para unos 250 archivos. También estoy tratando de crear esto en ModelBuilder.

Cuando lo intento como arriba, simplemente devuelve que hay un error con la expresión.


La técnica que utilizo para hacer esto en ModelBuilder es:

  1. Ejecute estadísticas de resumen (análisis) para escribir el valor MAX en su tabla de salida
  2. Utilice Obtener valor de campo (ModelBuilder) para leer la primera fila de la tabla recién creada que contiene ese valor MÁX.

Creo que el problema que tiene es que, con su expresión tal como está, esta condición que escribió se está evaluando para cada fila / registro en sus datos. Entonces, si tuvieras una mesa como:

OID | Valor 1 | 123 2 | 456 3 | 789

Tengo entendido que su expresión, con valores reales sustituidos por variables, se vería así:

123> = MAX (123) * 0.25 456> = MAX (456) * 0.25 789> = MAX (789) * 0.25

En primer lugar, debe asegurarse de que su campo de valor sea de un tipo de campo numérico (entero largo / corto, doble, flotante). Luego, si eso es cierto, debe consultar el concepto de ayuda en http://resources.arcgis.com/en/help/main/10.2/index.html#//00s500000033000000 y desplazarse hacia abajo hasta la sección de subconsultas y lea eso ya que creo que es lo que realmente está buscando. No conozco los nombres de sus tablas y demás, por lo que no sé la consulta exacta que se necesitaría, pero podría verse algo así como

VALOR> = (SELECCIONAR MAX (VALOR) * 0.25 DE LA TABLA)

Con suerte, eso debería llevarte al menos al parque de pelota. Si realiza una subconsulta, evaluará cada registro (la primera variable VALUE), contra los resultados de la subconsulta (que puede mirar toda la tabla y extraer un valor MAX). Que yo sepa, con la forma en que se configuran las opciones de entrada SQL de ArcGIS Desktop, generalmente solo puede usar las funciones como AVG, COUNT, MIN, MAX y SUM en subconsultas.


Ver el vídeo: Uso de la aplicación Model Builder en ArcGIS (Octubre 2021).