การสร้างเชพไฟล์ระดับเขตจากชุดของคะแนนที่ระยะห่าง 30 x30 กม. โดยใช้ ArcGIS for Desktop?


9

ฉันมีชุดข้อมูลในรูปแบบ csv เช่น:

latitude, longitude, value
-45, 45, 10
....

ฉันต้องการคำนวณค่าระดับเขตจากข้อมูลเหล่านี้โดยใช้หญ้า ArcGIS หรือ R +

ฉันมีเลเยอร์ ArcGIS USA Counties แต่ฉันไม่สามารถทำการเข้าร่วมเชิงพื้นที่ให้สำเร็จได้

ฉันจะทำสิ่งนี้ได้อย่างไร

คำตอบ:


4

เวิร์กโฟลว์ที่ใช้สร้างไฟล์รูปร่างระดับเขตที่มีค่าเฉลี่ย (z) ในแต่ละเขตจากตารางข้อมูล xyz ใน ArcGIS

โปรดทราบว่านี่เป็นไปตามคำแนะนำของ @ MLowry โดยเพิ่มคำแนะนำทีละขั้นตอน


เปิด ArcCatalog

  1. สร้างฐานข้อมูลภูมิศาสตร์ส่วนบุคคลใหม่ (เช่น foo.mdb)
  2. ไฟล์ -> ใหม่ -> ฐานข้อมูลส่วนบุคคลส่วนบุคคล
  3. เพิ่มข้อมูล

    • คลิกขวาที่ map.csv -> ส่งออกไปยังฐานข้อมูลภูมิศาสตร์ (เดี่ยว) -> foo.mdb
    • คลิกขวาที่ counties.lyr -> ส่งออกไปยังฐานข้อมูลภูมิศาสตร์ (เดี่ยว) -> foo.mdb
  4. สร้าง featureclass (ไฟล์. shp) จากตาราง xy

    • เปิด foo.mdb
    • คลิกขวาที่ตาราง map.csv -> สร้าง featureclass จาก xytable
    • ฟิลด์อินพุต x = lon, y = lat, z = อัตราผลตอบแทน
    • ระบบพิกัดของพิกัดอินพุตที่นำเข้า -> จาก counties.lyr (หรือเทียบเท่า -> ภูมิศาสตร์ .. -> โลก -> wgs_1984 -> เปิด -> ตกลง)
  5. นำเข้าชั้นเรียนคุณลักษณะไปยังฐานข้อมูลภูมิศาสตร์ (หลายรายการ)

    • เลือกไฟล์ shp ที่สร้างใน prev ขั้นตอน -> เพิ่ม -> โอเค

