เลือกตามเดือนในฟิลด์วันที่ / เวลาโดยใช้ ArcGIS Desktop?


13

ฉันต้องการเลือกตามเดือนที่เฉพาะเจาะจงจากเขตข้อมูลวันที่ / เวลาของฉันใน ArcGIS และดูเหมือนจะไม่พบคำสั่งที่ใช้งานได้

ฉันมีหลายปีและหลายวัน แต่ต้องการกรองออกและเลือกบันทึกจากเดือนพฤษภาคมเท่านั้น


ข้อมูลของคุณถูกเก็บไว้ที่ไหน? fGDB? shapefile? เซิร์ฟเวอร์ SQL ออราเคิล?
Derek Swingley

คุณค้นหาข้อมูลอย่างไร ฉันรู้ว่ามีข้อผิดพลาดที่องค์ประกอบเวลาของวันที่และเวลาไม่แสดงถ้าเวลาเที่ยงคืน จำไว้ด้วยว่าสถานที่นั้นมีความสำคัญในลำดับของข้อมูลเดือนโดยเฉพาะอย่างยิ่ง มีโฮสต์ทั้งหมดของการดำเนินการที่คุณสามารถใช้ใน Python หรือ VBS เพื่อเผยแพร่ข้อมูลวันที่เช่นเดียวกับทางด้าน Oracle (ระหว่าง, ฯลฯ ... )
ขน

ข้อมูลถูกเก็บไว้ใน shapefile

ขอบคุณ! มีประโยชน์ - ฉันทำการเลือกตามวันที่อย่างรวดเร็ว!

ยินดีต้อนรับสู่ GIS.StackExchange "คำตอบของคุณ" มีไว้สำหรับคำตอบที่เป็นไปได้ของคำถามไม่ใช่ความคิดเห็น อย่าลังเลที่จะแสดงความคิดเห็นภายใต้คำตอบที่ดีที่สุดสำหรับคุณแล้วกดปุ่ม "upvote" เพื่อเพิ่มความน่าเชื่อถือให้กับคำตอบนั้น ด้วยวิธีนี้ผู้อ่านใหม่จะสามารถคาดเดาได้ว่าคำตอบใดน่าจะช่วยได้มากที่สุด
RyanKDalton

คำตอบ:


8

บางทีสิ่งนี้:

  1. เปิดตารางแอตทริบิวต์ shapefile และคลิกตัวเลือก> เลือกตามคุณสมบัติ
  2. พิมพ์DatePart("M", [YourDateField]) = 5(สำหรับพฤษภาคม) และคลิกใช้

ตัวอย่างโค้ดนี้ทำงานได้ดีจริงๆ ฉันใช้เพื่อคำนวณค่าฟิลด์ใหม่สำหรับเดือนตามเดือน DatePart
RyanKDalton

6

ไวยากรณ์จะแตกต่างกันไปขึ้นอยู่กับว่าข้อมูลถูกดึงมาจากไหน (ไฟล์ gdb, รูปร่างไฟล์, ส่วนตัว gdb, Oracle, DB2, ฯลฯ )

ไฟล์ Geodatabase, Shapefilesและข้อมูลจากไฟล์เช่นไฟล์ dbf :

ทุกอย่างในเดือนพฤษภาคม:

EXTRACT(MONTH FROM "MyDate") = 05

ก่อนเที่ยง:

EXTRACT(HOUR FROM "MyDate") < 12

Geodatabase ส่วนบุคคล ( .mdb ):

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

เซิร์ฟเวอร์ SQL :

DATEPART(month, MyDate) = 05

สำหรับรายละเอียดเพิ่มเติมเช่นข้อ จำกัด เพิ่มเติมและการค้นหาตามชั่วโมง / ปี / ฯลฯ ดู Esri HowTo: ค้นหาเฉพาะส่วนของวันที่จัดเก็บไว้ในวันเวลาสนาม สำหรับตัวอย่างเพิ่มเติมโดยใช้ Field Calculator ดูการคำนวณวันที่และเวลาของ ArcWatch ให้ง่ายขึ้น


2
เพียงแค่เพิ่มความคิดเห็นเพื่อช่วยให้ผู้อื่นอ่านคำตอบนี้ ฉันกำลังทำผิดพลาดในการตัดค่าเดือนในเครื่องหมายคำพูด (เช่น EXTRACT (เดือนจาก "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 เพื่อสร้างรายการของช่วงเดือนที่ยาวนานจากนั้นใช้ตัวสร้างแบบจำลองเพื่อสร้างสคริปต์ให้แบทช์เลือกโดยแบบสอบถามด้านบนอัปเดตฟิลด์ 'เรียงตาม' จากนั้นส่งออกไปยังคุณลักษณะฐานข้อมูลฐานข้อมูลแบบสแตนด์อโลน


ข้อมูลต้นฉบับของฉันอยู่ในฐานข้อมูลไฟล์ทางภูมิศาสตร์
Max Squires

1
มันใช้งานได้! มันเลวร้ายเกินไปที่คุณจะต้องเขียนออกมาสำหรับแต่ละปีในชุดข้อมูล ขอบคุณ!


2

คุณควรใช้ฟังก์ชันฐานข้อมูลที่เหมาะสมเพื่อสืบค้นเดือนจากฟิลด์วันที่ ยกตัวอย่างเช่นใน Oracle 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.