Chọn theo tháng trong trường ngày / giờ bằng ArcGIS Desktop?


12

Tôi muốn chọn theo một tháng cụ thể từ trường ngày / giờ của mình trong ArcGIS và dường như không thể tìm thấy một tuyên bố nào sẽ hoạt động.

Tôi có nhiều năm và nhiều ngày, nhưng muốn lọc chúng ra và chỉ chọn các hồ sơ từ tháng Năm.


Dữ liệu của bạn được lưu trữ ở đâu? fGDB? shapefile? Máy chủ SQL? Oracle?
Derek Swingley

Làm thế nào bạn đang tìm kiếm dữ liệu? Tôi biết có một lỗi trong đó yếu tố thời gian của datetime không hiển thị nếu thời gian là nửa đêm. Cũng cần nhớ rằng, miền địa phương đó rất quan trọng theo thứ tự dữ liệu, tháng, đặc biệt là như vậy. Có một loạt các hoạt động bạn có thể sử dụng trong Python hoặc VBS để phổ biến dữ liệu ngày, cũng như về phía Oracle (Giữa, v.v ...).
Lông

Dữ liệu được lưu trữ trong một shapefile.

cảm ơn bạn! rất hữu ích - Tôi đã lựa chọn theo ngày rất nhanh!

Chào mừng bạn đến với GIS.StackExchange. "Câu trả lời của bạn" có nghĩa là câu trả lời tiềm năng cho câu hỏi, không phải bình luận. Vui lòng để lại nhận xét dưới câu trả lời phù hợp nhất với bạn và nhấn nút "upvote" để cung cấp thêm độ tin cậy cho câu trả lời đó. Bằng cách đó, độc giả mới sẽ có thể đoán được câu trả lời nào có khả năng giúp đỡ nhất.
RyanKDalton

Câu trả lời:


7

Có lẽ một cái gì đó như thế này:

  1. Mở bảng thuộc tính shapefile và bấm Tùy chọn> Chọn theo thuộc tính
  2. Nhập DatePart("M", [YourDateField]) = 5(cho tháng 5) và nhấp vào Áp dụng.

Mẫu mã này hoạt động thực sự tốt. Tôi thực sự đã sử dụng nó để tính giá trị trường mới cho tháng dựa trên Tháng DatePart.
RyanKDalton

6

Cú pháp khác nhau tùy thuộc vào nơi dữ liệu được tìm nạp từ (tệp gdb, shapefile, gdb cá nhân, Oracle, DB2, v.v.).

sở dữ liệu địa lý tệp, shapefiles và dữ liệu dựa trên tệp như tệp dbf :

Mọi thứ trong tháng 5:

EXTRACT(MONTH FROM "MyDate") = 05

Trước buổi trưa:

EXTRACT(HOUR FROM "MyDate") < 12

Cơ sở dữ liệu địa lý cá nhân ( .mdb ):

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

Máy chủ SQL :

DATEPART(month, MyDate) = 05

Để biết thêm chi tiết như giới hạn hơn nữa và truy vấn theo giờ / năm / v.v. xem Hướng dẫn Esri : Tìm kiếm các phần cụ thể của một ngày được lưu trữ trong trường Ngày giờ . Để biết ví dụ mở rộng sử dụng Máy tính trường, hãy xem ArcWatch Đơn giản hóa tính toán ngày và giờ .


2
Chỉ muốn thêm một bình luận để giúp người khác đọc câu trả lời này. Tôi đã phạm sai lầm khi gói giá trị tháng trong dấu ngoặc kép (ví dụ EXTRACT (MONTH TỪ "MyDate") = '05') nghĩ rằng tôi đã trả về một chuỗi nhưng EXTRACT trả về ngày, tháng hoặc năm dưới dạng số nguyên.
Hornbydd 11/2/2016

5

Trong ArcGIS 10 (có thể hoạt động tương tự trong các phiên bản trước trong công cụ chọn theo thuộc tính, bạn có thể chỉ định câu lệnh lựa chọn có phạm vi từ đầu tháng đến cuối tháng, nhưng cú pháp trong ArcMap là lạ.

Truy vấn lựa chọn sẽ giống như thế này:

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

Tôi đã sử dụng excel để tạo một danh sách dài các phạm vi tháng và sau đó sử dụng trình xây dựng mô hình để tạo tập lệnh theo lô theo lựa chọn trên, cập nhật trường 'theo thứ tự', sau đó xuất sang một tệp dữ liệu filegeodatabase độc ​​lập.


dữ liệu nguồn của tôi là trong một cơ sở dữ liệu địa lý tập tin.
Max Squires

1
Những công việc này! Thật tệ khi bạn phải viết nó ra cho M EI năm trong bộ dữ liệu. Cảm ơn!

3

Hãy thử một cái gì đó như ...

Select DatePart(MM, GetDate()) as Current_Month

2

Bạn sẽ có thể sử dụng chức năng cơ sở dữ liệu thích hợp để truy vấn tháng từ trường ngày. Ví dụ, trong Oracle bạn có thể chọn theo thuộc tính To_Char([date],'MM') = 4.


1

Một tập lệnh đơn giản để viết sẽ là lấy toàn bộ ngày, sau đó chia nhỏ nó:

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

Sau đó, so sánh giá trị của tháng


0

Hack khủng khiếp, nhưng bạn có thể xuất bảng thuộc tính của mình sang .csv; nhập vào Excel và phân tích năm / tháng / ngày trong excel. Sau đó, tham gia bảng tính Excel đó vào bảng của bạn và sắp xếp theo tháng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.