จะใช้การคำนวณมุมมองอย่างไร


11

ฉันกำลังมองหาวิธีที่จะใช้การเปิดเผย (aka viewshed) ฉันพบคำถาม GIS SEก่อนหน้าซึ่งแนะนำแอปพลิเคชั่น GIS ไม่กี่ตัว (ไม่ใช่สิ่งที่ฉันต้องการ - ฉันพยายามฝังการคำนวณ) และ SAGA SAGAดูเหมือนว่าสิ่งที่ฉันกำลังมองหา (C ++, Java, C # classes) แต่ฉันไม่เข้าใจเอกสาร API เพียงพอที่จะเข้าใจว่าคลาสใดที่ฉันจำเป็นต้องสร้างอินสแตนซ์ (หรือคลาสย่อย)

ฉันไม่ได้เชื่อมโยงกับแนวคิดของ SAGA - ฉันแค่มองหาไลบรารี่ / เอ็นจิ้นที่สามารถทำการแทรกซึมได้

ข้อ จำกัด คือจำเป็นต้อง:

  • "น้ำหนักเบา" พอสมควร (เนื่องจากฉันต้องการครอบคลุมการฝัง / มือถือ)
  • โอเพ่นซอร์สอย่างสมเหตุสมผล (เนื่องจากแอปพลิเคชันของฉันจะเป็นโอเพ่นซอร์สแม้ว่าฉันจะมีความยืดหยุ่นตรงกับใบอนุญาตที่ตราบใดที่มันเข้ากันได้กับ (L) GPL)

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

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

การตั้งค่าของฉันคือการใช้งานที่มีอยู่แทนที่จะสร้างบางสิ่งบางอย่างด้วยตัวเอง (ซึ่งเป็นตัวเลือกสำรองข้อมูล)

แก้ไข: C ++ ไม่ใช่ข้อกำหนดของ บริษัท - สิ่งใดที่พกพาได้อย่างสมเหตุสมผล (C #, C ++, Java) จะทำ ฉันลองใช้ไลบรารีหรือแม่แบบแทนที่จะฝังแอปพลิเคชันขนาดใหญ่


2
คุณต้องการอัลกอริทึม ZTV เต็มรูปแบบหรือไม่ บางทีแบบจำลองภูมิประเทศใน OpenGL และวิเคราะห์ผลลัพธ์นั้น? สมาร์ทโฟนมีการเร่งกราฟิกที่ดียิ่งขึ้นซึ่งคุณสามารถใช้ประโยชน์ได้ OpenGL ยังรองรับการคาดการณ์ orthographic
Matthew Snape

ฉันมีความสุขตราบใดที่คำตอบ "ถูกต้อง" ดังนั้น OpenGL จึงควรค่าแก่การดู คุณมีตัวอย่าง / ตัวชี้ที่ทำจากข้อมูลประเภท GIS หรือไม่?
BradHards

คำตอบ:


8

ดังที่คุณได้เห็นจากคำถาม GIS SE ที่อ้างอิงแล้วดูเหมือนจะไม่ได้มีอะไรมากมายในการดูแพ็คเกจแบบสแตนด์อโลนอย่างน้อยในตลาดโอเพ่นซอร์สที่นอกเหนือจาก SAGA และ GRASS GIS นอกเหนือจากการเขียนเสื้อคลุมรอบรหัสสำหรับ algorthims เหล่านี้คุณอาจท้ายการใช้ viewshed ตัวเองน่าเสียดาย (แม้ว่าฉันจะชอบที่จะได้รับการแก้ไขในเรื่องนี้)

หากคุณอ่านเอกสารสำหรับฟังก์ชั่นGRASS r.viewshedจะให้คำอธิบายแบบกว้างเกี่ยวกับอัลกอริทึมและการอ้างอิงถึงเอกสารต่อไปนี้ซึ่งกล่าวถึงอัลกอริธึมมุมมองเดียวอย่างละเอียด:

คอมพิวเตอร์มองเห็นชัดเจนบน Terrains ในหน่วยความจำภายนอก Herman Haverkort, Laura Toma และ Yi Zhuang ในการประชุมเชิงปฏิบัติการครั้งที่ 9 ทางวิศวกรรมอัลกอริธึมและการทดลอง / การประชุมเชิงปฏิบัติการเรื่องอัลกอริธึมเชิงวิเคราะห์และคอมบิเนทิกส์ (ALENEX / ANALCO 2007)

อีกทางหนึ่งบทความ Wikipedia บน Viewshed แสดงการอ้างอิง:

Wu, H. , Pan, M. , Yao, L. , & Luo, B. (2007) พาร์ทิชันตามอนุกรมอัลกอริทึมสำหรับการสร้างทัศนวิสัยการมองใน DEMs วารสารนานาชาติของวิทยาศาสตร์สารสนเทศภูมิศาสตร์ 21 (9), 955-964


ไม่ใช่คำตอบที่ฉันหวัง แต่เป็นคำตอบที่ดีที่สุด ขอบคุณมากสำหรับงานนี้
BradHards

ไม่ต้องห่วง. ขอให้โชคดีกับมัน!
om_henners

4

มีแพ็คเกจฟรีแวร์ที่ชื่อว่า RadioMobile ซึ่งออกแบบมาสำหรับการศึกษาการสื่อสารทางวิทยุที่สร้างมุมมอง เอาต์พุตขึ้นอยู่กับอินพุต DEM และสามารถเป็นเวกเตอร์ (ไฟล์จุด) หรือ Raster ฉันสามารถใช้ไฟล์จุดเวกเตอร์เพื่อสร้างรูปหลายเหลี่ยมผ่านการเขียนสคริปต์บางอย่างซึ่งฉันยินดีที่จะแบ่งปันกับคุณ เนื่องจากคุณสามารถตั้งค่าจานสีบนเอาต์พุตแบบแรสเตอร์คุณสามารถแปลงแรสเตอร์เป็นเวกเตอร์โดยใช้ gdal

โปรแกรมนี้มี GUI แต่ยังสามารถทำงานในโหมดแบทช์เพื่อให้คุณสามารถรวมเข้ากับโปรแกรมได้อย่างง่ายดาย ในขณะที่มีตัวเลือกมากมายเกินกว่าที่จำเป็นสำหรับมุมมองแบบดั้งเดิมคุณสามารถตั้งค่าเหล่านี้เป็นโมฆะเพื่อไม่ให้เอฟเฟกต์เช่นกำลังส่งสัญญาณ - ดูhttp://www.g3tvu.co.uk/RM_Batch_Files.htm

โปรแกรมอยู่ที่http://www.cplus.org/rmw/rme.htmlผู้เขียนมีประโยชน์มากเช่นกัน

หวังว่าจะช่วยได้


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