You are on page 1of 64

เอกสารประกอบการใช้ LAStool เบื้องต้น 1.

โดย

นาย ปัญญาวัชร รัตนะ 5730338121


นาย พิธภัส ถาวรกุล 5830819821

วิศวกรรมสารวจ จุฬาลงกรณ์มหาวิทยาลัย ปี การศึกษา 2561


สารบัญ
เรื่ อง หน้า
Lasinfo 1
Lasview 20
Las2las 31
Lasground 46
Lasclassify 52
Lasheight 59
1

Lasinfo
Lasinfo เป็ นเครื่ องมือที่ใช้บอกข้อมูลของไฟล์ ซึ่ งจะสามารถนาไปสู่การแก้ไขข้อมูลได้
โดยการแก้ไขต้องทาอย่างระวังเพราะอาจจะทาให้ไฟล์เสี ยได้ และเครื่ องมือนี้สามารถเลือกได้ว่า
จะแสดงผลหัวข้อไหนบ้าง

Lasinfo จะรายงานข้อมูลดังนี้เป็ น 3 หัวข้อใหญ่ดงั นี้


1.Public Header Block
2.Variable Length Records (VLRs)
3. Point Data Records
2

1.Public Header Block


เป็ นส่วนที่เก็บข้อมูลทัว่ ไป เช่น หมายเลขจุด,จุดข้อมูล และข้อมูลพื้นฐานต่างๆ ตาม
ตารางดังต่อไปนี้

อ้างอิงจาก http://www.asprs.org/a/society/committees/standards/LAS_1_4_r13.pdf
หน้า 5
3

ตัวอย่างของ Public Header Block จากไฟล์ pentagon.laz