เปิด ArcMap

  1. เพิ่มข้อมูล

    • select foo.mdb -> CTL + เลือกตาราง -> open
  2. เข้าร่วมเชิงพื้นที่

    • ArcToolbox -> เครื่องมือวิเคราะห์ -> โอเวอร์เลย์ -> Spatial Join ->
    • คุณสมบัติเป้าหมาย: counties.lyr
    • เข้าร่วมคุณสมบัติ: แผนที่ตาราง xyz
    • คลาสคุณสมบัติเอาท์พุท: filename_spatialjoin
    • เข้าร่วมการดำเนินการ: JOIN_ONE_TO_ONE
    • ตัวเลือกการแข่งขัน: ใกล้เคียงที่สุด
    • ฟีเจอร์แมปของฟีเจอร์การเข้าร่วม: ลบฟิลด์ที่ไม่ต้องการ (เฉพาะ STATE_FIPS, CNTY_FIPS, ค่า z ที่ต้องการ
    • ค้นหารัศมี: 30 กม
    • คลิก OK
    • ค่า Z = ผลผลิต; เลือก 'mean' (หรือสถิติทางเลือก)

@ David ขอบคุณสำหรับคำตอบอย่างละเอียด ... จะต้องตรวจสอบ
Abe

@ รู้สึกอิสระที่จะแก้ไขเมื่อคุณทำ ฉันทำมาแล้ว CW
David LeBauer

@David ในกรณีนี้ IDW จะสร้างผลลัพธ์ที่ไม่ถูกต้องสำหรับสถิติแบบโซน: ดูการสนทนาตามการตอบกลับของ @ scw
whuber

@whuber ขอบคุณสำหรับการชี้ให้เห็นว่า เมื่อถึงเวลาที่ฉันทำเสร็จแล้วฉันลืมไปแล้วว่าจุดเริ่มต้นคือการเข้าร่วมเชิงพื้นที่กับจุดที่มีเขต แก้ไขแล้ว.
David LeBauer

@ David ขอบคุณ แต่ตอนนี้ฉันสับสน ก่อนอื่นคุณสร้าง "raster layer" ในเวิร์กโฟลว์นี้ตามที่ชื่อประกาศของคุณอยู่ที่ไหน ประการที่สองเป็นอย่างไรที่ผลิตสามชั้น? ไฟล์ CSV เป็นเพียงชุดของคะแนน (x, y) โดยแต่ละไฟล์มีแอตทริบิวต์ตัวเลข (z) เพียงอย่างเดียว
whuber

6

ดูเหมือนว่าคุณสามารถแปลง. csv เป็นธีมของเหตุการณ์จากนั้นส่งออกเป็น. shp จากนั้นทำการรวมเชิงพื้นที่กับ. shp ใหม่ลงในเลเยอร์ของเคาน์ตีและ BOOM คุณสามารถทำการคำนวณได้


6

วิธีการทั่วไปคือการแปลงข้อมูลจุดที่เว้นระยะเป็นประจำของคุณให้เป็นแรสเตอร์ (XYZ เป็นแรสเตอร์ใน Arc *; v.in.xyzใน GRASS) จากนั้นดำเนินการตัวดำเนินการทางสถิติเพื่อรวมค่าของเซลล์ภายในแต่ละเขตและคำนวณสถิติ ( หมายถึงหนึ่งในสถิติมาตรฐานที่คำนวณ) เพื่อดำเนินการสถิติใช้Zonal Statisticsใน Arc * หรือv.rast.statsใน GRASS

หากคุณต้องการทำสถิติขั้นสูงมากขึ้นคุณสามารถทำการวิเคราะห์ใน R ด้วยrasterและspมันค่อนข้างยุ่งยากเล็กน้อย


ความคิดที่ดี แต่ถ้าอาร์เรย์จุดถูกวางอย่างถูกต้องกับพิกัดการ resampling จะเกิดขึ้นในการแปลงเป็น raster และคุณจะอยู่ในความเมตตาของอัลกอริทึม resampling: ค่าเฉลี่ยน่าจะถูกปิดเล็กน้อยไม่ว่าอะไรก็ตาม .
whuber

ขวาถ้าขนาดเซลล์ถูกตั้งค่าเป็น resampling หยาบอาจเกิดขึ้น คุณควรจะสามารถกำหนดขนาดของเซลล์ให้เป็นครึ่งหนึ่งของระยะห่างต่ำสุดระหว่างจุดสองจุดใด ๆ และหลีกเลี่ยงปัญหานี้ วิธีการนี้มีข้อเสียของการจัดการกับการสุ่มตัวอย่างใหม่ แต่ฉันพบว่าดีขึ้นมากแล้วจำนวนคะแนนนั้นมาก (นับหมื่นหรือมากกว่า)
SCW

@scw Resampling เกิดขึ้นไม่ว่าเซลล์จะเป็นอะไร (เว้นแต่ว่าข้อมูลจะถูกจัดตำแหน่งอย่างสมบูรณ์กับกริด) เมื่อใช้เซลล์ที่ละเอียดกว่านี้คุณอาจได้รับคำตอบที่แย่กว่าเดิมเนื่องจากค่ากริดส่วนใหญ่จะถูกแก้ไขระหว่างต้นฉบับ นอกจากว่าคุณกำลังใช้การประมาณค่าเพื่อนบ้านที่ใกล้ที่สุดสิ่งนี้จะทำให้ค่าสุดขีดถูกแสดงน้อยเกินไป ค่าเฉลี่ยจะได้รับผลกระทบเพียงเล็กน้อยเท่านั้น สถิติอื่น ๆ เช่นค่าเบี่ยงเบนมาตรฐานอาจได้รับผลกระทบมากกว่านี้
whuber

@ เมื่อฉันคิดว่าฉันเห็นว่าความเข้าใจผิดของเรามาจากไหน - ฉันไม่สนับสนุนการแปลงข้อมูลเป็นพื้นผิวต่อเนื่องเพียงวางค่าจุด (เมื่อมีอยู่) ลงในตารางแรสเตอร์ปกติ ดังนั้นส่วนใหญ่ของกริดจะยังคงเป็น NULL โดยมีค่าเป็นครั้งคราวเฉพาะที่ตำแหน่งเซลล์ตรงกับตำแหน่งของจุด
SCW

@scw Ah ดีมาก! ขอบคุณสำหรับการชี้แจง คุณมีผลในการดำเนินการเทียบเท่าตามกริดของการเข้าร่วมเชิงพื้นที่ที่แนะนำโดย @MLowry
whuber
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.