ใช้ตัวเลือก Hillshade ใน ArcMap หรือไม่?


15

นี่คือรูปสวย ๆ ของแรสเตอร์ที่ฉันใช้ - โดยไม่มีเอฟเฟกต์ใด ๆ - เพียงแค่ปรับสีและฮิสโตแกรมเพื่อแสดงความโล่งใจ - แม้ว่าจะเป็นแบบ 2 มิติ!

ป้อนคำอธิบายรูปภาพที่นี่

ฉันมีเลเยอร์แรสเตอร์ที่ฉันต้องการแสดงพร้อม Hillshade เป็นค่าเริ่มต้น ฉันสามารถทำเช่นนี้ในรหัสและผลก็เหมือนกับการเลือกตัวเลือก Hillshade ใน ArcMap (ดูด้านล่าง):

ป้อนคำอธิบายรูปภาพที่นี่

เมื่อคุณทำเช่นนี้ - มันดูน่าผิดหวัง:

ป้อนคำอธิบายรูปภาพที่นี่

โดยเฉพาะอย่างยิ่งถ้าคุณซูมเข้าไปในแรสเตอร์คุณจะเห็นสิ่งประดิษฐ์ที่ gridded ทุกชนิด - ซึ่งดูไม่ดีเลย!

ป้อนคำอธิบายรูปภาพที่นี่

อย่างไรก็ตามถ้าฉันสร้างเลเยอร์ Hillshade ที่เหมาะสมโดยใช้แรสเตอร์ด้วย Spatial Analyst และวางทับด้วยความใส 85% มันดูดีและแตกต่างกันมาก!:

ป้อนคำอธิบายรูปภาพที่นี่

  1. ฉันจะได้รับผลกระทบนี้ใน ArcMap และแทนที่การทำงานเริ่มต้นของตัวเลือก Hillshade ได้อย่างไร (ฉันคิดว่ามันเป็นไปไม่ได้หรือมันเป็นการตั้งค่าที่ฉันพลาดไปซึ่งทำให้ raster แสดงได้ไม่ดี) ถ้ามันเป็นไปได้ที่จะแทนที่หรือเลือกการตั้งค่าที่ถูกต้อง - เป็นไปได้ที่จะทำใน ArcObjects
  2. หากตัวเลือกที่ 1 เป็นไปไม่ได้ฉันสามารถสร้างเอฟเฟกต์ของฉันด้วยการสร้างเลเยอร์ Hillshade (โดยไม่ใช้ Spatial Analyst) และรวมเข้ากับแรสเตอร์ดั้งเดิมได้อย่างมีประสิทธิภาพ - นั่นคือฉันไม่ต้องการให้คนเห็นสองชั้นในสารบัญใน ArcMap . ฉันต้องการหนึ่งเลเยอร์ แต่ด้วยการเรนเดอร์เริ่มต้นของการเลือก / การกำหนดค่าของฉัน ฉันต้องทำเช่นนี้โดยทางโปรแกรมเช่น ArcObjects

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

ดังนั้นฉันคิดว่าตอนนี้ฉันรู้ว่าสิ่งที่ฉันต้องทำเกี่ยวกับการผลิต Hillshading ที่มีคุณภาพสูง แต่ฉันคิดว่ามันจะใช้รหัส ArcObjects ในระดับต่ำ ฉันคิดว่าฉันต้องหาการแสดงผลกราฟิกของตัวเองและเสียบมันเข้ากับ ArcMap (ฉันมี dll ที่ทำให้บิตแมปของกริดในแบบที่ยอดเยี่ยม) ฉันคิดว่าสถานที่ที่ดีในการแสดงนี้จะแทนที่เหตุการณ์ Draw () ในบางสิ่งเช่น IRasterRenderer และแทรกการสร้างภาพของตัวเอง แน่นอนว่ามันอาจจะซับซ้อนเล็กน้อยกับการถอดแบบ ฯลฯ

