ArcGIS Desktop을 사용하여 날짜 / 시간 필드에서 월별로 선택 하시겠습니까?


13

ArcGIS의 날짜 / 시간 필드에서 특정 월을 선택하고 싶습니다. 작동하는 설명을 찾지 못하는 것 같습니다.

나는 여러 해와 여러 날을 가지고 있지만, 그것들을 걸러 내고 5 월 달의 레코드 만 선택하고 싶습니다.


데이터는 어디에 저장됩니까? fGDB? shapefile? SQL Server? 신탁?
Derek Swingley

데이터를 어떻게 검색하고 있습니까? 시간이 자정이면 datetime의 시간 요소가 표시되지 않는 버그가 있음을 알고 있습니다. 로케일은 데이터 순서, 특히 수개월 동안 중요합니다. Python 또는 VBS에서 날짜 데이터를 배포하는 데 사용할 수있는 전체 작업 호스트와 Oracle 측 (Between 등)이 있습니다.
털이

데이터는 shapefile에 저장됩니다.

감사합니다! 유용했다-나는 날짜별로 선택을 매우 빠르게했다!

GIS.StackExchange에 오신 것을 환영합니다. "귀하의 답변"은 의견이 아닌 당면한 질문에 대한 잠재적 인 답변을위한 것입니다. 본인에게 가장 적합한 답변 아래에 의견을 남겨 주시고 "upvote"버튼을 눌러 해당 답변에 대한 신뢰성을 높이십시오. 그렇게하면 새로운 독자는 어떤 답변이 가장 도움이 될지를 판단 할 수 있습니다.
RyanKDalton

답변:


8

아마도 이런 식으로 뭔가 :

  1. shapefile 속성 테이블을 열고 옵션> 속성 별 선택을 클릭하십시오.
  2. 입력 DatePart("M", [YourDateField]) = 5(5 월)하고 적용을 클릭합니다.

이 코드 샘플은 정말 잘 작동합니다. 실제로 Month DatePart를 기반으로 한 달의 새 필드 값을 계산하는 데 사용했습니다.
RyanKDalton

6

구문은 데이터를 가져올 위치 (파일 gdb, shapefile, 개인 gdb, Oracle, DB2 등)에 따라 다릅니다.

파일 지오 데이터베이스 , shapefiledbf 파일 과 같은 파일 기반 데이터 :

5 월의 모든 것 :

EXTRACT(MONTH FROM "MyDate") = 05

정오 전 :

EXTRACT(HOUR FROM "MyDate") < 12

개인 지오 데이터베이스 ( .mdb ) :

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

SQL 서버 :

DATEPART(month, MyDate) = 05

추가 제한 및 시간 / 연도 별 쿼리 등과 같은 자세한 내용은. Esri HowTo : 날짜-시간 필드에 저장된 날짜의 특정 부분 검색을 참조하십시오 . 필드 계산기를 사용하는 확장 된 예제는 ArcWatch Simplify Date and Time Calculations를 참조하십시오 .


2
다른 사람이이 답변을 읽는 데 도움이되는 의견을 추가하고 싶습니다. 문자열을 반환한다고 생각하지만 월 값을 따옴표로 묶는 실수를하고있었습니다 (예 : EXTRACT (MONTH FROM "MyDate") = '05') EXTRACT는 일, 월 또는 년을 정수로 반환합니다.
Hornbydd

5

ArcGIS 10에서 (어쩌면 속성 별 선택 도구의 이전 버전에서 비슷하게 작동 함) 달의 시작과 달의 끝 사이에 범위를 갖도록 선택문을 지정할 수 있지만 ArcMap의 구문은 이상합니다.

선택 쿼리는 다음과 같아야합니다.

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

Excel을 사용하여 월 범위의 긴 목록을 만든 다음 모델 빌더를 사용하여 위 쿼리에서 배치 선택 스크립트를 만들고 '주문 기준'필드를 업데이트 한 다음 독립 파일 geodatabase 기능 클래스로 내 보냅니다.


내 소스 데이터는 파일 지오 데이터베이스에 있습니다.
Max Squires

1
작동합니다! 데이터 세트에 매년마다 그것을 써야하는 것은 너무 나쁩니다. 감사!


2

날짜 필드에서 월을 쿼리하기 위해 적절한 데이터베이스 기능을 사용할 수 있어야합니다. 예를 들어, Oracle에서는 속성으로 where를 선택할 수 To_Char([date],'MM') = 4있습니다.


1

작성하는 간단한 스크립트는 날짜 전체를 가져온 다음 분할하는 것입니다.

Time = "2011-04-06 11:26:51"
Month = newTime.split("-")[1]

그런 다음 월 값을 비교하십시오.


0

끔찍한 해킹이지만 속성 테이블을 .csv로 내보낼 수 있습니다. Excel로 가져 와서 년 / 월 / 일을 Excel로 구문 분석하십시오. 그런 다음 해당 Excel 워크 시트를 표에 조인하고 해당 월을 기준으로 정렬하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.