21 votos

¿Seleccionando contornos de qué alturas son enteros?

Tengo un Contours Featureclass, con un intervalo de 0,2 metros. Deseo seleccionar sólo aquellos contornos, que están en intervalo de 1 m?

He intentado usar la siguiente sintaxis en el diálogo 'Seleccionar por atributo' (en ArcMap), pero selecciona todos los contornos:

Mod("ELEVATION", 1)=0

¿Qué consulta debo ejecutar?

2voto

Alex Che Puntos 822

Esto estaba destinado a ser un comentario sobre la respuesta anterior - lo siento.

La sintaxis variaría dependiendo del tipo de base de datos en la que se almacenan los contornos, pero la solución dada parece elegir contornos después de redondear sus valores. Así, por ejemplo, en mi prueba esto logró un conjunto seleccionado que incluía .3 m, así como .4 m. De hecho, no excluyó ninguno de los valores.

Esta ecuación

Mod(Round("ELEVATION" * 10, 0), 2)=0

Me dio resultados que parecían coincidir con lo que el interrogador estaba preguntando.

1voto

samiles Puntos 133

Para obtener los contornos del índice, lo uso en la calculadora de campos:

En ARCMAP

dim dIndexInterval
dim dCont
dim i
dim j
dim k
dim c

dIndexInterval = 200 ' set to interval of index contours
dCont = [level] ' Set to contour height field

i = ROUND(dCont, 0) * 10
j = dIndexInterval * 10
k = i MOD j

if k = 0 then
 c = 1 ' is an index contour
else
 c = 0 ' is not an index contour
end if

'Escriba "c" (sin comillas) en el campo de entrada de texto en la parte inferior del cuadro de diálogo y haga clic en Aceptar.

En QGIS

if(((round("level", 0) * 10) % (200 * 10)) = 0, 1, 0)

""level"" Set to contour height field "200" Set to interval of index contours

Entonces: "1" es un contorno de índice y "0" no es un contorno de índice

0voto

Henrik Opel Puntos 16296

Multiplique el contorno por 10 y luego el módulo por 10 para determinar si hay un resto. Si no hay más que un número entero, de lo contrario es flotante.

def contour_class(contour):
    if ((contour * 10) % 10) == 0:
        return "Integer"
    else:
        return "Float"

__esri_field_calculator_splitter__
contour_class(!Contour!)

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