มีใครทำกราฟิกระดับต่ำนี้ใน ArcMap บ้างไหมถ้าเป็นเช่นนั้นคุณสามารถให้คำแนะนำหรือสิ่งที่ฉันควรระวังได้บ้าง?


1
ฉันไม่เคยทำสิ่งนี้มาก่อน แต่ฉันรู้สึกว่าคุณสามารถใช้ IRasterRenderer เพื่อกำหนดวิธีการแสดงแรสเตอร์เฉพาะ หากคุณมีชุดข้อมูลสองชุด (ฮิลล์ + ปกติ) คุณสามารถใช้ IRasterCursor เพื่อผสมผสานและวาดแต่ละพิกเซลเข้าด้วยกัน
George Silva

5
สำหรับสิ่งที่คุ้มค่าฉันเพิ่งลองสิ่งเดียวกันเมื่อวานนี้ใน ArcMap และมันก็ดูแย่เช่นกัน
ชาดคูเปอร์

@ จอร์จฉันคิดว่า RasterCursor เปลี่ยนค่าของเซลล์ - ในขณะที่ฉันคิดว่าฉันต้องการเปลี่ยนค่าสี - นั่นคือการเปลี่ยนความเข้มของสีอย่างมีประสิทธิภาพตามค่าฮิลชาด - คุณรู้วิธีเปลี่ยนค่า RGB เฉพาะพิกเซลเป็นพิกเซลหรือไม่
Vidar

1
ดูเหมือนว่า "เอฟเฟ็กต์ฮิลแรดดิ้ง" คำนวณโดยการปัดเศษค่าความสูงซึ่งจะทำให้ DEM ของคุณกลายเป็นเทอเรซเล็ก ๆ หากสิ่งนี้ถูกต้องเป็นไปได้ยากที่คุณจะพบวิธีแก้ไข: ส่งรายงานข้อผิดพลาด คุณสามารถแก้ไขปัญหาสองชั้นได้ด้วยการจัดกลุ่มตารางและชั้นของเนินเขา BTW ฉันเชื่อว่าตัวเลือกนี้เป็นของใหม่ในเวอร์ชัน 10 มันจะช่วยในการอัปเดตแท็กโดยระบุเวอร์ชันของ ArcMap ที่คุณใช้
whuber

@Vidar เอกสารระบุว่ามีเคอร์เซอร์ Raster สำหรับ "การเข้าถึง raster ที่เหมาะสม" พวกเขาจะต้องสามารถอ่านได้เช่นกัน
George Silva

คำตอบ:


20

ใช้การสุ่มสัญญาณใหม่แบบ Bilinear Interpolation ระหว่างการแสดงผล

คุณสามารถปรับปรุงการแสดงผลได้โดยการเปลี่ยนวิธีการสุ่มตัวอย่างที่ใช้จากเพื่อนบ้านที่ใกล้ที่สุดที่เป็นค่าเริ่มต้นไปเป็น Interpolation ของ Bilinear คุณสมบัติเลเยอร์ -> แท็บการแสดงผล -> Resample ระหว่างการแสดงผลโดยใช้: Interpolation Bilinear

เอฟเฟกต์นี้ใช้งานได้ดีที่สุดกับ DEM และทางลาดเริ่มต้นสีดำและสีขาว

คุณจะได้รับผลลัพธ์ที่ดีขึ้นและควบคุมจอแสดงผลได้มากขึ้นเมื่อใช้ 2 raster ตามที่คุณทำไปแล้ว ตรวจสอบให้แน่ใจว่าคุณใช้วิธี resampling Bilinear Interpolation ในระหว่างการแสดงผลด้วย

เพิ่ม DEM:

ป้อนคำอธิบายรูปภาพที่นี่

สลับ "ใช้เอฟเฟ็กต์ Hillshade" บน: ป้อนคำอธิบายรูปภาพที่นี่

แสดงผลดังต่อไปนี้บนหน้าจอ: ป้อนคำอธิบายรูปภาพที่นี่

