นี่คือคำสั่ง r.in.xyzgrass ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
r.in.xyz - สร้างแผนที่แรสเตอร์จากการรวมพิกัดจำนวนมากโดยใช้ univariate
สถิติ.
KEYWORDS
แรสเตอร์ นำเข้า แปลง การรวม ASCII LIDAR
เรื่องย่อ
r.in.xyz
r.in.xyz --ช่วยด้วย
r.in.xyz [-sgi] อินพุต=ชื่อ เอาท์พุต=ชื่อ [วิธี=เชือก] [ชนิด=เชือก]
[คั่น=ตัวอักษร] [x=จำนวนเต็ม] [y=จำนวนเต็ม] [z=จำนวนเต็ม] [ข้าม=จำนวนเต็ม]
[Zrange=ต่ำสุด,สูงสุด] [สเกล=ลอย] [ค่า_คอลัมน์=จำนวนเต็ม] [วาเรนจ์=ต่ำสุด,สูงสุด]
[สเกล=ลอย] [เปอร์เซ็นต์=จำนวนเต็ม] [PTH=จำนวนเต็ม] [ตัดแต่ง=ลอย-เขียนทับ]
-ช่วย-ละเอียด-เงียบสงบ-ui]
ธง:
-s
สแกนไฟล์ข้อมูลเพื่อขยายขอบเขตแล้วออก
-g
ในโหมดสแกน ให้พิมพ์โดยใช้สไตล์เชลล์สคริปต์
-i
ละเว้นเส้นเสีย
--เขียนทับ
อนุญาตให้ไฟล์เอาต์พุตเขียนทับไฟล์ที่มีอยู่
--ช่วยด้วย
พิมพ์สรุปการใช้งาน
--รายละเอียด
เอาต์พุตโมดูล verbose
--เงียบ
เอาต์พุตโมดูลเงียบ
--UI
บังคับให้เปิดใช้กล่องโต้ตอบ GUI
พารามิเตอร์:
อินพุต=ชื่อ [ที่จำเป็น]
ไฟล์ ASCII ที่มีข้อมูลอินพุต (หรือ "-" เพื่ออ่านจาก stdin)
เอาท์พุต=ชื่อ [ที่จำเป็น]
ชื่อแผนที่แรสเตอร์เอาต์พุต
วิธี=เชือก
สถิติที่จะใช้สำหรับค่าแรสเตอร์
ตัวเลือก: n, นาที สูงสุด พิสัย, ผลรวม หมายความว่า มาตรฐาน ความแปรปรวน coeff_var, ค่ามัธยฐาน
เปอร์เซ็นไทล์, ความเบ้ ตัดแต่ง
ค่าเริ่มต้น: หมายความ
ชนิด=เชือก
ประเภทพื้นที่เก็บข้อมูลสำหรับแผนที่แรสเตอร์ที่เป็นผลลัพธ์
ตัวเลือก: เซลล์ เอฟซีเซลล์, ดีเซลล์
ค่าเริ่มต้น: เอฟซีเซลล์
คั่น=ตัวอักษร
ตัวคั่นฟิลด์
อักขระพิเศษ: ไปป์, จุลภาค, ช่องว่าง, แท็บ, ขึ้นบรรทัดใหม่
ค่าเริ่มต้น: ท่อ
x=จำนวนเต็ม
หมายเลขคอลัมน์ของพิกัด x ในไฟล์อินพุต (คอลัมน์แรกคือ 1)
ค่าเริ่มต้น: 1
y=จำนวนเต็ม
หมายเลขคอลัมน์ของพิกัด y ในไฟล์อินพุต
ค่าเริ่มต้น: 2
z=จำนวนเต็ม
หมายเลขคอลัมน์ของค่าข้อมูลในไฟล์อินพุต
หากกำหนดคอลัมน์ค่าแยกต่างหาก ตัวเลือกนี้จะอ้างอิงถึงคอลัมน์พิกัด z ถึง
ถูกกรองโดยตัวเลือก zrange
ค่าเริ่มต้น: 3
ข้าม=จำนวนเต็ม
จำนวนบรรทัดส่วนหัวที่จะข้ามที่ด้านบนของไฟล์อินพุต
ค่าเริ่มต้น: 0
Zrange=ต่ำสุด,สูงสุด
ช่วงตัวกรองสำหรับข้อมูล z (ต่ำสุด สูงสุด)
สเกล=ลอย
มาตราส่วนเพื่อนำไปใช้กับ z data
ค่าเริ่มต้น: 1.0
ค่า_คอลัมน์=จำนวนเต็ม
หมายเลขคอลัมน์สำรองของค่าข้อมูลในไฟล์อินพุต
หากไม่ได้รับ (หรือตั้งค่าเป็น 0) ข้อมูลคอลัมน์ z จะถูกใช้
ค่าเริ่มต้น: 0
วาเรนจ์=ต่ำสุด,สูงสุด
ช่วงตัวกรองสำหรับข้อมูลคอลัมน์ค่าทางเลือก (ต่ำสุด สูงสุด)
สเกล=ลอย
มาตราส่วนเพื่อนำไปใช้กับข้อมูลคอลัมน์ค่าทางเลือก
ค่าเริ่มต้น: 1.0
เปอร์เซ็นต์=จำนวนเต็ม
เปอร์เซ็นต์ของแผนที่ที่จะเก็บไว้ในหน่วยความจำ
ตัวเลือก: 1-100
ค่าเริ่มต้น: 100
PTH=จำนวนเต็ม
เปอร์เซ็นไทล์ pth ของค่า
ตัวเลือก: 1-100
ตัดแต่ง=ลอย
ทิ้ง เปอร์เซ็นต์ที่เล็กที่สุดและ เปอร์เซ็นต์ของการสังเกตที่ใหญ่ที่สุด
ตัวเลือก: 0-50
DESCRIPTION
รางวัล r.in.xyz โมดูลจะโหลดและทิ้งข้อมูล x,y,z ASCII ที่ไม่ได้ระบุลงในแผนที่แรสเตอร์ใหม่
ผู้ใช้สามารถเลือกวิธีการทางสถิติที่หลากหลายในการสร้างแรสเตอร์ใหม่
ข้อมูลแบบ Gridded ที่ให้มาเป็นสตรีมของจุด x,y,z อาจถูกนำเข้าได้เช่นกัน
โปรดทราบว่าขอบเขตและความละเอียดของภูมิภาคปัจจุบันใช้สำหรับการนำเข้า มันคือ
จึงแนะนำให้ใช้ครั้งแรก -s ตั้งค่าสถานะเพื่อรับขอบเขตของจุดอินพุตถึง
นำเข้าแล้วปรับขอบเขตปัจจุบันตามนั้นแล้วดำเนินการต่อด้วย
นำเข้าจริง.
r.in.xyz ได้รับการออกแบบมาเพื่อประมวลผลชุดข้อมูลบนคลาวด์แบบจุดขนาดใหญ่ เช่น ดิบ LIDAR หรือ
ข้อมูลแนวโซนาร์สแกนด้านข้าง ได้รับการทดสอบกับชุดข้อมูลที่มีขนาดใหญ่ถึงหลายหมื่นล้าน
คะแนน (705GB ในไฟล์เดียว)
สถิติที่มีอยู่สำหรับการเติมแรสเตอร์คือ:
n จำนวนจุดในเซลล์
นาที ค่าต่ำสุดของคะแนนในเซลล์
แม็กซ์ ค่าสูงสุดของคะแนนในเซลล์
พิสัย ช่วงของจุดในเซลล์
รวม ผลรวมของคะแนนในเซลล์
หมายความ ค่าเฉลี่ยของคะแนนในเซลล์
มาตรฐาน ส่วนเบี่ยงเบนมาตรฐานของจุดในเซลล์
ความแปรปรวน ความแปรปรวนของคะแนนในเซลล์
coeff_var ค่าสัมประสิทธิ์ความแปรปรวนของจุดในเซลล์
มัธยฐาน ค่ามัธยฐานของคะแนนในเซลล์
เปอร์เซ็นไทล์ pth เปอร์เซ็นไทล์ของจุดในเซลล์
เบ้ ความเบ้ของจุดในเซลล์
ตัดแต่ง ค่าเฉลี่ยของจุดในเซลล์ที่ถูกตัดแต่ง
· ความแปรปรวน และอนุพันธ์ใช้ตัวประมาณแบบเอนเอียง (n) [เปลี่ยนหัวข้อ]
· ค่าสัมประสิทธิ์ of ความแปรปรวน กำหนดเป็นเปอร์เซ็นต์และกำหนดเป็น (stddev/mean)*100
นอกจากนี้ยังสามารถ bin และจัดเก็บคอลัมน์ข้อมูลอื่น (เช่น backscatter) ในขณะที่
พร้อมกันกรองและปรับขนาดทั้งค่าคอลัมน์ข้อมูลและช่วง z
หมายเหตุ
ตะแกรง ข้อมูล
หากทราบว่าข้อมูลอยู่ในตารางปกติ r.in.xyz สามารถสร้างแผนที่ขึ้นมาใหม่ได้อย่างสมบูรณ์แบบเช่น
ตราบใดที่ใช้ความระมัดระวังในการตั้งค่าภูมิภาคอย่างถูกต้องและแผนที่ดั้งเดิมของข้อมูล
ใช้การฉายภาพ วิธีการทั่วไปจะเกี่ยวข้องกับการกำหนดความละเอียดของกริดเช่นกัน
โดยการตรวจสอบเอกสารที่เกี่ยวข้องของข้อมูลหรือโดยการศึกษาไฟล์ข้อความ การสแกนครั้งต่อไป
ข้อมูลกับ r.in.xyz's -s (หรือ -g) ตั้งค่าสถานะเพื่อค้นหาขอบเขตของข้อมูลที่ป้อน GRASS ใช้
แบบแผนแรสเตอร์ของศูนย์เซลล์โดยที่จุดข้อมูลอยู่ภายในศูนย์กลางของเซลล์ เช่น
ตรงข้ามกับแบบแผนกริดโหนด ดังนั้นคุณจะต้องขยายพื้นที่ออกไปโดย
ครึ่งเซลล์ในทุกทิศทางเกินกว่าที่สแกนพบในไฟล์ หลังจากภูมิภาค
ขอบเขตและความละเอียดถูกกำหนดอย่างถูกต้องด้วย g.ภูมิภาค, วิ่ง r.in.xyz โดยใช้โปรแกรม n วิธีการและ
ตรวจสอบว่า n=1 ทุกแห่ง ร.ยูนิวาร์ สามารถช่วย. เมื่อคุณมั่นใจว่าภูมิภาค
ตรงทุกประการกับข้อมูลที่ดำเนินการต่อไป r.in.xyz โดยใช้หนึ่งใน หมายความว่า นาที แม็กซ์,หรือ
มัธยฐาน วิธีการ ด้วย n=1 ตลอด ผลลัพธ์ควรเหมือนกันโดยไม่คำนึงถึง
ใช้วิธีการเหล่านั้น
หน่วยความจำ ใช้
ในขณะที่ อินพุต ไฟล์อาจมีขนาดใหญ่โดยพลการ r.in.xyz จะใช้ระบบจำนวนมาก
หน่วยความจำสำหรับพื้นที่แรสเตอร์ขนาดใหญ่ (10000x10000) หากโมดูลปฏิเสธที่จะเริ่มบ่น
ที่มีหน่วยความจำไม่เพียงพอให้ใช้ เปอร์เซ็นต์ พารามิเตอร์เพื่อเรียกใช้โมดูลในหลาย ๆ
ผ่าน นอกจากนี้ การใช้รูปแบบแผนที่ที่แม่นยำน้อยกว่า (CELL [integer] หรือ FCELL [floating
จุด]) จะใช้หน่วยความจำน้อยกว่า DCELL [จุดลอยตัวที่มีความแม่นยำสองเท่า] เอาท์พุต แผนที่.
วิธีการต่างๆเช่น n, นาที สูงสุด รวม จะใช้หน่วยความจำน้อยลงในขณะที่ มาตรฐาน ความแปรปรวน และ
coeff_var จะใช้มากขึ้น ฟังก์ชันรวม ค่ามัธยฐาน เปอร์เซ็นไทล์, เบ้ และ ซึ่งถูกตัดแต่ง
หมายความ จะใช้หน่วยความจำมากขึ้นและอาจไม่เหมาะสมสำหรับใช้กับขนาดใหญ่โดยพลการ
ไฟล์อินพุต
แผนที่เริ่มต้น ชนิด=FCELL มีวัตถุประสงค์เพื่อประนีประนอมระหว่างการรักษาความแม่นยำของข้อมูลและ
จำกัดการใช้ทรัพยากรระบบ หากอ่านข้อมูลจากสตรีม stdin โปรแกรม
วิ่งได้เพียงรอบเดียวเท่านั้น
การตั้งค่า ภูมิภาค ขอบเขต และ ความละเอียด
คุณสามารถใช้ -s สแกนแฟล็กเพื่อค้นหาขอบเขตของข้อมูลที่ป้อน (และทำให้ความหนาแน่นของจุด)
ก่อนดำเนินการนำเข้าแบบเต็ม ใช้ g.ภูมิภาค เพื่อปรับขอบเขตภูมิภาคให้ตรงกัน NS
-g แฟล็กรูปแบบเชลล์พิมพ์ขอบเขตที่เหมาะสมเป็นพารามิเตอร์สำหรับ g.ภูมิภาค. เหมาะสม
หาความละเอียดได้โดยการหารจำนวนจุดอินพุตด้วยพื้นที่ที่ครอบคลุม เช่น
wc -l inputfile.txt
g.ภูมิภาค -p
# points_per_cell = n_points / (แถว * cols)
g.ภูมิภาค -e
# ที่ตั้ง UTM:
# point_per_sq_m = n_points / (ns_extent * ew_extent)
# ที่ตั้ง ลาด/โหลน :
# point_per_sq_m = n_points / (ns_extent * ew_extent*cos(lat) * (1852*60)^2)
หากคุณตั้งใจจะสอดแทรกข้อมูลด้วย r.to.vect และ v.ท่อง.rstแล้วมี
จุดเล็ก ๆ น้อย ๆ ในการตั้งค่าความละเอียดของภูมิภาคเพื่อให้คุณจับจุดข้อมูลได้เพียงจุดเดียว
ต่อเซลล์ -- คุณอาจใช้ "v.in.ascii -zbt" โดยตรงก็ได้
กรอง
คะแนนที่อยู่นอกภูมิภาคปัจจุบันจะถูกข้ามไป รวมถึงคะแนนที่ตกลงมา
เผง ที่ชายแดนภาคใต้ (เพื่อจับภาพเหล่านั้นปรับภูมิภาคด้วย "g.region
s=s-0.000001"; ดู g.ภูมิภาค)
บรรทัดว่างและบรรทัดแสดงความคิดเห็นที่ขึ้นต้นด้วยสัญลักษณ์แฮช (#) จะถูกข้ามไป
รางวัล Zrange พารามิเตอร์อาจใช้สำหรับการกรองข้อมูลที่ป้อนตามขอบเขตแนวตั้ง ตัวอย่าง
การใช้งานอาจรวมถึงการจัดเตรียมส่วนแรสเตอร์หลายส่วนเพื่อรวมเป็น 3D แรสเตอร์
อาร์เรย์กับ r.to.rast3หรือสำหรับการกรองค่าผิดปกติบนภูมิประเทศที่ค่อนข้างราบเรียบ
ในภูมิประเทศที่หลากหลาย ผู้ใช้อาจพบว่า นาที แผนที่สร้างตัวกรองสัญญาณรบกวนที่ดีมากที่สุด
เสียง LIDAR มาจากการชนก่อนเวลาอันควร NS นาที แผนที่อาจมีประโยชน์ในการค้นหาข้อมูลพื้นฐาน
ภูมิประเทศในสภาพแวดล้อมที่เป็นป่าหรือในเมือง ถ้าเซลล์มีตัวอย่างมากเกินไป
ผู้ใช้สามารถใช้การรวมกันของ r.in.xyz เอาท์พุต แผนที่เพื่อสร้างตัวกรองที่กำหนดเอง เช่น การใช้
r.mapcalc เพื่อสร้างแผนที่มีค่าเฉลี่ย (2*stddev) [ในตัวอย่างนี้ ผู้ใช้อาจต้องการรวม a
ตัวกรองขอบเขตล่างใน r.mapcalc เพื่อลบจุดที่มีความแปรปรวนสูง (เล็ก n) หรือ run
r.เพื่อนบ้าน เพื่อทำให้แผนที่ stddev ราบรื่นก่อนใช้งานต่อไป]
สลับกัน ความคุ้มค่า คอลัมน์
รางวัล ค่า_คอลัมน์ สามารถใช้พารามิเตอร์ในกรณีพิเศษเมื่อคุณต้องการกรองโดย
z-range แต่ bin และเก็บข้อมูลของคอลัมน์อื่น ตัวอย่างเช่นหากคุณต้องการดู
ค่าการกระเจิงกลับระหว่างความสูง 1000 ถึง 1500 เมตร มีประโยชน์อย่างยิ่ง
เมื่อใช้ r.in.xyz เพื่อเตรียมชิ้นความลึกสำหรับแรสเตอร์ 3 มิติ — the Zrange ตัวเลือก
กำหนดส่วนความลึก แต่ค่าข้อมูลที่เก็บไว้ใน voxels อธิบายเพิ่มเติม
มิติ. เช่นเดียวกับคอลัมน์ z อาจใช้ช่วงการกรองและตัวประกอบมาตราส่วน
ฉายซ้ำ
หากต้องฉายภาพแรสเตอร์แผนที่ อาจเป็นการเหมาะสมกว่าที่จะฉายภาพอินพุตใหม่
แต้มด้วย ม.โปรเจกต์ or cs2cs ก่อนวิ่ง r.in.xyz.
การแก้ไข เข้าไป a DEM
ความสามารถภูมิประเทศของ vector engine แนะนำโอเวอร์เฮดหน่วยความจำจำกัดต่อเวกเตอร์
จุดซึ่งโดยทั่วไปจะจำกัดแผนที่เวกเตอร์ไว้ที่ประมาณ 3 ล้านจุด (~ 1750^2
เซลล์). หากต้องการมากกว่านี้ ให้ใช้ปุ่ม r.to.vect -b ตั้งค่าสถานะเพื่อข้ามโทโพโลยีอาคาร ปราศจาก
โทโพโลยี อย่างไรก็ตาม สิ่งที่คุณทำได้กับแผนที่เวกเตอร์จะแสดงด้วย ง.เวกเตอร์ และ
สอดแทรกด้วย v.ท่อง.rst. วิ่ง ร.ยูนิวาร์ บนแผนที่แรสเตอร์ของคุณเพื่อตรวจสอบจำนวน
เซลล์ที่ไม่ใช่ค่า NULL และปรับขอบเขตและ/หรือความละเอียดตามต้องการก่อนดำเนินการต่อ
คำสั่งทั่วไปในการสร้าง DEM โดยใช้ spline fit ที่ปรับให้เป็นมาตรฐาน:
r.univar lidar_min
r.to.vect -z type=point in=lidar_min ออก=lidar_min_pt
v.surf.rst ใน=lidar_min_pt elev=lidar_min.rst
นำเข้า of x,y,สตริง ข้อมูล
r.in.xyz กำลังคาดหวังค่าตัวเลขเป็นคอลัมน์ z เพื่อดำเนินการนับเหตุการณ์
การดำเนินการแม้ในข้อมูล x,y ที่มีแอตทริบิวต์ที่ไม่ใช่ตัวเลข ข้อมูลสามารถนำเข้าได้โดยใช้
พิกัด x หรือ y เป็นคอลัมน์ z ปลอมสำหรับ วิธี=n (นับจำนวนแต้มต่อ
เซลล์กริด) ค่า z จะถูกละเว้นต่อไป
ตัวอย่าง
นำเข้าชุดข้อมูล Jockey's Ridge, NC, LIDAR (ไฟล์บีบอัด "lidaratm2.txt.gz") และ
ประมวลผลเป็น DEM ที่สะอาด:
# สแกนและตั้งค่าขอบเขตภูมิภาค
r.in.xyz -s separator="," in=lidaratm2.txt out=test
ก.ภูมิภาค n=35.969493 s=35.949693 e=-75.620999 w=-75.639999
g.region res=0:00:00.075 -ก
# สร้างแผนที่ "n" ที่มีจำนวนจุดต่อเซลล์เพื่อตรวจสอบความหนาแน่น
r.in.xyz in=lidaratm2.txt out=lidar_n separator="," method=n zrange=-2,50
# ความหนาแน่นของจุดตรวจสอบ [rho = n_sum / (แถว * cols)]
r.univar lidar_n | ผลรวมเกรป
# สร้างแผนที่ "นาที" (กรองระดับความสูงสำหรับการโจมตีก่อนเวลาอันควร)
r.in.xyz in=lidaratm2.txt out=lidar_min separator="," method=min zrange=-2,50
# กำหนดขอบเขตการคำนวณเป็นพื้นที่ที่สนใจ
g.region n=35:57:56.25N s=35:57:13.575N w=75:38:23.7W e=75:37:15.675W
# ตรวจสอบจำนวนเซลล์ที่ไม่เป็นโมฆะ (พยายามให้ต่ำกว่าสองสามล้าน)
r.univar lidar_min | grep '^n:'
#แปลงเป็นแต้ม
r.to.vect -z type=point in=lidar_min ออก=lidar_min_pt
# สอดแทรกโดยใช้ spline fit
v.surf.rst ใน=lidar_min_pt elev=lidar_min.rst
# กำหนดระดับสีเป็นสิ่งที่น่าสนใจ
r.colors lidar_min.rst กฎ=bcyr -n -e
# เตรียมเวอร์ชันที่ปรับขนาด 1:1:1 สำหรับการสร้างภาพข้อมูล NVIZ (สำหรับอินพุต lat/lon)
r.mapcalc "lidar_min.rst_scaled = lidar_min.rst / (1852*60)"
r.colors lidar_min.rst_scaled กฎ = bcyr -n -e
ทั้งหมด
· รองรับเอาต์พุตแผนที่หลายรายการจากการรันครั้งเดียว
เมธอด=สตริง[,สตริง,...] เอาต์พุต=ชื่อ[,ชื่อ,...]
สคริปต์ตัวตัดทอนสามารถจัดการได้อย่างง่ายดาย โดยมีประโยชน์เพิ่มเติมคือ
ง่ายมากที่จะขนานกันแบบนั้น
· เพิ่มสองแฟล็กใหม่เพื่อรองรับอินพุตไบนารีโดยตรงจาก libLAS สำหรับข้อมูล LIDAR
และ mbio ของ MB-System สำหรับข้อมูลการวัดปริมาณแสงแบบหลายลำแสง
หมายเหตุ: ดูใหม่ r.in.lidar โมดูลสำหรับสิ่งนี้
ที่รู้จักกัน ประเด็น
· n ผลรวมของแผนที่อาจมากกว่า `wc -l` ได้เล็กน้อย เช่น เปอร์เซ็นต์=10 หรือน้อยกว่า
ไม่ทราบสาเหตุ
· n แผนที่เปอร์เซ็น=100 และเปอร์เซ็น=xx แผนที่แตกต่างกันเล็กน้อย (จุดจะอยู่บน/ล่าง
เส้นแบ่ง)
ตรวจสอบด้วย "r.mapcalc diff = bin_n.100 - bin_n.33" เป็นต้น
ไม่ทราบสาเหตุ
· "น่าน" รั่วไหลเข้า coeff_var แผนที่
ไม่ทราบสาเหตุ วิธีแก้ปัญหาที่เป็นไปได้: "r.null setnull=nan"
หากคุณพบปัญหา (หรือวิธีแก้ไข!) โปรดติดต่อทีมพัฒนา GRASS
ใช้ r.in.xyzgrass ออนไลน์โดยใช้บริการ onworks.net