โดยมีรายละเอียดดังต่อไปนี้
File Signature: File signature เป็ นส่วนที่บรรจุแค่ตวั อักษร 4 ตัว เท่านั้นคือ“LASF”
เพราะต้องเป็ นไปตามหลักของ LAS specification โดย 4 ตัวอักษรนี้บอกความหมายว่าคือ LAS
File และสามารถตรวจสอบได้คร่ าวๆจากการดูFile format
File Source ID: File Source ID จะสามารถเก็บค่าได้ระหว่าง 1 ถึง 65,535 โดยถ้าหาก
ไฟล์น้ นั มาจากเส้นทางการบินแรกเริ่ ม (original flight line) File Source ID ก็จะเป็ นเลขเส้นทาง
การบินนั้นเอง และถ้าหากเป็ นเลข 0 นั้นแสดงว่า File Source ID ไม่ได้รับการกาหนดค่า ใน
กรณี ดงั กล่าวซอฟท์แวร์อาจจะกาหนดค่าให้ File Source ID สามารถมาได้จาก เส้นทางการบิน
แรกเริ่ ม (original flight line), การผสานไฟล์ (merge) และการผ่านการคัดลอก (extract)
Global Encoding: Global Encoding เป็ นส่วนที่ใช้ระบุคุณสมบัติบางอย่างของไฟล์ เช่น
รู ปแบบของ GPS Time (ดูเพิ่มเติมได้ที่
http://www.asprs.org/a/society/committees/standards/LAS_1_4_r13.pdf หน้าที่ 6)
4

Project ID (GUID data): Project ID คือชื่อของProject ซึ่ งชื่อทั้งหมดของไฟล์ใน


Project เดียวกัน ควรมีชื่อเหมือนกันทั้งหมด
Version Number: เลขเวอร์ ชนั่ ประกอบไปด้วยเลขเวอร์ ชนั่ หลักและเลขเวอชัน่ รอง โดย
เลขเวอร์ ชน่ั หลักและเลขเวอชัน่ รองจะรวมกันเป็ น เลขที่ระบุถึงเลขเวอร์ ชนั่ ที่แท้จริ ง
(specification number) ยกตัวอย่างเช่น specification number 1.4 เลขเวอร์ ชนั่ หลักคือ 1 และ เลข
เวอชัน่ รองคือ 4
System Identifier: ตัวระบุระบบปฏิบตั ิการ จะเป็ นระบุว่าไฟล์เริ่ มมาจาก
ระบบปฏิบตั ิการใด โดยข้อกาหนดของเวอร์ ชนั่ 1.0 นั้น ได้กาหนดว่าLAS file จะเป็ นผลลัพธ์ที่
ได้มาจาก hardware sensor แต่ในเวอร์ ชน่ั หลังๆจะสามารถระบุได้เพิ่มขึ้นเช่นMerge,
Modification, Extraction, Transformation หรื อ ระบบปฏิบตั ิการอื่นๆ (ดูเพิ่มเติม
http://www.asprs.org/a/society/committees/standards/LAS_1_4_r13.pdf หน้าที่ 7)
Generating Software: เป็ นตัวบ่งบอกว่าซอฟท์แวร์ใดได้ทาการผลิตไฟล์ LAS นี้ เช่น
“TerraScan V-10.8”, “REALM V-4.2”
File creation day/year: เป็ นตัวบอกวันที่เท่าไหร่ ของปี /ปี ที่สร้าง
Header Size: ขนาดของ Header ในหน่วย byte สาหรับ LAS 1.4 จะมีขนาดเป็ น 375
bytes
Offset to point data: จานวน byte ที่แท้จริ งจากจุดเริ่ มต้นของไฟล์ไปยังช่องแรกของ
point record data จุดแรก data offset นี้จะต้องถูกแก้ไขหากซอฟท์แวร์ ใดได้ทาการเพิ่มหรื อ
ลดข้อมูลจาก Variable Length Records
Number of Variable Length Records: จะระบุจานวน VLRs ที่ถูกเก็บไว้ในไฟล์ก่อน
หน้า Point Data Records โดยถ้าหาก VLRs มีการเพิ่มจานวนช่องนี้จะต้องถูกแก้ไขด้วย
5

Point Data Record Format: จะเป็ นตัวระบุประเภทของ point data record ที่ถูกเก็บไว้
ในไฟล์ โดย LAS 1.4 จะนิยามตั้งแต่ 0 ถึง 10 (สามารถดูประเภทต่างๆของ point data record ได้
ที่ http://www.asprs.org/a/society/committees/standards/LAS_1_4_r13.pdf หน้าที่ 9)
Point Data Record Length: ขนาดของ Point Data Record ในหน่วย byte โดย Point
Data Record ใน LAS file นั้น จะต้องเป็ นประเภทและมีขนาดเดียวกันทั้งหมด โดยถ้าหากขนาด
ที่ระบุมามีขนาดใหญ่กว่าขนาดของ point format type เช่น 32 bytes กับ 28 bytes สาหรับ type 1
ดังนั้นByteที่เกินมา จะถูกระบุเป็ น “extra bytes” โดย “extra bytes” จะถูกอธิบายเพิ่มที่ Extra
Bytes VLR
Legacy Number of point records: จะเป็ นที่เก็บจานวนทั้งหมดของจุดในไฟล์
Legacy Number of points by return: จะเก็บจานวนจุดต่อ Return โดยค่าแรกจะเป็ นค่า
จุดทั้งหมดต่อ First return ค่าที่สองคือ ค่าจุดทั้งหมดต่อ return 2 และตามลาดับไปถึง return 5
X, Y, and Z scale factors: scale factorจะเก็บค่าที่ใช้สาหรับการสเกลค่า X, Y และ Z
point record โดยจะคูณด้วย scale factor เพื่อที่จะได้ ค่าพิกดั X, Y และ Z ยกตัวอย่าง ถ้าหาก ค่า
พิกดั X, Y และ Z มีทศนิยม 2 ตาแหน่ง scale factor จะต้องเป็ นเลข 0.01
X, Y, and Z offset: offset จะถูกใช้ในเซต point record โดยปกติแล้วค่า offset จะเป็ น 0
แต่มกั ถูกใช้ในกรณี ที่ขอ้ มูลจุดมีไม่มากพอสาหรับระบบ projection ที่ตอ้ งการ อย่างไรก็ตามก็
ควรจะพิจารณาค่านี้เสมอ โดยค่า offset จะถูกเพิ่มตามหลัง Xrecord * Xscale เสมอ ดังข้างล่างนี้
Xcoordinate = (Xrecord * Xscale) + Xoffset
Ycoordinate = (Yrecord * Yscale) + Yoffset
Zcoordinate = (Zrecord * Zscale) + Zoffset
Max and Min X, Y, Z: ค่าพิกดั X, Y, Z ที่มากสุดและน้อยสุด
6

2. VARIABLE LENGTH RECORDS (VLRs)

ตัวอย่าง จากไฟล์ fusa.laz (Download https://github.com/LAStools/LAStools/blob/master/data/fusa.laz)

Variable Length Records (VLRs) จะตามหลัง Public Header Block เสมอ โดยจานวน
ของ VLRs จะถูกระบุไว้ในช่อง Number of Variable Length Records ที่ Public Header Block
VLRs จะมีขนาดได้ 54 bytes เท่านั้น

(อ้างอิง จาก หน้าที่ 9 http://www.asprs.org/a/society/committees/standards/LAS_1_4_r13.pdf)

Reserved: ช่องนี้มกั จะตั้งค่าเป็ น 0


User ID: ช่องนี้จะอยูใ่ นรู ปแบบตัวอักษรที่ไว้ระบุถึงว่า User ใดเป็ นผูส้ ร้าง Variable
length record ซึ่ ง Variable length record สามารถถูกสร้างได้จากหลายแห่งและหลาย User โดย
ช่องนี้จะต้องถูกลงทะเบียนโดย LAS specification ก่อน เพื่อที่จะไม่ทาให้ User มีซ้ ากัน
Record ID: Record ID จะขึ้นอยูก่ บั User ID โดยสามารถค่าได้ต้งั แต่ 0 ถึง 65,535
Record Length after Header: Record length คือจานวนของไบต์ของ Record หลังจาก
สิ้ นสุดส่วนมาตรฐานของ Header ดังนั้น Record length ทั้งหมดคือ 54 ไบต์ (ขนาดส่วนหัวของ
VLR) บวกจานวนไบต์ในส่วนความยาวตัวแปรของ Record
Description: ส่วนเพิ่มเติม เป็ นส่วนใส่ขอ้ ความไว้สาหรับการเพิ่มเติม
7

3. POINT DATA RECORDS


Point Data Records จะใช้ฟิลด์ “Offset to point data” ใน Public Header Block ในการ
ระบุตาแหน่งที่จะเริ่ มของ Point Data Records และ Point Data Records จะอยูใ่ นลักษณะ
เดียวกันทั้งหมด โดยถ้าหากไม่ได้ใส่ค่าจะต้องตั้งค่าเป็ น 0 ทั้งหมด เช่น 0.0 สาหรับแบบfloat,
null สาหรับ ASCII, 0 สาหรับ integers

ตัวอย่าง Point Data Records ของไฟล์ fusa.laz (Download


https://github.com/LAStools/LAStools/blob/master/data/fusa.laz)

เนื่องจากตัวอย่างด้านบนคือ Point Data Record Format 1 (ดูได้ที่ Point Data Record Format
ของ Public Header Block)

ตารางแสดงค่า Point Data Record Format 1 (อ้างอิงจาก


http://www.asprs.org/a/society/committees/standards/LAS_1_4_r13.pdf)
8

X, Y, and Z: ค่า X, Y, และ Z จะถูกเก็บอยูใ่ นรู ป long integers โดยจะเป็ นค่า record ที่
เป็ นตัวเชื่อมระหว่าง ค่า scale กับ ค่า offset เพื่อหาค่า X, Y, และ Z coordinate (ดูเพิ่มเติมได้ที่
Public Header Block)
Intensity: ค่า intensity หรื อค่าความเข้มข้น คือค่าที่แสดงถึงขนาดหรื อความรุ นแรงของ
การสะท้อนกลับของคลื่นเลเซอร์ ที่สร้างจุด LiDAR ซึ่ งค่า intensityจะขึ้นอยูก่ บั ค่าการสะท้อน
กลับของวัตถุที่ติดมากับคลื่นเลเซอร์ ค่า intensity จะเป็ นตัวหลักในการตรวจสอบและแยกแยะ
จาแนกจุดของ LiDAR เนื่องจากค่า intensity ไม่เป็ นค่าเชิงปริ มาณดังนั้นเราไม่สามารถคาดหวัง
ค่าเดิมจากวัตถุเดิม ถึงแม้จะบินแบบเดิมหรื อวัดจากระดับเดิม และค่า intensity จะถูกเก็บเป็ นค่า
จานวนเต็มในรู ป 16 บิต
Return Number: Return Number คือเลขที่บอกว่าการสะท้อนครั้งนั้นคือครั้งที่เท่าไหร่
ของคลื่นนั้น เช่น หากคลื่นหนึ่งส่องไปที่ตน้ ไม้ ก็จะสะท้อนยอดไม้ 1 ครั้ง ครั้งนั้นจะเรี ยกว่า
Return Number 1 และจากนั้นจะทะลุผา่ นไปสะท้อนกับกิ่งไม้ จะได้Return Number เป็ น 2
จากนั้นลงไปสู่พ้ืนดินสะท้อนกับพื้นดินได้ค่า Return Number เป็ น 3 โดยคลื่นเลเซอร์ ที่ได้รับมา
สามารถมีได้หลาย return และแต่ละ return จะถูกทาเครื่ องหมายไว้ตามลาดับแล้ว คลื่นฉาย
ลาแสงเลเซอร์ สามารถมีได้ถึง 5 returns โดยขึ้นอยูก่ บั สิ่ งที่ถกู สะท้อนและความสามารถของ
laser scanner ที่ใช้เก็บข้อมูล
Number of Returns (given pulse): คลื่นLiDAR เมื่อทาการส่องไปบนพื้นดินแล้ว ใน1
คลื่นอาจจะมีการสะท้อนกลับได้หลายค่าซึ่ งทุกครั้งที่สะท้อนจะเรี ยกว่า Return Number โดยถ้า
หากคลื่นไปสะท้อนพื้นโดยตรงเลยก็จะสะท้อนกลับทันที ได้ค่า Return Number 1 และจานวน
Returns ทั้งหมด เป็ น 1 ซึ่ งก็คือค่า Number of Returns นั้นเอง และถ้าหากคลื่นไปสะท้อนต้นไม้
Return Number 1ก็จะสะท้อนจากยอดไม้ Return Number 2 ก็จะสะท้อนจากกิ่งไม้ Return
Number 3 ก็อาจจะเป็ นพื้นดิน จะได้ค่าจานวน Returns ทั้งหมดของคลื่นเป็ น 3 ซึ่ งก็คือค่า
Number of Returns นั้นเอง หรื อจะสรุ ปได้ว่าค่า Number of Returns คือจานวนทั้งหมดของการ
9

สะท้อนของคลื่นนั้นๆ

จากไฟล์ fusa.laz (https://github.com/LAStools/LAStools/blob/master/data/fusa.laz)

และจะแสดงในรู ปในช่วง overview over number of returns of given pulse เรี ยงลาดับ ตาม
1,2,3,4,5,6
Number of Number of Number of Total of return
return 1 return 2 return 3
first returns 249,493(1of1) 13,636(1of2) 284(1of3) 263,413
intermediate 0 0 283(2of3) 283
returns
last returns 249,493(1of1) 13,596(2of2) 281(3of3) 263,370
Total of 249,493 27,232 848
Number of
return
First returns จะแสดงในรู ป (1ofN) N=Number of return
Intermediate returns จะแสดงในรู ป (2ofN) N=Number of return หรื อ (nofN)
โดย n จะมีค่าระหว่าง 1 และ N
Last returns จะแสดงในรู ป (NofN) N=Number of return
10

ซึ่ งค่าground ส่วนใหญ่จะมาจาก last return of multiple return and first only (2of2,
3of31of1 ) ได้ท้งั หมด 263,370 ซึ่ ง ground มีท้งั หมด 180,868 เป็ นเพราะว่ามีการแบ่งค่าออกไป
อีกจาก building จากค่า first only
ค่า building มาจาก first only ซึ่ งรอบๆจุดที่รวมกันระนาบในแนวประมาณหลังจะต้อง
เปลี่ยนความสูงอย่างทันทีทนั ใด(ขอบหลังคา) ซึ่ งมีการแบ่งค่าจากค่า first only อีกที
ค่าvegetation มาจากค่า first return of multiple return เป็ นเพราะว่าต้นไม้จะมีการ
สะท้อนหลายค่า
Edge of Flight Line: ค่านี้จะมีเฉพาะ 0 หรื อ 1 เท่านั้น โดยจุดที่อยูท่ ี่ขอบการบินจะมีค่า
เป็ น 1 และที่เหลือมีค่าเป็ น 0 จุดที่ขอบการบินจะมีลกั ษณะเป็ นจุดสุดท้ายก่อนที่จะมีการ
เปลี่ยนแปลงเส้นทางของเส้นทางการบิน
Scan Direction Flag: จะบอกถึงทิศทางของ scanner mirror ในขณะที่ปล่อยคลื่นเลเซอร์
โดยค่า 1 คือทิศบวกของการสแกน(ทิศบวกคือสแกนจากซ้ายไปขวาของเส้นทางการบิน) และ
ค่า 0 คือทิศลบของการสแกน
Classification: ทุกจุด LiDAR เกิดจากการสะท้อนวัตถุต่างๆ ซึ่ งจะถูกจาแนกเป็ นวัตถุ
ต่างๆในกระบวนการ post-processed โดยแต่ละวัตถุจะมีเลขเฉพาะเป็ นของตัวเอง

ตารางบอกค่า Classification (http://www.asprs.org/a/society/committees/standards/LAS_1_4_r13.pdf )


11

Scan Angle Rank: คือค่าของมุมระหว่าง -90 ถึง +90 โดยที่ค่า 0 จะหมายถึงว่าคลื่น


เลเซอร์ จะอยูใ่ ต้อากาศยานที่จุดต่าสุดที่สุด และที่ –90 คือ คลื่นเลเซอร์อยูด่ า้ นซ้ายของอากาศ
ยาน
User Data: ช่องนี้จะขึ้นอยูก่ บั ดุลพินิจของผูใ้ ช้
Point Source ID: ค่านี้จะระบุว่าจุดถูกสร้างขึ้นมาจากไฟล์ไหน โดยค่านี้จะอยูร่ ะหว่าง 1
ถึง 65,535 ซึ่ งค่า 0 จะถูกสงวนไว้เพื่อความสะดวกของระบบ โดยค่า 0 จะเป็ นตัวบ่งบอกว่าจุด
นั้นถูกสร้างขึ้นมาบนไฟล์น้ ี ซึ่ งตัวซอฟแวร์ ต่างๆควรจะตั้งค่า Point Source ID ให้เหมือนกับ ค่า
File Source ID ของไฟล์น้ นั ในระหว่างที่ทาการประมวลผล
GPS Time: เป็ นตัวบอกเวลาว่าจุดถูกเก็บเมื่อไหร่ โดยจะเป็ น GPS seconds of week ถ้า
Global Encoding เป็ นค่า 0 และเป็ น Adjusted Standard GPS Time ถ้า Global Encoding เป็ น 1
(GPS seconds of week จะมีค่าระหว่าง 0 ถึง 604800 ซึ่ งจะถูกรี เซตทุกสัปดาห์ตอนเที่ยงคืนวัน
เสาร์ ถึงวันอาทิตย์ การจะแปลงต้องใช้ las2las -week_to_adjusted ตามด้วยสัปดาห์ที่ทาการเก็บ
ข้อมูลซึ่ งสัปดาห์น้ ีจะเป็ นสัปดาห์ของ GPS Time นับเริ่ มวันที่ 6 มกราคม 1980
http://leapsecond.com/java/gpscal.htm โดยเมื่อเราแปลงแล้วจะได้ค่าเป็ น Adjusted Standard
GPS Time ซึ่ งค่า GPS time = GPS standard time + 1,000,000,000 และสุดท้ายสามารถนาค่า
GPS time ไปแปลงเป็ นวันที่ได้ตามเว็บไซต์ต่างๆ)
ตัวอย่างเช่น ไฟล์ Velodyne001.laz
(https://mega.nz/#!aVlzHCBR!qiBJ2W1E1YRhtEPJzlonOWND1kb8gyL2nCTLD1zv8Wk)
12

ทาการเปิ ด lasinfo จะได้

ทาการแปลงเป็ น GPS standard time


13

แปลงเป็ น GPS Time โดยการบวก1,000,000,000 จะเป็ น 1206994519.004729


1206994601.971912 ทาการแปลงบนเว็บไซต์
(https://losc.ligo.org/gps/)(http://leapsecond.com/java/cal-2018.htm)
จะได้วนั ที่เป็ น 2018-04-05T20:15:01 และ 2018-04-05T20:16:23 ทั้งหมด 82วินาที ซึ่ งตรง
ตามที่แหล่งที่มาที่บอกว่าใช้เวลาบิน 80 วินาที (https://rapidlasso.com/2018/05/01/new-step-by-
step-tutorial-for-velodyne-drone-lidar-from-snoopy-by-lidarusa/) และวันที่ตรงกันกับวันที่
สร้างไฟล์ 95/2018
14

คาสั่ งเพิม่ เติม


'-no_check' ปิ ดการแสดงผลการวิเคราะห์ค่าของจุด
'-nv,-no_vlrs' ปิ ดการแสดงผลการรายงาน VLRs (variable
length header record) เนื่องจากบางครั้ง VLRs
มีจานวนมากเกินไป
-nh or -no_header ปิ ดการแสดงผลการรายงาน header
-nr or -no_returns ปิ ดการแสดงผลการรายงานค่า Return
'-no_min_max' ปิ ดการแสดงผลการวิเคราะห์ค่าสูงสุดต่าสุด
ของทุกจุด
'-no_check_outside',-nco ปิ ดการแสดงค่าจุดที่อยูน่ อก bounding box
(กรอบสี เขียวหน้า lasview)
'-report_outside', -ro แสดงผลรายงานจุดที่อยูน่ อก bounding box
'-gps_week' แสดงค่าสูงสุดต่าสุดของ GPS time ในกรณี ที่
GPS time ถูกเก็บอยูร่ ู ปแบบ adjusted Standard
GPS time
'-cd', '-compute_density' รายงานผลการคานวณ ค่าความหนาแน่นของ
จุด
-o output.txt เป็ นคาสัง่ บอกข้อมูลพื้นฐานของไฟล์ไปที่
output.txt
-otxt เป็ นคาสัง่ บอกข้อมูลพื้นฐานเป็ นไฟล์ txt โดย
จะชื่อไฟล์เดิม lidar.las >>lidar.txt
-odix _info เป็ นคาสัง่ ส่งออกข้อมูลแล้วเพิ่มชื่อไฟล์ต่อท้าย
ชื่อเดิม
-odir E:\reports เป็ นคาสัง่ ส่งออกข้อมูลไปแหล่งที่ตอ้ งการ
-start_at_point 1500000 เริ่ มต้นที่จุด 1,500,000
-stop_at_point 5000000 หยุดการแสดงผลภาพที่จุด 5,000,000
-subseq 1000000 2000000 แสดงผลเฉพาะจุดที่ 1 ล้าน ถึง 2 ล้าน
15

-gw or -gps_week คานวณ GPS week ในกรณี ที่ขอ้ มูลเป็ น


Asjusted Standard GPS time
-repair_bb ตรวจสอบทุกจุด แล้วคานวณ bounding box ที่
ควรจะเป็ น แล้วอัพเดทลงไปใน header
-repair แก้ไขทั้ง bounding box และ counters

-repair_counters set (in place) the counters for point number


and (extended) return histograms in header
-set_file_source_ID 27 กาหนดค่าของ source ID ใน LAS header เป็ น
27
- set (in place) file source ID in header to value
set_file_source_ID_from_point_source_ID that *all* points have in point source ID
-set_GUID F794F8A4-A23E-421E-A134- : sets the GUID in header (assuming it is
ACF7754E1C54 given in example hexadecimal format shown)
-set_system_identifier นาตัวอักษร 31 ตัวที่ต่อท้าย กาหนดให้อยูใ่ น
system_identifier ใน header
-set_generating_software นาตัวอักษร 31 ตัวที่ต่อท้าย กาหนดให้อยูใ่ น
generating_software ใน header
-set_bb กาหนด the bounding box ใน header
-set_scale กาหนดค่า scale ใน header
-set_global_encoding กาหนดค่า global_encoding ใน header
-set_version กาหนดค่า version ของ LAS
-set_file_creation กาหนด file creation วันที่เท่าไหร่ ของปี /ปี ใน
header

สาหรับดูคาสัง่ เพิ่มเติม lasinfo -h


16

ตัวอย่ างการใช้ :
>> lasinfo lidar.las
เป็ นการรายงานข้อมูลทุกข้อมูลลงใน command prompt
เช่น lasinfo out.laz

>> lasinfo -i lidar1.las lidar2.las -merged


เป็ นการรายงานข้อมูลทุกข้อมูลที่รวมกันแล้วของไฟล์ที่กาหนด
17

>> lasinfo -i lidar1.las lidar2.las


เป็ นการรายงานข้อมูลไฟล์ที่เลือกโดยรายงานแยกออกจากกันลงใน command prompt
>> lasinfo *.las -odix _info
เป็ นการรายงานข้อมูล โดยส่งออกเป็ น ชื่อไฟล์ตอ่ ด้วย_info

>> lasinfo -i lidar.las -o lidar_info.txt


เป็ นการรายงานข้อมูล โดยส่งออกเป็ น lidar_info.txt

>> lasinfo -i lidar.las -no_header


เป็ นการรายงานข้อมูลโดยไม่แสดงข้อมูล header ('-nh')
>> lasinfo -i lidar.las -no_vlrs
เป็ นการรายงานข้อมูลโดยไม่แสดงข้อมูล variable length records ('-nv')
18

>> lasinfo -i lidar.las -no_min_max


เป็ นการรายงานข้อมูลโดยไม่แสดงข้อมูล ค่าสูงสุดต่าสุดของแต่ละข้อมูล ( '-nmm')
>> lasinfo -i lidar.las -nh -nv -progress 1000000
เป็ นการรายงานข้อมูลโดยไม่แสดงข้อมูล header และ variable length records และรายงานทุกๆ
ครั้งที่มีการวิเคราะห์ครบ 1 ล้านจุด
>> lasinfo -i lidar.las -repair_bb
ตรวจสอบทุกจุด แล้วคานวณ bounding box ที่ควรจะเป็ น แล้วอัพเดทลงไปใน header
>> lasinfo -i lidar.las -repair_counters
แก้ไขข้อมูลจานวนจุดที่ขาดหายไปหรื อไม่ถูกต้องใน header
>> lasinfo -i lidar.las -set_file_source_ID 27
กาหนดค่าของ source ID ใน LAS header เป็ น 27
>> lasinfo -i lidar.las -set_file_creation 8 2007
กาหนด file creation วันที่เท่าไหร่ ของปี /ปี ใน header เป็ น 8/2007
>> lasinfo -i lidar.las -set_system_identifier "hello world!"
นาตัวอักษร 31 ตัวที่ต่อท้าย กาหนดให้อยูใ่ น system_identifier ใน header
>> lasinfo -i lidar.las -set_generating_software "this is a test (-:"
นาตัวอักษร 31 ตัวที่ต่อท้าย กาหนดให้อยูใ่ น generating_software ใน header
>> lasinfo -i lidar.las -set_bounding_box 4100000 1800000 150 4110000 1810000 400
กาหนด the bounding box ใน header เป็ น min_x=4100000, max_x=4110000,
min_y=1800000, max_y=1810000,min_z=150, max_z=400 (สามารถทาให้ไฟล์มีปัญหาได้)
>> lasinfo -i lidar.las -set_offset 3000000 1000000 0
กาหนดค่า offset เป็ น x=3000000 y=1000000 z=0 (สามารถทาให้ไฟล์มีปัญหาได้)
>> lasinfo -i lidar.las -set_scale 0.001 0.001 0.001
กาหนดค่า scale เป็ น x=0.001 y=0.001 z=0.001 (สามารถทาให้ไฟล์มีปัญหาได้)
>> lasinfo -i lidar.las -set_global_encoding 1
กาหนดค่า global_encoding เป็ น 1 (สามารถทาให้ไฟล์มีปัญหาได้)
>> lasinfo -i lidar.las -set_version 1.1
กาหนดค่า version ของ LAS เป็ น 1.1 (สามารถทาให้ไฟล์มีปัญหาได้)
19

>> lasinfo -i lidar.las -set_header_size 235


กาหนดค่า header size เป็ น 235 (สามารถทาให้ไฟล์มีปัญหาได้)
>> lasinfo -i lidar.las -set_offset_to_point_data 460
กาหนดค่า offset to point data เป็ น 460 (สามารถทาให้ไฟล์มีปัญหาได้)
>> lasinfo -i lidar.las -set_point_data_format 1
กาหนดค่า point data format เป็ น 1 (สามารถทาให้ไฟล์มีปัญหาได้)
>> lasinfo -i lidar.las -set_point_data_record_length 32
กาหนดค่า point data record length เป็ น 32 (สามารถทาให้ไฟล์มีปัญหาได้)
20

Lasview
Lasview เป็ นเครื่ องมือที่ใช้ในการแสดงผลของ LiDAR ได้ง่ายและรวดเร็ว โดยใช้ร่วมกับ
LAS/LAZ/ASCII format โดยสามารถแก้ไขการจาแนกประเภทของจุดต่างๆ ลบจุด และสามารถ
สร้างTIN (Triangulated irregular network) ได้จากจุดที่เราที่ตอ้ งการ
1.เริ่ มต้นการใช้ lasview
1.1ผ่านทาง Command prompt ใช้คาสัง่ lasview ตามด้วยชื่อไฟล์
>>lasview lidar.las
>>lasview –i lidar.las (การมี –i หมายถึงว่า input ที่เข้าคืออะไร)
ตัวอย่าง
21

1.2ผ่านทาง GUI
เมื่อทาการเปิ ด lastool ขึ้นมาแล้ว (สามารถเปิ ดได้ผา่ น 2 วิธี คือ 1.เปิ ดจากFolder ของ
lastool\bin\lastool 2.เปิ ดโดยใช้คาสัง่ ผ่านทางcommand prompt โดยใช้แค่คาสัง่ >>lastool)

เริ่ มต้นจาก
1.กด(+)ที่ Browse แล้วเลือกFile ที่ตอ้ งการ
2.กด(+)ที่ lasview
3.กด Run
22

จะแสดงผลดังภาพด้านล่าง

4.กด START
5.เป็ นคาสัง่ ที่สามารถใช้ได้ใน command prompt โดยจะแสดงผลเหมือนกัน
6.ผลลัพธ์การแสดงผล
23

2.การแก้ไขการจาแนกของจุดและการลบจุด
2.1 เริ่ มจากการClickขวาบนภาพเพื่อเรี ยก menu แล้วกด r<e>classifying point เลือก
ประเภทให้จุดที่เราต้องการแก้ไข หรื อใช้ปุ่มลัดโดยการกดปุ่ ม e
24

2.2 วาดPolygon ล้อมรอบจุดที่ตอ้ งการ และกด r เมื่อต้องการหยุด

เมื่อกด r จะเป็ นการสิ้ นสุดการวาดรู ป โดยจะปรากฏเป็ นสี ต่างๆตามประเภทที่ได้แยกไว้


-Never classified (0) เป็ นสี ดาเข้ม
-Unclassified (1) เป็ นสี ดา
-Ground (2) เป็ นสี น้ าตาล
-Low vegetation (3) เป็ นสี เขียวเข้ม
-Medium vegetation (4) เป็ นสี เขียว
-High vegetation (5) เป็ นสี เขียวสว่าง
-Building (6) เป็ นส้มอ่อน
-Noise (7) เป็ นสี ชมพู
-Keypoint (8) เป็ นสี แดง
-Water (9) เป็ นสี น้ าเงิน
-Rail (10) เป็ นสี ดา
-Road surface (11) เป็ นสี ดา
25

-Overlap (12) เป็ นสี ดา


-Wire guard (13) เป็ นสี เหลือง
-Wire conductor (14) เป็ นสี ดา
-Tower (15) เป็ นสี ดา
-Wire connector (16) เป็ นสี ดา
-Bridge deck (17) เป็ นสี ดาเข้ม
คาสัง่ อื่นๆในการแก้ไขการจาแนกจุด
-กด Esc เพื่อทาการยกเลิกเส้นหรื อจุดในระหว่างการดาเนินงาน
-กด Ctrl+u เพื่อทาการย้อนกลับการทางาน
-กด Ctrl+o เพื่อทาการย้อนกลับ Ctrl+u
-กด d เพื่อเริ่ มต้นการลบจุด และมีวิธีการทางานเหมือนการแก้ไขการจาแนกของจุด
-กด Ctrl+s เพื่อทาการบันทึก (แต่หากไม่มี license และเกินกว่า 1ล้านจุด จะไม่สามารถ
ทาการบันทึกได้)

เมื่อทาการบันทึกจะทาการบันทึกเป็ นไฟล์ LAY หากตอนเปิ ดไฟล์โดยไม่ได้ใช้คาสัง่


–ilay เมื่อทาการบันทึกการบันทึกนั้นจะเป็ นการบันทึกทับกับไฟล์ LAY ก่อนหน้า

ในรู ปเมื่อทาการบันทึกจะเป็ นการบันทึกทับ โดยจะปรากฏข้อความดังข้างล่าง

เป็ นการเปิ ดไฟล์ drawno1.lay และเมื่อทาการบันทึกจะเป็ นการบันทึกแบบธรรมดา

วิธีการเปิ ดไฟล์ lay สามารถใช้ laslayer.exe และใช้ –ilay แบบด้านบนได้


-กด CTRL+A จะเป็ นการบันทึกเป็ นไฟล์ใหม่โดยชื่อไฟล์จะมี _1 ตามหลัง
26

3.การดูภาพตัดขวาง
สาหรับการตรวจสอบจุดหรื อพื้นที่ต่างๆ และการดูภาพตัดขวาง สามารถใช้การกดปุ่ ม
X แล้วทาการเลือกพื้นที่ที่สนใจ โดยจะแสดงเป็ นสี่ เหลี่ยมสี แดงดังภาพด้านล่าง
27

กด X อีกครั้งจะได้ภาพในส่วนที่เราสนใจ ดังภาพด้านล่าง

กด SHIFT เพื่อเลื่อนขนานภาพ และ กด CRTL เพื่อทาการ Zoom


เพิ่มหรื อลดขนาดจุดได้จากการกด <=> หรื อ <-> หากต้องการดูค่าพิกดั และค่า attributes
สามารถกด <i> เพื่อดูได้

สาหรับดูการแก้ไขเพิ่มเติม
https://rapidlasso.com/2014/03/02/tutorial-manual-lidar-editing/
28

ตัวอย่ างคาสั่ งการใช้


>> lasview lidar.las
>> lasview -i lidar.las
แสดงภาพ LiDAR ที่ตอ้ งการโดยมี input เป็ น lidar.las
>> lasview -i lidar.las -win 1600 1200
แสดงเหมือนคาสัง่ ด้านบนแต่แสดงผลที่ขนาด 1600*1200
>> lasview -i lidar.las -steps 10 -points 10000000
แสดงผลโดยเป็ น 10 ล้านจุด LiDAR และขนาด step เป็ น10
คาสั่ งลัดใช้ งานบน GUI
<t> สร้าง TIN จาก LiDAR ที่ตอ้ งการ
<T> ยกเลิกการสร้าง TIN
<h> เปิ ดโหมดแรเงาให้ TIN (hill-shade, elevation, wire-frame)
<a> แสดงผล all returns
<l> แสดงผลเฉพาะ last returns
<f> แสดงผลเฉพาะ first returns
<g> แสดงผลเฉพาะจุดที่ถูกจาแนกเป็ น ground
<b> แสดงผลเฉพาะจุดที่ถูกจาแนกเป็ น building
<B> แสดงผลเฉพาะจุดที่ถูกจาแนกเป็ น building + ground
<v> แสดงผลเฉพาะจุดที่ถูกจาแนกเป็ น vegetation
<V> แสดงผลเฉพาะจุดที่ถูกจาแนกเป็ น vegetation + ground
<j> แสดงผลเฉพาะจุดที่ถูกจาแนกเป็ น building + vegetation
<J> แสดงผลเฉพาะจุดที่ถูกจาแนกเป็ น building + vegetation + ground
<m> แสดงผลเฉพาะจุดที่ถกู จาแนกเป็ น keypoints / mass points
<n> แสดงผลเฉพาะจุดที่ถูกจาแนกเป็ น noise
<o> แสดงผลเฉพาะจุดที่ถูกจาแนกเป็ น overlap
<w> แสดงผลเฉพาะจุดที่ถูกจาแนกเป็ น water
<u> แสดงผลเฉพาะจุดที่ยงั ไม่ถูกจาแนกเป็ น หรื อ unclassified
<e> เริ่ มต้นการแก้ไขจุดที่ถกู จาแนก
29

<d> ลบจุด
<r> บันทึกจุด
<CTRL-s> บันทึกเป็ น LASlayers
<CTRL-f> บันทึกทับเป็ น LAY file
<CTRL-a> บันทึก LASlayers เป็ นไฟล์ LAS/LAZ อันใหม่
<i> เลือกจุดและแสดงค่าพิกดั รวมถึงค่า attribute
<x> แสดงไปมาระหว่างภาพตัดขวางและภาพหลัก
<SHIFT> เปลี่ยนเป็ นแบบเลื่อนขนาน
<CTRL> เปลี่ยนเป็ นแบบซูม
<ALT> เปลี่ยนแบบเลื่อนไปมาได้
<Space> สลับแบบการดูของ pan/translate/zoom/tilt
<-/=> เพิ่มและลดขนาดของจุด
คาสั่ งเพิม่ เติม
-win 1200 900 แสดงผลขนาดของ window เป็ น 1200 pixels *900 pixels
-gui แสดงผลเป็ นแบบ Graphical User Interface
-start_at_point 1500000 เริ่ มต้นที่จุด 1,500,000
-stop_at_point 5000000 หยุดการแสดงผลภาพที่จุด 5,000,000
-points 10000000 แสดงผล 10 ล้านจุด โดยค่าเริ่ มต้นอยูท่ ี่ 5,000,000
-set_min_max 47.0 63.0 กาหนดค่าระดับของสี ให้อยูใ่ นช่วง 47.0 ถึง 63.0
-only_first แสดงผลเฉพาะ first returns
-only_last แสดงผลเฉพาะ last returns
-only_multi แสดงผลเฉพาะ multiple returns
-only_single แสดงผลเฉพาะ single returns
-ground แสดงผลเฉพาะจุด ground
-buildings แสดงผลเฉพาะจุด buildings
-vegetation แสดงผลเฉพาะจุด vegetation
-object แสดงผลเฉพาะจุด vegetation และ building
30

-ground_buildings แสดงผลเฉพาะจุด ground และ building


-ground_vegetation แสดงผลเฉพาะจุด ground และ vegetation
-ground_object แสดงผลเฉพาะจุด ground, vegetation, และ building
-color_by_elevation1 แสดงผลเป็ นสี โดยอ้างอิงจากค่า elevation โดยเรี ยงลาดับ
สี จาก black->red->yellow->white
-color_by_elevation2 แสดงผลเป็ นสี โดยอ้างอิงจากค่า elevation โดยเรี ยงลาดับ
สี จาก blue->yellow->red
-color_by_rgb แสดงผลเป็ นสี โดยอ้างอิงจากค่า rgb
-color_by_intensity แสดงผลเป็ นสี โดยอ้างอิงจากค่า intensity
-color_by_classification แสดงผลเป็ นสี โดยอ้างอิงจากค่า classification
-color_by_return แสดงผลเป็ นสี โดยอ้างอิงจากค่า return
-color_by_flightline แสดงผลเป็ นสี โดยอ้างอิงจากค่า flightline
-color_by_user_data แสดงผลเป็ นสี โดยอ้างอิงจากค่า user_data

อ้ างอิง :http://www.asprs.org/a/society/committees/standards/LAS_1_4_r13.pdf
31

Las2las
Las2las เป็ นเครื่ องมือใช้สาหรับอ่านและเขียนข้อมูลLidar ลงใน LAS/LAZ/ASCII
format เพื่อที่จะคัดเลือก, แปลง, project หรื อแก้ไขค่าอื่นๆ การคัดเลือกจุด เช่นหากต้องการค่า
เป็ นรู ปสี่ เหลี่ยมก็สามารถใช้คาสัง่ '-keep_xy 10 10 20 20'(xmin ymin xmax ymax), หากต้องการเก็บ
ค่าจุดในช่วงๆหนึ่งสามารถใช้คาสัง่ ‘-keep_z 10 100', หากไม่ตอ้ งการจุดของ Return ใดๆ ก็ใช้
คาสัง่ เช่น '-drop_return 2' หรื อคาสัง่ '-clip_to_bounding_box' ก็จะเป็ นคาสัง่ ที่ลบจุดที่ออกจาก
bounding box ไปไกลมากๆ ออกจากไฟล์
การแปลงข้อมูล projection ก็จะสามารถเพิ่มหรื อแก้ไขได้ เช่น การแปลงค่าละติจูด
ลองจิจูด เป็ น UTM หรื อ Earth-centered Earth-fixed (ECEF) หรื อสามารถใส่ค่ารหัส EPSG
ได้เลยเช่น '-epsg 32754'
การคัดเลือกด้วยค่า return เช่น หากต้องการแค่ค่า first return (-first_only) หรื อค่า last
return อย่างเดียว (-last_only) โดยการเอาแค่ first return อย่างเดียวก็เหมือนกันการทิ้งค่าอื่นหมด
เลย เช่น -drop_return 2 3 4 5
การคัดเลือกจุดจากลาดับของจุด เช่น -subseq 540 1000 จะเป็ นการเอาแค่จุดที่ 540 ถึง
1,000
การคัดเลือกจุดด้วยค่าการจาแนก (classifications) เช่น การเก็บเฉพาะ คลาส 2,3 ใช้
คาสัง่ '-keep_class 2 3' หรื อการไม่เอาค่าคลาส 2,3 ใช้ '-drop_class 2 3' สาหรับการดูทุกฟังค์ชนั
สามารถใช้คาสัง่ 'las2las -h'
โดยคาสัง่ พื้นฐานคือ “las2las -i (ไฟล์ที่ตอ้ งการนาเข้า).laz –o (ไฟล์ที่ตอ้ งการ
ส่งออก).laz” -(ตามด้วยคาสัง่ อื่นๆ)
32

หมวดคาสั่ งคัดเลือกค่าจุดพิกัดด้ วยค่าพิกัด (Filter points based on their coordinates)


-keep_tile min_x min_y size เป็ นคาสัง่ เก็บค่าเป็ นสี่ เหลี่ยม โดยเริ่ มที่จุด
min_x min_y และกาหนดด้านของสี่ เหลี่ยม
ด้วย size
-keep_circle x y radius เป็ นคาสัง่ เก็บค่าพิกดั เป็ นวงกลม โดยมีจุด
ศูนย์กลางเป็ น x y และรัศมีเป็ น radius
-keep_xy min_x min_y max_x max_y เป็ นคาสัง่ เก็บค่าพิกดั เป็ นรู ปสี่เหลี่ยม โดย x
จะอยูใ่ นช่วง min_x และ max_x, y จะอยู่
ในช่วง min_y และ max_y (มีตวั อย่างการ
ใช้)
-drop_xy min_x min_y max_x max_y เป็ นคาสัง่ ไม่เก็บค่าพิกดั ในช่วงที่กาหนด
โดย x จะอยูใ่ นช่วง min_x และ max_x, y จะ
อยูใ่ นช่วง min_y และ max_y
-keep_x min_x max_x เป็ นคาสัง่ เก็บเฉพาะค่า x ในช่วง min_x ถึง
max_x
-drop_x min_x max_x เป็ นคาสัง่ ไม่เก็บค่า x ในช่วง min_x ถึง
max_x
-drop_x_below min_x เป็ นคาสัง่ ทิ้งค่า x โดยให้ทิ้ง x ทั้งหมดที่นอ้ ย
กว่า min_x
-drop_x_above max_x เป็ นคาสัง่ ทิ้งค่า x โดยให้ทิ้ง x ทั้งหมดที่
มากกว่า max_x
-keep_y min_y max_y เป็ นคาสัง่ เก็บเฉพาะค่า y ในช่วง min_y ถึง
max_y
-drop_y min_y max_y เป็ นคาสัง่ ไม่เก็บค่า y ในช่วง min_y ถึง
max_y
-drop_y_below min_y เป็ นคาสัง่ ทิ้งค่า y โดยให้ทิ้ง y ทั้งหมดที่นอ้ ย
กว่า min_y
33

-drop_y_above max_y เป็ นคาสัง่ ทิ้งค่า y โดยให้ทิ้ง y ทั้งหมดที่


มากกว่า max_y
-keep_z min_z max_z เป็ นคาสัง่ เก็บเฉพาะค่า z ในช่วง min_z ถึง
max_z
-drop_z min_z max_z เป็ นคาสัง่ ไม่เก็บค่า z ในช่วง min_z ถึง
max_z
-drop_z_below min_z เป็ นคาสัง่ ทิ้งค่า z โดยให้ทิ้ง z ทั้งหมดที่นอ้ ย
กว่า min_z
-drop_z_above max_z เป็ นคาสัง่ ทิ้งค่า z โดยให้ทิ้ง z ทั้งหมดที่
มากกว่า max_z
-keep_xyz min_x min_y min_z max_x เป็ นคาสัง่ เก็บเฉพาะค่า x,y,z ในช่วง min ถึง
max_y max_z max
-drop_xyz min_x min_y min_z max_x เป็ นคาสัง่ ไม่เก็บค่า x,y,z ในช่วง min ถึง max
max_y max_z
34

ตัวอย่ างการใช้ คาสั่ ง หมวดคัดเลือกค่ าจุดพิกัด


โดยจะใช้ “las2las -i in.las -o out.las -keep_xy x1 y1 x2 y2”
เราจะใช้คาสัง่ lasinfo เพื่อหาจุดค่าพิกดั x y ในไฟล์ las2las.laz จะได้ว่า

เปิ ดlasview ของ las2las.laz เพื่อใช้เปรี ยบเทียบก่อนหลัง

เราจะใช้ las2las เพื่อเก็บจุดในบริ เวณที่เราต้องการ โดยกาหนดว่าจุดที่เราต้องการคือ


(x1 y1 x2 y2)=(1886000 566000 1889000 569000)
โดยใช้คาสัง่
“las2las -i las2las.laz -o las2las_keep_xy.laz -keep_xy 1886000 566000 1889000 569000”
35

จะได้

เปรี ยบเทียบภาพ

ภาพก่อนหน้า(กรอบสี แดงคือภาพหลังคัดเลือก) ภาพหลังการคัดเลือก

ไฟล์ ทดสอบ คือ las2las.laz หรื อ s1885565.laz สามารถdownload ได้ที่


http://www.cs.unc.edu/~isenburg/lastools/download/test/s1885565.laz
36

หมวดคาสั่ งคัดเลือกค่าจุดพิกัดด้ วยค่า return (Filter points based on their return


numbering)
-keep_first - เป็ นคาสัง่ เก็บค่าและไม่เก็บเฉพาะ first return ซึ่ งคือ (1of1) (1of2)
first_only -drop_first (1of3)
-keep_last -last_only เป็ นคาสัง่ เก็บค่าและไม่เก็บเฉพาะ last ซึ่ งคือ (1of1) (2of2) (3of3)
-drop_last
-keep_second_last - เป็ นคาสัง่ เก็บค่าและไม่เก็บเฉพาะ second of last หรื อ (1of2) และ
drop_second_last (2of3)
-keep_first_of_many เป็ นคาสัง่ เก็บค่าเฉพาะ first of many และ last of many (ดูหวั ข้อ
-keep_last_of_many Number of Returns เพิ่มเติม)
ซึ่ ง first of many เป็ นค่า (1of2) และ (1of3)
last of many เป็ นค่า (2of2) และ (3of3)
-drop_first_of_many เป็ นคาสัง่ เก็บค่าเฉพาะ first of many และ last of many (ดูหวั ข้อ
-drop_last_of_many Number of Returns เพิ่มเติม)
ซึ่ ง first of many เป็ นค่า (1of2) และ (1of3)
last of many เป็ นค่า (2of2) และ (3of3)
-keep_middle - เป็ นคาสัง่ เก็บค่าเฉพาะ middle หรื อ intermediate ซึ่ งคือค่า 2of3
drop_middle
-keep_return 1 2 3 เป็ นคาสัง่ เก็บค่าเฉพาะ return 1 2 3
-drop_return 3 4 เป็ นคาสัง่ ไม่เก็บค่าเฉพาะ return 3 4
-keep_single - เป็ นคาสัง่ เก็บค่าและไม่เก็บเฉพาะ number of return 1 หรื อ single
drop_single
-keep_double - เป็ นคาสัง่ เก็บค่าและไม่เก็บเฉพาะ number of return 2 หรื อ double
drop_double
-keep_triple - เป็ นคาสัง่ เก็บค่าและไม่เก็บเฉพาะ number of return 3 หรื อ triple
drop_triple
-keep_quadruple - เป็ นคาสัง่ เก็บค่าและไม่เก็บเฉพาะ number of return 4 หรื อ quadruple
drop_quadruple
37

- เป็ นคาสัง่ เก็บค่าเฉพาะ number of return 3


keep_number_of_ret
urns 3

- เป็ นคาสัง่ ไม่เก็บค่าเฉพาะ number of return 1 โดยสามารถดูเพิ่มเติม


drop_number_of_ret ได้ที่ lasinfo
urns 1
38

ตัวอย่ างการใช้ :
ใช้คาสัง่ คัดเลือกค่าจุดพิกดั ด้วยค่า return เพื่อจาแนกหา Single,First of many,Last of
many,Intermediate จากไฟล์ drawno.laz (http://lastools.org/download/drawno.laz)
Number Number Number Number Number Number Total
of return of return of return of return of return of return of
1 2 3 4 5 6 return
first returns 106930
intermediate 7673
returns
last returns 107096
Total of 71304 57541 18730 2668 146 6
Number of (single
return returns)
ทาการใส่ค่า ในตารางตามข้อมูล lasinfo

ใช้ฟังชัน่ -keep_number_of_returns 1 ถึง -keep_number_of_returns 6


39

-keep_number_of_returns 1

-keep_number_of_returns 2

-keep_number_of_returns 3

-keep_number_of_returns 4

-keep_number_of_returns 5

-keep_number_of_returns 6
40

Number Number Number Number Number Number Total


of return of return of return of return of return of return of
1 2 3 4 5 6 return
first returns 71304 28669 6255 671 30 1 106930
(1of1) (1of2) (1of3) (1of4) (1of5) (1of6)
intermediate 0 0 6245 1337 87 4 7673
returns (2of3) (2of4) (2of5) (2of6)
(3of4) (3of5) (3of6)
(4of5) (4of6)
(5of6)
last returns 71304 28872 6230 660 29 1 107096
(1of1) (2of2) (3of3) (4of4) (5of5) (6of6)
Total of 71304 57541 18730 2668 146 6
Number of (single
return returns)
ซึ่ งค่าพวกนี้มีประโยชน์ใช้ในการจาแนกสามารถอ่านเพิ่มเติมได้ที่ lasinfo และเราสามารถหาค่า
เฉพาะ return ต่างๆได้ -keep_return 2,3,4,5
41

ตัวอย่ างการใช้ คาสั่ ง


ไฟล์ s1885565.laz (http://www.cs.unc.edu/~isenburg/lastools/download/test/s1885565.laz)
>> las2las -i s1885565.laz -o out.las -sp83 OH_S -feet -elevation_feet
เพิ่มข้อมูล Projection ให้กบั ไฟล์ s1885565.laz ซึ่ งไปแก้ไขใน VLR

>> las2las -i s1885565.laz -o out.las -sp83 OH_S -feet -elevation_feet -target_utm auto
แก้ไขข้อมูล Projection จาก Ohio_South NAD83 state plane ในหน่วยฟุต ไปสู่ NAD83 UTM
โดยคานวณค่า UTM อัตโนมัติในหน่วยเมตร

>> las2las -i s1885565.laz -o out.las -sp83 OH_S -feet -elevation_feet -target_longlat


แก้ไขข้อมูล Projection จาก Ohio_South NAD83 state plane ในหน่วยฟุต ไปสู่ geographic
coordinates ค่าละติจูด ลองจิจูด ในหน่วยเมตร
42

คาสั่ งเพิม่ เติม


-remove_all_vlrs เอา VLRs ออกทั้งหมด
-remove_vlr 2 เอา VLR เลข 2 (นับจาก 0) ออก
-remove_vlrs_from_to 0 2 เอา VLRs 3 อันแรกออก
-week_to_adjusted เปลี่ยนค่า GPS week ไป Adjusted
Standard GPS
-adjusted_to_week เปลี่ยนค่า Adjusted Standard GPS ไป
GPS week
-set_version 1.2 ตั้งค่าเวอร์ ชนั่ เป็ น 1.2
-wgs84 ใช้ datum เป็ น WGS-84
-wgs72 ใช้ datum เป็ น WGS-72
-nad83 ใช้ datum เป็ น NAD83
-nad27 ใช้ datum เป็ น NAD27
-utm 12T ให้ค่า input เป็ น utm zone 12T (สาหรับ
การเพิ่มข้อมูลProjection)
-epsg 2972 ให้ค่า input เป็ น epsg code 2972 (สาหรับ
การเพิ่มข้อมูลProjection)
-sp83 CO_S ให้ค่า input เป็ น state plane NAD83
Colorado South (สาหรับการเพิ่มข้อมูล
Projection)
-sp27 SC_N ให้ค่า input เป็ น state plane NAD27
South Carolina North (สาหรับการเพิ่ม
ข้อมูลProjection)
-longlat ให้ค่า input เป็ น geometric coordinates
ในหน่วย longitude/latitude (สาหรับการ
เพิ่มข้อมูลProjection)
43

-latlong ให้ค่า input เป็ น geometric coordinates


ในหน่วย latitude/longitude (สาหรับการ
เพิ่มข้อมูลProjection)
-ecef ให้ค่า input เป็ น geocentric (Earth-
centered Earth-fixed) (สาหรับการเพิ่ม
ข้อมูลProjection)
-survey_feet ให้ค่า input เป็ น U.S. survey foot
(1200/3937 เมตร) (สาหรับการเพิ่มข้อมูล
Projection)
-feet ให้ค่า input เป็ น ฟุต (0.3048เมตร)
(สาหรับการเพิ่มข้อมูลProjection)
-meter ให้ค่า input เป็ น เมตร (สาหรับการเพิ่ม
ข้อมูลProjection)
-elevation_surveyfeet ให้ค่า input เป็ น U.S. survey foot ในทาง
ดิ่ง (สาหรับการเพิ่มข้อมูลProjection)
-elevation_feet ให้ค่า input เป็ น ฟุตในทางดิ่ง(สาหรับการ
เพิ่มข้อมูลProjection)
-elevation_meter ให้ค่า input เป็ น เมตรในทางดิ่ง(สาหรับ
การเพิ่มข้อมูลProjection)
-target_utm 12T ให้ค่า output เป็ น utm zone 12T (สาหรับ
การReprojection ข้อมูล)
-target_epsg 2193 ให้ค่า output เป็ น EPSG code 2193
(สาหรับการReprojection ข้อมูล)
-target_sp83 CO_S ให้ค่า output เป็ น state plane NAD83
Colorado South (สาหรับการ
Reprojection ข้อมูล)
44

-target_sp27 SC_N ให้ค่า output เป็ น state plane NAD27


South Carolina North (สาหรับการ
Reprojection ข้อมูล)
-target_longlat ให้ค่า output เป็ น geometric coordinates
ในหน่วย longitude/latitude (สาหรับการ
Reprojection ข้อมูล)
-target_latlong ให้ค่า output เป็ น geometric coordinates
ในหน่วย latitude/longitude (สาหรับการ
Reprojection ข้อมูล)
-target_ecef ให้ค่า output เป็ น geocentric (Earth-
centered Earth-fixed) (สาหรับการ
Reprojection ข้อมูล)
-target_survey_feet ให้ค่า output เป็ น U.S. survey foot
(1200/3937 เมตร) (สาหรับการ
Reprojection ข้อมูล)
-target_feet ให้ค่า output เป็ น ฟุต (0.3048เมตร)
(สาหรับการReprojection ข้อมูล)
-target_meter ให้ค่า output เป็ น เมตร (สาหรับการ
Reprojection ข้อมูล)
-target_elevation_surveyfeet ให้ค่า output เป็ น U.S. survey foot ในทาง
ดิ่ง (สาหรับการReprojection ข้อมูล)
-target_elevation_feet ให้ค่า output เป็ น ฟุตในทางดิ่ง(สาหรับ
การReprojection ข้อมูล)
-target_elevation_meter ให้ค่า output เป็ น เมตรในทางดิ่ง (สาหรับ
การReprojection ข้อมูล)
-target_precision 0.001 ให้ค่า output เป็ น precision 0.001
(สาหรับการReprojection ข้อมูล)
45

-target_elevation_precision 0.02 ให้ค่า output เป็ น precision ในทางดิ่ง


0.02 (สาหรับการReprojection ข้อมูล)
-tm 609601.22 0.0 meter 33.75 -79 0.99996 ระบุขอ้ มูลเป็ น Transverse Mercator
projection โดยมี Parameterเป็ น
(transverse Mercator, False Easting, False
Northing, Meter(unit), origin latitude,
meridian longitude, scale factor)
-lcc 609601.22 0.0 meter 33.75 -79 34.33333 ระบุขอ้ มูลเป็ น lambertian conic
36.16666 conformal projection โดยมี Parameter
เป็ น(lambertian conic conformal
projection, False Easting, False Northing,
Meter(unit), origin latitude, meridian
longitude, parallel 1st, parallel 2nd)
ตัวอย่างจากไฟล์ pentagon.laz

-ellipsoid 23 ใช้ ellipsoid WGS-84 (คาสัง่ '-ellipsoid -


1' เป็ นการดูรายชื่อ ellipsoid)
las2las -h เรี ยกคาสัง่ เพิ่มเติม
สาหรับข้อมูลเพิ่มเติม:http://www.cs.unc.edu/~isenburg/laszip/download/las2las_README.txt
46

Lasground
Lasground เป็ นเครื่ องมือที่ใช้หาพื้นโลกโดยจะจาแนกจุดLiDARไปเป็ น ground points
(class = 2) และ non-ground points (class = 1) lasground จะสามารถทางานได้ดีในบริ เวณพื้นผิว
ธรรมชาติ เช่น ภูขา ป่ า พื้นผิวสูงชัน แต่จะให้ผลลัพธ์ดีข้ ึนไปอีกในบริ เวณเมือง

โดยทุกครั้งที่ใช้ lasground จะเป็ นการจาแนกจุดใหม่ท้งั หมดโดยไม่สนใจผลการจาแนกก่อน


หน้า และเราสามารถเปลี่ยนเลขของclass ต่างๆ ได้ เช่นคาสัง่ '-ground_class 10' จะเปลี่ยนclass
ของground เป็ นเลข10 หรื อ '-non_ground_class 25' จะเปลี่ยนclass ของnon ground เป็ น25 และ
เราสามารถจาแนกเฉพาะ ground class ได้ โดยที่ lasground จะไม่ไปจาแนกจุดอื่นๆที่ไม่ใช่
ground class โดยใช้คาสัง่ '-non_ground_unchanged'

โดยทัว่ ไปค่าเริ่ มต้นของ step size จะอยูท่ ี่ 25 เมตร ซึ่ งเป็ นค่าที่จะลบอาคารส่วนใหญ่ออกไป
ยกเว้น อาคารใหญ่ โกดัง และ โรงงาน สาหรับเมืองขนาดเล็กและภูมิประเทศที่มีอาคารจานวน
น้อย ควรจะใช้คาสัง่ '-town' ซึ่ งมีการกาหนดค่า step size เป็ น 10 เมตร โดย '-city' จะเหมาะกับ
การใช้กบั เมืองใหญ่และอาคารใหญ่เช่น โกดัง ซึ่ งจะมีขนาด step size ที่ 25 เมตร
โดย '-metro' จะเหมาะกับเมืองใหญ่มาก โดยจะมีขนาด step size ที่ 50 เมตร และเราสามารถตั้ง
ค่า step size โดยเฉพาะได้ เช่น '-step 35' สาหรับภูมิประเทศที่ไม่มีสิ่งก่อสร้างก็ควรจะใช้ '-
nature' ซึ่ งมี step size ที่ 5 เมตร และ '-wilderness' นั้นใช้กรณี ที่เราสนใจวัตถุขนาดเล็กบน
พื้นผิว LiDAR ที่มีความละเอียดสูง ซึ่ งค่า step size อยูท่ ี่ 3 เมตร เราสามารถเปลี่ยนหน่วยใน
แนวดิ่งและหน่วยในแนวราบได้ โดยใช้คาสัง่ '-feet' สาหรับแนวราบ และใช้คาสัง่ '-
elevation_feet' สาหรับแนวดิ่ง ถ้าหากข้อมูลค่าพิกดั coordinate เป็ นค่าพิกดั แบบ earth-centered
(ECEF) และค่าพิกดั แบบละติจูดลองจิจูด จะต้องแปลงแบบ UTM เท่านั้น
โดยค่าเริ่ มต้นเครื่ องมือจะจาแนกเฉพาะ last return โดย return ก่อนหน้านั้นจะถูกจาแนกให้อยู่
ใน non-ground class เราสามารถปิ ดค่าตั้งต้นได้โดยใช้คาสัง่ '-all_returns'
หากเราไม่ตอ้ งให้ class ที่ถูกเคยจาแนกแล้ว ต้องมาจาแนกซ้ าเราสามารถใช้คาสัง่ '-ignore_class
ตามด้วยเลขclass เช่น '-ignore_class 7'
47

คาสั่ งเพิม่ เติม


-fine,-extra_fine, ใช้สาหรับภูมิประเทศที่มีความสูงชันมากๆ โดยจะเป็ นการเพิ่มความ
-ultra_fine, ความซับซ้อนของ ground points และทาให้การประมวลของ
-hyper_fine lasground ช้าขึ้น
-coarse ใช้สาหรับภูมิประเทศที่ราบเรี ยบ โดยจะเป็ นการลดความซับซ้อนของ
-extra_coarse ground points และทาให้การประมวลของ lasground รวดเร็วขึ้น
-wilderness เป็ นคาสัง่ เปลี่ยนค่า step size เป็ น 3 เมตร ใช้กรณี ที่เราสนใจวัตถุขนาด
เล็กบนพื้นผิว LiDAR ที่มีความละเอียดสูง
-nature เป็ นคาสัง่ เปลี่ยนค่า step size เป็ น 5 เมตร เหมาะกับภูมิประเทศที่ไม่มี
สิ่ งก่อสร้างเป็ นธรรมชาติ
-town เป็ นคาสัง่ เปลี่ยนค่า step size เป็ น 10 เมตร เมืองเล็ก
-city เป็ นคาสัง่ เปลี่ยนค่า step size เป็ น 25 เมตร เมืองใหญ่และอาคารใหญ่
-metro เป็ นคาสัง่ เปลี่ยนค่า step size เป็ น 50 เมตร เมืองใหญ่มาก
-bulge 1.0 ใช้สาหรับกาหนดความนูนของ TIN โดยค่าความนูนปกติจะถูกตั้งอยูท่ ี่
1 ใน 10 ของ step สาหรับstep ที่มีขนาดใหญ่กว่า 5 เมตร และ 1 ใน 5
ของ step สาหรับที่เหลือ
-no_bulge เป็ นคาสัง่ ปิ ดการแสดงผลของความนูน
-compute_height เป็ นคาสัง่ ที่ใช้คานวณความสูงเหนือจากพื้นของแต่ละจุด โดยการทา
คาสัง่ นี้จะทาให้สามารถลัดขั้นไปสู่ lasclassifyได้โดยไม่ตอ้ งผ่าน
lasheight
-replace_z เป็ นคาสัง่ ที่คานวณค่าความสูงแล้วนาค่ามาแทนค่าระดับเดิม
-h เป็ นคาสัง่ เปิ ดข้อมูลคาสัง่ lasground เพิ่มเติม

ข้ อมูลเพิม่ เติม:

http://www.cs.unc.edu/~isenburg/lastools/download/lasground_new_README.txt
48

ตัวอย่ างการใช้ :
>> lasground -i terrain.las -o classified_terrain.las
เป็ นการclassify ไฟล์ดว้ ยค่าปกติ โดยมี input เป็ น terrain.las และได้output เป็ น
classified_terrain.las
>> lasground -i terrain.las -o classified_terrain.las -feet -elevation_feet
เป็ นการclassify ไฟล์แล้วทาการกาหนดค่าให้อยูห่ น่วยฟุต โดย -feet เป็ นคาสัง่ ในแนวราบ
-elevation_feet เป็ นการกาหนดค่าในแนวดิ่ง
>> lasground -i terrain.las -o classified_terrain.las -all_returns
เป็ นการจาแนกจุดโดยจาแนกทุก return โดยปกติแล้วการจาแนกจะจาแนกเฉพาะlast returns
>> lasground -i *.las –town -ignore_class 7
เป็ นการจาแนกภูมิประเทศที่ราบเรี ยบหรื อเมืองเล็ก โดยจะมีขนาด step size ที่ 10 เมตร และไม่
ทาการจาแนก class 7
49

ตัวอย่ างการใช้ :step size ที่ขนาดต่างกัน –wilderness, -nature, -town, -city, -metro จาแนกไฟล์
เพื่อหาขนาดที่เหมาะสม กับไฟล์ pentagon.laz
(https://mega.nz/#!HEd1EDhZ!HTX8uRGCh8dwt3JRTNByYau42qhQJ01sOn3QXbe1TKM)

1.เปิ ดภาพโดยใช้ lasview เปรี ยบเทียบกับ Google map และทาการซูมเข้า


50

จะสรุ ปได้ว่ายังมีพ้ืนบางส่วนที่ไม่ได้รับการจาแนก

2.ลองจาแนกด้วย ฟังค์ชนั่ เพิ่มค่า step size ต่างๆ

wilderness step size=3 nature step size=5

Town step size = 10 City step size = 25


51

Metro step size = 50 ภาพจาก Google map

ผลจากการจาแนกสรุ ปได้ว่า city step size = 25 จาแนกground ได้ใกล้เคียงความเป็ นจริ งมาก


ที่สุด เพราะขนาดstep size มีขนาดเหมาะสมกับวัตถุที่อยูใ่ นรู ป
52

Lasclassify
Lasclassify เป็ นเครื่ องมือที่ใช้จาแนกเพื่อหาสิ่ งก่อสร้างและพืชพันธุ์ต่างๆ โดยเครื่ องมือนี้จะใช้
จาแนกได้ ไฟล์อนั นั้นต้องผ่านการจาแนกหา ground point ก่อนด้วย lasground และต้องมีการ
คานวณหาค่าความสูงของแต่ละจุดด้วยlasheight เครื่ องมือนี้จะทาการหาจุดในบริ เวณข้างเคียง
กันที่มีความสูงอย่างน้อย 2 เมตรและมีแนวโน้มเป็ นระนาบแล้วทาการจาแนกให้เป็ นสิ่ งก่อสร้าง
'-planar 0.1' และถ้าหากระนาบนั้นมีแนวโน้มที่จะขรุ ขระจะทาการเป็ นกลุ่มต้นไม้ '-rugged 0.4'
ตัวเลขด้านหลังจะหมายความว่าค่า standard deviation เราสามารถเปลี่ยนช่วงค่าที่กาหนดได้ดว้ ย
คาสัง่ '-ground_offset 5' ถ้าหากข้อมูลในไฟล์น้ นั มีจุดรบกวนเยอะ (noise) ทาให้การหาระนาบ
ทาได้ยาก การใช้ '-planar 0.1' จะเป็ นทางเลือกที่ดีทางหนึ่ง บางครั้งเส้นทางบิน(flight lines)นั้น
ไม่ได้บินในแนวราบซึ่ งจะเป็ นต้นเหตุทาให้ไม่เกิดระนาบแนวราบที่เหมาะสม เราจึ งควรทาการ
วิเคราะห์เส้นทางการบินแยกจากอันอื่น เราสามารถเปลี่ยนหน่วยในแนวดิ่งและหน่วยใน
แนวราบได้ โดยใช้คาสัง่ '-feet' สาหรับแนวราบ และใช้คาสัง่ '-elevation_feet' สาหรับแนวดิ่ง
ถ้าหากข้อมูลค่าพิกดั coordinate เป็ นค่าพิกดั แบบ earth-centered
(ECEF) และค่าพิกดั แบบละติจูดลองจิจูด จะต้องแปลงแบบ UTM เท่านั้น
ถ้าหากค่าความหนาแน่นของจุด(point density) มีค่าน้อย จะทาให้ไม่สามารถใช้ lasclassify ได้
การใช้คาสัง่ 'lasinfo -i lidar.las -cd' จะเป็ นการตรวจสอบว่า ข้อมูลนั้นมีค่าเกิน 2 pulses ต่อ
ตารางเมตรหรื อไม่ ซึ่ งเป็ นค่าต่าสุดที่จะทาให้สามารถจาแนกเพื่อหาหลังคาได้ ถ้าหากได้ค่าน้อย
กว่า2 pulses ต่อตารางเมตร เราต้องทาการเพิ่มค่า step เป็ น '-step 4' ซึ่ งก็คือ 4 x 4 เมตร โดยค่า
เริ่ มต้นจะอยูท่ ี่ 2 เมตร
53

ตัวอย่ างการใช้ :
>> lasground -i lidar.las -o lidar_with_bare_earth.las -city
>> lasheight -i lidar_with_bare_earth.las -o lidar_with_heights.las
>> lasclassify -i lidar_with_heights.las -o lidar_classified.las
(จากไฟล์ fusa.laz ที่ถูกล้าง classification ไปเป็ น never classified ด้วยคาสัง่ >>las2las -i
fusa.laz -set_classification 0 -o fusa_out.laz )
1.เปิ ดไฟล์ fusa_out.laz
54

2.ใช้คาสัง่ (>>lasground -i fusa_out.laz -o fusa_out_g.laz -city)


55

3.หาความสูงให้แต่ละจุดของ fusa_out_g.laz ด้วยคาสัง่ >>lasheight -i fusa_out_g.laz -o


fusa_out_gh.laz
4.ทาการ classify ด้วยคาสัง่ >> lasclassify -i fusa_out_gh.laz -o fusa_out_ghc.laz

เปรี ยบเทียบไฟล์ตน้ ฉบับ fusa.laz


56

>> lasground -i lidar.las -o lidar_with_bare_earth.las -city -feet -elevation_feet


>> lasheight -i lidar_with_bare_earth.las -o lidar_with_heights.las
>> lasclassify -i lidar_with_heights.las -o lidar_classified.las -feet -elevation_feet -planar 0.2
เหมือนกับตัวอย่างด้านบนแต่จะมีการเพิ่มเติมคือ จะเปลี่ยนหน่วยที่ใช้เป็ น -city -feet -
elevation_feet และ กาหนดค่าstandard deviation ของ planar เป็ น0.2
57

คาสั่ งอื่นๆ
-v เป็ นคาสัง่ รายงานผลเพิ่มเติมจากปกติ
-quiet เป็ นคาสัง่ ไม่ให้แสดงผลรายงาน
-version เป็ นคาสัง่ แสดงผล version
-fail เป็ นคาสัง่ ให้ไม่ให้ทางานถ้าหาก ไม่มีunlicense หรื อunlicense ไม่
ถูกต้อง
-gui เป็ นคาสัง่ เรี ยกเครื่ องมือ classify บน GUI
-ignore_class 7 18 เป็ นคาสัง่ ที่จะไม่ทาการจาแนกclassที่กาหนด
-ignore_first เป็ นคาสัง่ ที่จะไม่ทาการจาแนก return ต่างๆที่กาหนด
, -ignore_last
, -ignore_intermediate
-step 1.5 เป็ นคาสัง่ กาหนดขนาดของstep โดยค่าเริ่ มต้นเริ่ มที่ 2 เมตร การ
เพิ่มขนาด step จะช่วยให้เพิ่มความสามารถในการ classify จุดที่
ห่างกันมากๆได้หรื อช่วยในกรณี ที่จุดมีความหนาแน่นน้อย
-ground_offset 1.5 เป็ นคาสัง่ ที่กาหนดค่าที่สนใจที่ห่างจากพื้น 1.5 เมตร จะถูก
พิจารณาเป็ นระนาบที่จะถูกจาแนก
-planar 0.09 เป็ นคาสัง่ กาหนดค่า standard deviation เป็ น0.09 โดยจุดที่มีความ
สูงห่างจากระนาบที่กาหนด ถ้าหากมีค่า standard deviation เป็ น
0.09 จะถูกจาแนกให้อยูใ่ นระนาบของสิ่ งก่อสร้าง โดยค่าเริ่ มต้นอยู่
ที่ 0.1
-rugged 0.3 เป็ นคาสัง่ กาหนดค่า standard deviation เป็ น0.3 โดยจุดที่มีความสูง
ห่างจากระนาบที่กาหนด ถ้าหากมีค่า standard deviation เป็ น0.3
จะถูกจาแนกให้อยูใ่ นระนาบของพืชพันธุ์ต่างๆ โดยค่าเริ่ มต้นอยูท่ ี่
0.4
-small_buildings เป็ นคาสัง่ ช่วยในการจาแนกอาคารขนาดเล็ก
-small_trees เป็ นคาสัง่ ช่วยในการจาแนกต้นไม้ขนาดเล็ก
-keep_overhang เป็ นคาสัง่ ที่จะไม่เอาจุดของต้นไม้ที่มีความสูงใกล้เคียงกับ
สิ่ งก่อสร้างและคาบเกี่ยวกัน ออก
58

-h เป็ นการดูคาสัง่ อื่นๆ เพิ่มเติม

ข้อมูลเพิ่มเติม
1. http://www.cs.unc.edu/~isenburg/lastools/download/lasclassify_README.txt
59

Lasheight
Lasheight เป็ นเครื่ องมือใช้ในการคานวณความสูงเหนือพื้นของจุด LAS ต่างๆ โดย
สมมติว่าหาก ground point ได้ถูกจาแนกแล้ว (classification = 2) จะมีการสร้าง TIN ของ
ground point ขึ้นมา (โดยการสร้าง TIN จะเป็ นการสร้างสามเหลี่ยมของจุดใกล้กนั 3 จุดแล้วนา
สามเหลี่ยมทั้งหมดมาต่อเป็ นพื้นผิวเดียวกัน) และการคานวณความสูงของจุดนั้น จะคานวณโดย
อ้างอิงจาก TIN โดยค่าปกติของความสูงจะถูก scale ไว้ดว้ ยค่า 10.0 ซึ่ งจะมีค่าอยูร่ ะหว่าง 0 ถึง
255 และถูกเก็บไม้ในฟิ ลด์ "user data" ของแต่ละจุด การเปลี่ยน scale factor สามารถทาได้โดย
คาสัง่ '-scale_u 20.0' หรื อปิ ดการเก็บข้อมูลความสูงใน "user data" ได้โดยคาสัง่
'-do_not_store_in_user_data' หรื อเก็บไว้ในส่วนของ "extra bytes" ด้วยคาสัง่
'-store_as_extra_bytes' ด้วยค่า scale factor 0.01 (ความละเอียดระดับเซนติเมตร) หรื อเพิ่มความ
ละเอียดด้วย '-store_precise_as_extra_bytes' ที่ค่า scale factor 0.001(ความละเอียดระดับ
มิลลิเมตร)
60

ตัวอย่ างการใช้
ใช้ lasheight เพื่อหาความสูงระหว่างพื้นดินกับเพดาน
1.เปิ ดไฟล์ fusa.laz (ต้องผ่านlasclassify เพื่อจาแนกจุดด้วย)ที่ผา่ นการใช้ (lasheight -i
fusa.laz -replace_z) ด้วย lasview แล้วทาการ cross section ด้วยการกด x จากเลือกส่วน
ที่ตอ้ งการดังภาพ
61

2.กด x อีกครั้ง แล้วทาการเพิ่มขนาดจุดด้วย (=) (ลดขนาดจุดใช้ -) แล้วจัดองค์ประกอบ


ให้ง่ายต่อการวัด

3.กด I ไปที่จุดต่างๆ (สี เหลืองคือ building ,สี น้ าตาลground ) จะค่าดังภาพ

โดยการวัดผ่าน lasheight ที่ได้ทาการใช้คาสัง่ replace_z จะให้ค่าที่น่าเชื่อถือกว่าเพราะวัด


มาจากพื้นผิว TIN ที่มีจุด(x,y)เดียวกัน
62

ส่ วนเสริม
ผู้เขียน: นาย ปัญญาวัชร รัตนะ nanoic_ohm@hotmail.com โปรดติดต่อหากข้อมูล
ผิดพลาด

You might also like