เปลี่ยนการสุ่มใหม่ระหว่างการแสดงผลเป็นการประมาณค่า Bilinear: ป้อนคำอธิบายรูปภาพที่นี่

แสดงผลดังต่อไปนี้บนหน้าจอ: ป้อนคำอธิบายรูปภาพที่นี่


คุณพูดถูก - สิ่งนี้จะกำจัดสิ่งประดิษฐ์ที่สกปรก - แต่เนินเขายังดูแย่ ในบางวิธีฉันคิดว่าสิ่งประดิษฐ์เป็นปัญหารอง - เนื่องจากเป็นเนินเขาที่ฉันต้องการตอกตะปู แต่ขอบคุณสำหรับความพยายามในคำตอบของคุณ!
Vidar

10

วิธีการที่อธิบายไว้ของ Arcmap นั้นเป็นวิธีที่รวดเร็วและสกปรกและไม่เคยหมายถึงการแทนที่ผลของฮิลล์เชดจาก Spatial Analyst และ / หรือ 3D Analyst แม้ว่าคำเดียวกันจะใช้เพื่ออธิบายทั้งสองคำนั้นไม่เหมือนกันเลย

ในการสร้าง hillshade จริงโดยไม่มี Spatial Analyst คุณอาจลองgdaldemของ GDAL :

gdaldem hillshade dem.tif shade.tif

การสอนข้อมูล TileMill Terrainมีภาพรวมที่ดีเกี่ยวกับวิธีใช้ gdaldem เพื่อสร้างคอมโพสิตฮิลล์เชดด้วยการย้อมสียิปซัม
รายละเอียดของฮิลล์เชดและการผ่อนปรนแบบผสมผสาน

หากยูทิลิตี้ที่ไม่เพียงพอโดยตรงสำหรับโปรแกรมประยุกต์ของคุณรหัสที่มา C ++ สำหรับ gdaldem เป็นที่นี่


1
สิ่งที่ดี! โดยเฉพาะอย่างยิ่งชอบแนวคิดในการรวมผลลัพธ์และการใช้ Hillshade รวมถึงความชัน ไม่เคยคิดที่จะรวมสิ่งเหล่านั้นเข้าด้วยกัน จะต้องลองทำดู
Jakub Sisak GeoGraphics

gdaldem เป็นวิธีที่แน่นอนสำหรับการดำเนินการด้าน GIS ผ่าน ArcGIS ฉันเรียนรู้ Hillshading เป็นหนึ่งในการดำเนินการดังกล่าวอย่างแน่นอน
GIStack

1
@jakub ถ้าคุณชอบความคิดของ hillshade รวมกับความลาดชันและ hypsometry ได้ดูการทำงานของทอมแพตเตอร์สันในโทน hypsometric ข้ามผสมและผลิตแผนที่ธรรมชาติสีพร้อมสัญญาณดาวเทียมปกคลุมดินข้อมูล เทคนิคที่กล่าวถึงมีวัตถุประสงค์เพื่อเอาชนะข้อ จำกัด ด้วยการย้อมสีมาตรฐานแบบยิปซัมของสมาคมที่ไม่เหมาะสมของกรีนที่มีระดับความสูงต่ำซึ่งมีพืชพรรณและสูงสีน้ำตาลน้ำตาล / แดงกับทะเลทรายหรือดินแดนที่แห้งแล้ง คุ้มค่าที่จะอ่านและเรียน
matt wilkie

7

หากคุณกำลังมองหาเนินเขาที่ดูดีซึ่งต้องใช้เวลาในการสร้าง แต่เหมาะสำหรับโครงการขนาดใหญ่ที่จะได้รับการเปิดเผยมากมายคุณอาจลองใช้วิธี Swiss Hillshadeซึ่งต้องใช้ 3 ชั้น แต่คุณสามารถส่งออกได้ ถึง TIFF ทางภูมิศาสตร์หนึ่งรายการเพื่อประหยัดพื้นที่และสำหรับการพกพา วิธีการนี้จำเป็นต้องใช้นักวิเคราะห์เชิงพื้นที่ฉันเชื่อว่าดังนั้นจึงไม่ใช่คำตอบที่ตรงกับคำถามของ OP แต่อาจเป็นประโยชน์กับคนอื่น ๆ ที่กำลังมองหาวิธี Hillshade ใน ArcGIS วิธีนี้ใช้ได้กับระบบ GIS อื่นเช่นกัน แต่กล่องเครื่องมือที่เชื่อมโยงนั้นมีไว้สำหรับ ArcGIS

