14 votos

¿Seleccionar por mes en un campo de fecha/hora con ArcGIS Desktop?

Me gustaría seleccionar por un mes específico de mi campo de fecha/hora en ArcGIS, y parece que no puedo encontrar una declaración que funcione.

Tengo varios años y varios días, pero quiero filtrarlos y elegir sólo los registros del mes de mayo.

0 votos

¿Dónde se almacenan los datos? ¿FGDB? ¿F shapefile? ¿Servidor SQL? ¿Oracle?

0 votos

¿Cómo buscas los datos? Sé que hay un error en el que el elemento de tiempo de datetime no muestra si la hora es medianoche. Recuerda también que la localización es importante en el orden de los datos, los meses, especialmente. Hay toda una serie de operaciones que puedes utilizar en Python o VBS para difundir datos de fechas, así como en el lado de Oracle (Between, etc...).

0 votos

Los datos se almacenan en un shapefile.

8voto

DrPizza Puntos 9355

Quizás algo así:

  1. Abra la tabla de atributos del shapefile y haga clic en Opciones > Seleccionar por atributos
  2. Tipo DatePart("M", [YourDateField]) = 5 (para mayo) y haga clic en Aplicar.

0 votos

Este ejemplo de código funciona muy bien. De hecho, lo he utilizado para calcular los valores de un nuevo campo para el mes basado en el Month DatePart.

8voto

Greg Puntos 1756

La sintaxis varía en función de la procedencia de los datos (archivo gdb, shapefile, gdb personal, Oracle, DB2, etc.).

Archivo Geodatabase, shapefiles, y datos basados en archivos como dbf archivos:

Todo en mayo:

EXTRACT(MONTH FROM "MyDate") = 05

Antes del mediodía:

EXTRACT(HOUR FROM "MyDate") < 12

Personal Base de datos geográfica ( .mdb ):

DATEPART("m", [MyDate]) = 05

Servidor SQL :

DATEPART(month, MyDate) = 05

Para obtener más detalles, como otras limitaciones y la consulta por hora/año/etc., consulte el sitio web de Esri Cómo hacerlo: Buscar partes específicas de una fecha almacenada en un campo Fecha-Hora . Para ver ejemplos ampliados de uso de la calculadora de campos, consulte ArcWatch Simplificar los cálculos de fecha y hora .

2 votos

Sólo quiero añadir un comentario para ayudar a otros que lean esta respuesta. Estaba cometiendo el error de encerrar el valor del mes entre comillas (por ejemplo, EXTRACT(MES DE "MiFecha") = '05') pensando que estaba devolviendo una cadena, pero EXTRACT devuelve el día, el mes o el año como un entero.

6voto

DarthPickley Puntos 31

En ArcGIS 10 (probablemente funciona de manera similar en versiones anteriores en la herramienta de selección por atributos puede especificar la declaración de selección para tener un rango entre el principio del mes y el final del mes, pero la sintaxis en ArcMap es extraña.

La consulta de selección debería tener el siguiente aspecto:

"DateField" >= date '05/01/2011 00:00:00' AND "DateField" < date '06/01/2011 00:00:00'

Utilicé excel para hacer una larga lista de rangos de meses y luego utilicé model builder para hacer un script para seleccionar por lotes por la consulta anterior, actualizar un campo 'order by', y luego exportar a un featureclass independiente de filegeodatabase.

0 votos

Mis datos de origen están en una geodatabase de archivos.

1 votos

¡Esto funciona! Es una pena que haya que escribirlo para CADA año del conjunto de datos. Gracias.

3voto

Niall C. Puntos 1234

Prueba algo como...

Select DatePart(MM, GetDate()) as Current_Month

2voto

Gareth Jenkins Puntos 1480

Debería poder utilizar la función de base de datos apropiada para consultar el mes desde el campo de fecha. Por ejemplo, en Oracle podría seleccionar por atributo donde To_Char([date],'MM') = 4 .

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