แก้ไข 11/2014: Esri เพิ่งเปิดตัวเครื่องมือใหม่สำหรับการสร้าง Hillshades มันดูลื่นจริงๆและควรหลอมรวมกับเวิร์กโฟลว์ของ Asker พวกเขาแนะนำที่นี่และคุณสามารถดาวน์โหลดรหัสและคำแนะนำการติดตั้งได้ที่นี่


ฉันเพิ่งใช้มันไม่กี่ครั้งเมื่อเร็ว ๆ นี้ ดีมาก. เพิ่มไปยังถุงของฉันไปสู่เทคนิค ขอบคุณสำหรับการแบ่งปัน.
Kstoney

ไม่มีปัญหา - ฉันดีใจที่คุณพบว่ามีประโยชน์ มันทำให้เนินเขาที่ดีกว่าและฉันชอบที่ฉันสามารถเก็บเลเยอร์ของฉันไปรอบ ๆ และเพียงแค่เปลี่ยนสีบนเดมเพื่อเน้นทุกอย่างที่แตกต่างกันเล็กน้อย
nicksan

1
ขอบคุณสำหรับสิ่งนี้. นอกจากนี้ใน 10.1, Raster Shader ( blogs.esri.com/esri/apl/2013/05/02/ … ) ให้การควบคุมการแสดง Raster ที่ดีขึ้นมากและช่วยให้คุณสร้างฮิลล์เชดที่สวยงาม
SoilSciGuy

4

เมื่อคุณพูดในรายการ # 2 "ฉันสามารถสร้างเอฟเฟกต์ของฉันด้วยการสร้างเลเยอร์ Hillshade (โดยไม่ใช้ Spatial Analyst)" คุณหมายถึงแอพพลิเคชั่นสำรองสำหรับการสร้างฮิลล์เชดหรือไม่?

หากคุณต้องการใช้แอปพลิเคชั่นนอก Spatial Analyst ฉันเพิ่งเรียนรู้เกี่ยวกับ " SEXTANTE for ArcGIS extension " ( ฟรี ) ซึ่งเพิ่งอนุญาตให้ผู้ใช้ใช้เครื่องมือ SEXTANTE ใน ArcMap หากคุณดูวิดีโอคลิปนี้คุณจะเห็นว่าพวกเขาสาธิตวิธีสร้างเนินเขา


ไม่จริง ๆ - ฉันแค่ต้องการใช้เทคนิคฮิลแรดดิ้งของตัวเองโดยไม่ต้องใช้ ESRI ฉันได้เพิ่มความคิดเห็นเพิ่มเติมในโพสต์เปิดของฉัน
Vidar

4

ฉันได้รับคำแนะนำเสมอเพื่อเพิ่มความกระตือรือร้นในการลงเขา
ฉันลอง 100 ไปแล้วและดูเหมือนสุดขั้ว
นอกจากนี้การเปลี่ยนประเภทการยืดทำให้เกิดความแตกต่างอย่างมากในรูปลักษณ์ของเนินเขา
เนื่องจากคุณกำลังพูดถึงลักษณะที่ปรากฏคุณอาจดูรายการช่วยเหลือนี้ esir ช่วย
บอกว่าฮิลแรดดิ้งไอไอเอที่ใช้ที่ความละเอียดพิกเซลจอแสดงผล
และเพื่อเปลี่ยนมุมส่องสว่าง
Esri ช่วย
อีกทั้งยังเปลี่ยนทิศทางและความคมชัด

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