คำนวณเปอร์เซ็นต์ท้องฟ้าที่มองเห็นได้หรือไม่


14

ใครสามารถอธิบายวิธีการคำนวณเปอร์เซ็นต์ท้องฟ้าที่มองเห็นได้อย่างง่ายดายที่สุดเท่าที่จะทำได้

ฉันได้ทำการสำรวจดาวเทียมแล้วและได้คำนวณความสูงของอาคารและระยะห่างระหว่างพวกเขา

ฉันจะใช้ข้อมูลนั้นเพื่อคำนวณเปอร์เซ็นต์ท้องฟ้าที่มองเห็นได้ตามตำแหน่งที่ฉันยืนอยู่ได้อย่างไร

คำตอบ:


12

เรามักจะมีข้อมูลที่เกี่ยวข้องกับพื้นดังนั้นเราจึงต้องใช้ข้อมูลนั้น พื้นดินกำหนดตัวเลขที่มั่นคงในแบบ 3 มิติ คุณฉายภาพนี้เรดิอบนหน่วยทรงกลมที่กึ่งกลางที่มุมมอง: แผนที่นี้พื้นดินไปยังภูมิภาคในทรงกลม คำนวณพื้นที่ของส่วนที่เหลือ : นั่นคือมุมทึบที่ถูกเติมด้วยท้องฟ้า (เป็นsteradians ) หารด้วยพื้นที่รวมของทรงกลม (เท่ากับ 4 pi) แล้วคูณด้วย 100 เพื่อให้ได้เปอร์เซ็นต์ท้องฟ้า

หากคุณต้องการคำอธิบายที่ชัดเจนกว่านี้ให้วางผู้ชมไว้ที่กึ่งกลางฟองกลมเล็ก ๆ แล้วขอให้เธอวาดภาพบนท้องฟ้า แบ่งจำนวนสีที่เธอใช้ตามจำนวนที่ต้องการเพื่อทาสีฟองทั้งหมดและคูณด้วย 100

ในความเป็นจริงมีรายละเอียดทางเทคนิคที่ไม่ง่าย

เส้นโครงบนทรงกลมนั้นค่อนข้างตรงไปตรงมาเมื่อพื้นดินถูกกำหนดให้เป็นเครือข่ายสามเหลี่ยม (TIN) เนื่องจากคุณต้องเขียนโค้ดเพื่อฉายสามเหลี่ยมลงบนทรงกลม เมื่อพื้นดินได้รับเป็นแบบจำลองระดับความสูงแบบ gridded (a DEM) คุณสามารถนึกภาพของแต่ละเซลล์กริดเป็นรูปสี่เหลี่ยมสามมิติ คุณอาจแบ่งมันออกเป็นสองสามเหลี่ยมพร้อมแนวทแยงมุมและแมปสามเหลี่ยมแต่ละอันลงบนทรงกลม ไม่ว่าในกรณีใดคุณจะเหลือรูปสามเหลี่ยมที่คาดการณ์ไว้บนทรงกลม ด้วยการฉายทรงกลมลงบนแผนที่ (เช่นด้วยการฉายภาพสามมิติ) การรวมกันของสามเหลี่ยมเหล่านี้ในภูมิภาครูปหลายเหลี่ยมสามารถลดลงเป็นปัญหามาตรฐานของเรขาคณิตการคำนวณระนาบ (โดยใช้วิธีการกวาดด้วยเครื่องบินเป็นต้น) ส่วนที่เหลือเป็นเรื่องง่าย (สำหรับ GIS)

ภาพนี้แสดงให้เห็นถึงเมืองเล็ก ๆ ของตึกระฟ้าจำลองในรูปแบบ gnomonic ที่มีศูนย์กลางอยู่ที่ผู้ชมใจกลางเมืองมองตรงขึ้นไป GIS สามารถ "ผสาน" (ประกอบเป็นสหภาพ) รูปหลายเหลี่ยมที่แสดงด้านข้างและหลังคาของอาคารเหล่านี้แล้วคำนวณพื้นที่ที่เหลือ (สีขาว) พื้นที่ การประมาณการแบบ gnomonic ถูกเลือกเนื่องจากเส้นสถาปัตยกรรมแบบเส้นตรงถูกแสดงผลเป็นส่วนของเส้นตรงแทนที่จะเป็นเส้นโค้ง

อาคารจำลอง

สามารถนำ GIS ไปใช้เพื่อทำการคำนวณนี้เมื่อคุณมีเพียงพื้นดินและอาคาร อาคารมีแนวโน้มมากที่สุดในรูปแบบคอลเลกชันสี่เหลี่ยม จุดยอดของสี่เหลี่ยมมีพิกัดแบบยุคลิด (x, y, z) สัมพันธ์กับมุมมอง แปลงค่าเหล่านั้นเป็นพิกัดทรงกลม: นั่นคือละติจูดและลองจิจูด สร้างรูปหลายเหลี่ยมสำหรับสี่เหลี่ยมผืนผ้าที่ถูกแปลง ทำเช่นนี้สำหรับสี่เหลี่ยมทุกส่วนของอาคารทั้งหมดส่งผลให้ "เลเยอร์คุณสมบัติรูปหลายเหลี่ยม" จากนั้นใน GIS, (1) คำนวณการรวมกลุ่มตามทฤษฎีของคุณสมบัติ (2) คำนวณพื้นที่ที่เกิด (3) ลบส่วนนี้ออกจากพื้นที่ผิวโลกครึ่งหนึ่ง (อีกครึ่งหนึ่งเป็นพื้น) และ (4) หารด้วยพื้นที่ทั้งหมดของโลก (คูณด้วย 100 เพื่อให้ได้เปอร์เซ็นต์) ความพยายามในการคำนวณเป็นสัดส่วนกับ N * log (N) โดยที่ N คือจำนวนจุดยอด ความแม่นยำขึ้นอยู่กับว่า GIS แสดงถึงรูปสี่เหลี่ยมได้ดีเพียงใด (คุณอาจต้องแบ่งสี่เหลี่ยมด้านข้างออกเป็นลำดับของจุดยอดที่เว้นระยะห่างกันมากขึ้น) คุณอาจพิจารณาวิธีการที่อิงกับ Monte-Carlo (ขึ้นอยู่กับข้อกำหนดด้านความแม่นยำของคุณ)เช่นการติดตามรังสีสนับสนุนในการตอบกลับอีกครั้ง) เมื่อคุณมีจุดยอดมากกว่าหลายแสน - กล่าวคือเมื่อผู้ชมถูกล้อมรอบอย่างสมบูรณ์ด้วย (และสามารถเห็นบางส่วนของ) อาคารนับหมื่น :-)


ฉันได้ทำการสำรวจ sattelite แล้วและได้คำนวณความสูงของอาคารและระยะห่างระหว่างพวกเขาฉันจะใช้ข้อมูลนั้นเพื่อคำนวณเปอร์เซ็นต์ท้องฟ้าที่มองเห็นได้ตามที่ฉันยืนอยู่ได้อย่างไร และถ้าเป็นไปได้คุณสามารถแสดงตัวอย่างได้ฉันควรเขียนสิ่งนี้ตั้งแต่แรกขออภัย

@chris มันก็โอเคที่จะแก้ไขคำถามเดิมของคุณ เพียงระบุว่าคุณได้ปรับเปลี่ยนคำถามด้านใดเพื่อให้ผู้คนเข้าใจบริบทของคำตอบและความคิดเห็นที่มีอยู่
whuber

คุณอาจต้องการให้ชัดเจนยิ่งขึ้นว่าจำเป็นต้องมีขั้นตอนการรวมกลุ่มหลังจากการฉายภาพเพื่อป้องกันไม่ให้เครื่องบดเคี้ยวซ้อนกันซ้ำซ้อน?
Dan S.

@ ด่านคำว่า "ยูเนี่ยน" อยู่ในต้นฉบับในขั้นตอนที่ 1 :-)
whuber

@whuber ดังนั้นมันคือ; ฉันคิดว่าความคิดเห็นของฉันเข้ามาก่อนการแก้ไขของคุณ อาจเป็นเพราะการขาดแคลนคาเฟอีนอย่างรุนแรงเมื่อวานนี้
Dan S.

5

ต่อไปนี้เป็นคำตอบที่มาจากโลกคอมพิวเตอร์กราฟิกส์มากกว่า GIS - นี่คือคำอธิบายของอัลกอริทึมมากกว่าคำแนะนำสำหรับเครื่องมือที่จะใช้

คำจำกัดความ: รังสีเป็นจุดกำเนิด + ทิศทาง มันเป็นเส้นที่เริ่มต้นที่จุดกำเนิดและยังคงไม่มีที่สิ้นสุดตามทิศทางนั้น

คุณต้องการส่วนผสมพื้นฐานดังต่อไปนี้:

  • ความสามารถในการทดสอบเพื่อดูว่ารังสีที่ให้มากระทบกับพื้นดินหรือไม่

  • ความสามารถในการทดสอบเพื่อดูว่ารังสีที่ให้มากระทบกับอาคารหรือไม่

  • ข้อมูลทั้งหมดของคุณ (สิ่งปลูกสร้างข้อมูลที่แสดงถึงพื้นดิน) ในพื้นที่พิกัดคาร์ทีเซียน 3 มิติ

สูตรที่แน่นอนสำหรับการทดสอบรังสีขึ้นอยู่กับว่าคุณเป็นตัวแทนของ "พื้นดิน" (ทรงกลมที่สมบูรณ์แบบภูมิประเทศหรือไม่) และ "อาคาร" (สี่เหลี่ยมผืนผ้าอัดเป็นรูปแบบ 3 มิติเต็มรูปแบบ) สำหรับรูปทรงเรขาคณิตที่เรียบง่ายพวกมันหาง่ายและใช้งานง่าย (เช่นค้นหา "จุดตัดเรย์ลูกบาศก์")

ไม่ว่าในกรณีใดคำตอบของ% การมองเห็นท้องฟ้าจากจุดหนึ่งนั้นเป็นเรื่องเล็กน้อย: ยิงแสงออกมาจำนวนมากพร้อมกับทิศทางแบบสุ่มจากจุดสอบถามของคุณ สัดส่วนของท้องฟ้าที่มองเห็นได้จากจุดทดสอบของคุณเท่ากับจำนวนรังสีที่ไม่ได้กระทบกับสิ่งปลูกสร้างหรือพื้นดิน

คำตอบนั้นไม่ถูกต้อง แต่คุณสามารถคำนวณได้ในระดับความแม่นยำที่ต้องการโดยเพียงเพิ่มรังสีเพิ่มเติม

ตามที่อธิบายไว้ข้างต้นไม่จำเป็นต้องเร็วมาก แต่มีตัวเพิ่มประสิทธิภาพที่มีเอกสารครบถ้วนขนาดใหญ่ที่คุณสามารถนำไปใช้ได้

(ฉันคาดหวังว่าสำหรับการคำนวณการมองเห็นท้องฟ้าในหลาย ๆ จุดและชุดข้อมูลอาคารเดียวกันวิธีนี้จะทำให้เกิดวิธีที่อิงการคัดแยกออกจากน้ำหลังจากเพิ่มดัชนีเชิงพื้นที่อย่างง่าย)


ปัญหาหลักคือความถูกต้องเพิ่มขึ้นเฉพาะกับรากที่สองของจำนวนรังสี ตัวอย่างเช่นถ้าร้อยละของท้องฟ้าเท่ากับ 50% คุณต้อง 100 รังสีเพื่อให้ได้ความแม่นยำ 5% (ซึ่งหมายความว่าคุณมีความมั่นใจ 95% ที่จะได้ภายใน + -10%) 10,000 รังสีที่จะได้ 0.5% 1,000,000 เพื่อรับ 0.05 %, (ตัวเลขสามหลัก) ฯลฯ
whuber

@ เมื่อฉันเห็นด้วย แต่ (1) สำหรับคำถามตามที่อธิบายไว้ความถูกต้องเกินหลักหรือสองคือเรื่องไร้สาระ 'และ (2) การสุ่มตัวอย่างแบบปรับตัวจะตกอยู่ใน "ร่างใหญ่ของการเพิ่มประสิทธิภาพเอกสารที่ดี" ฉันโบกมือ อดีต;) ไม่ว่าจะเป็นวิธีที่ "ดีที่สุด" นั้นเป็นสถานการณ์ที่ค่อนข้างแน่นอน
Dan S.

@Dan ตกลงการสุ่มตัวอย่างแบบปรับตัวเป็นความคิดที่ดี แต่วิธีการที่จะดำเนินการในทางปฏิบัติ? สมมติว่าคุณมี DEM และพูดว่ามีอาคารสองสามโหลในบริเวณใกล้เคียง อัลกอริทึมทำงานอย่างไรอย่างแม่นยำ? เป็นการยากที่จะจินตนาการว่าอัลกอริธึมที่มีประสิทธิภาพนั้นจะง่ายกว่าหรือแม่นยำกว่าการคำนวณท้องฟ้าแบบครอบคลุมโดยตรง
whuber

@ สิ่งที่ฉันจะตอบกลับในสองส่วน ... ข้อแรก: การสุ่มตัวอย่างแบบปรับตัวได้นั้นจะทำให้ลำเอียงมีความเป็นไปได้มากขึ้นที่พวกเขาจะให้ข้อมูลมากกว่า แนวทางที่เรียบง่ายมีประสิทธิภาพจะทำการสุ่มตัวอย่างเริ่มต้นที่สม่ำเสมอจากนั้นแบ่งย่อยแบบสุ่มซ้ำและคัดครึ่งช่องว่างที่ไม่สม่ำเสมอพอ คำตอบสุดท้าย = ค่าเฉลี่ยถ่วงน้ำหนักของตัวอย่าง (น้ำหนัก = พื้นที่ของพื้นที่ค้นหาที่มีตัวอย่าง)
Dan S.

เกี่ยวกับความแม่นยำ: การสุ่มตัวอย่างแบบปรับตัวได้หมายความว่าความแม่นยำนั้นยากที่จะให้เหตุผล คุณจะได้รับความแม่นยำพื้นฐานเช่นเดียวกับที่คุณได้จากตัวอย่างเครื่องแบบเริ่มต้นรวมทั้งความแม่นยำเพิ่มเติมที่ขึ้นอยู่กับเทคนิคการปรับตัวและขนาดของคุณสมบัติความถี่สูงในรูปทรงเรขาคณิตของฉาก อย่างไรก็ตามฉันเชื่อว่าในสถานการณ์ "โลกแห่งความจริง" คุณจะสามารถมาบรรจบกันเป็นข้อผิดพลาด% น้อยกว่าข้อมูลต้นฉบับได้อย่างรวดเร็ว
Dan S.

3

ปัจจัยมุมมองท้องฟ้า (SVF) ถูกกำหนดโดยส่วนหนึ่งของท้องฟ้าที่มองเห็นได้ (Ω) เหนือจุดสังเกตบางจุดตามที่เห็นจากการแสดงสองมิติ (ดูรูปที่) อัลกอริธึมคำนวณมุมเงยแนวตั้งของขอบฟ้าγiในทิศทาง n (แปดจะถูกนำเสนอที่นี่) ไปยังรัศมีที่ระบุ R (b)

คำจำกัดความปัจจัยมุมมองท้องฟ้า ปัจจัยมุมมองท้องฟ้าได้รับการเสนอเพื่อเอาชนะข้อเสียของเทคนิคการสร้างภาพข้อมูลที่มีอยู่ตัวอย่างเช่นปัญหาทิศทางการส่องสว่างในการวิเคราะห์เนินเขา

การวัดที่สะดวกที่สุดสำหรับแสดงส่วนของท้องฟ้าที่มองเห็นได้คือมุมทึบΩ นี่คือการวัดขนาดของวัตถุที่ปรากฏต่อผู้สังเกตการณ์ มุมที่เป็นของแข็งของวัตถุนั้นเป็นสัดส่วนกับพื้นที่ A ของการฉายภาพของวัตถุไปยังทรงกลมสามัคคีซึ่งอยู่กึ่งกลางที่จุดสังเกต

SVF มีช่วงระหว่าง 0 และ 1 ค่าใกล้เคียงกับ 1 หมายถึงเกือบจะมองเห็นทั้งซีกโลกซึ่งเป็นกรณีของคุณลักษณะที่เปิดเผย (ระนาบและยอดเขา) ในขณะที่ค่าใกล้ 0 มีอยู่ในอ่างลึกและส่วนล่างของหุบเขาลึกจาก มองไม่เห็นท้องฟ้า SVF เป็นปริมาณจริง (ถ้าเราไม่จัดการข้อมูลระดับความสูงโดยการขยายเกินตามแนวตั้ง)

ในฐานะที่เป็น @mic_cord ชี้ให้เห็นว่ามีกระดาษที่เผยแพร่ในการสร้างภาพข้อมูลด้วย SVF ใน Remote Sensing 2011, 3 (2), 398-415; ดอย: 10.3390 / rs3020398

เครื่องมือฟรีสำหรับการคำนวณ SVF (และอื่น ๆ ) มีให้ที่ http://iaps.zrc-sazu.si/en/rvt#v


+1 ภาพประกอบและการอ้างอิงเพิ่มความชัดเจนและสิทธิอำนาจในการโพสต์แรกของคุณที่นี่ ยินดีต้อนรับสู่เว็บไซต์ของเรา!
whuber

2

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


นักวิเคราะห์พลังงานแสงอาทิตย์ของ ESRI? (มันทำงานได้โดยการสร้างกริดของท้องฟ้าที่ฉายแล้วสรุปกริด)
whuber

1
ฉันคิดว่ามันเหมาะสำหรับพืชผักเท่านั้นและไม่ได้พิจารณาการบดบังอาคาร ฯลฯesri.com/software/arcgis/extensions/spatialanalyst/solar.htmlไฟล์ความช่วยเหลือกล่าวถึงการพิจารณาภูมิประเทศ แต่ไม่ใช่สิ่งปลูกสร้างเช่น: ช่วย arcgis.com/th/arcgisdesktop/10.0/help/index.html#/…
djq

อาคาร (อย่างน้อยพวกที่ไม่มีที่แขวนอยู่) สามารถ "เผาเป็น" กริดได้อย่างง่ายดาย นั่นอาจไม่ใช่วิธีที่มีประสิทธิภาพในการดำเนินการเพราะคุณต้องการเซลล์ขนาดเล็ก (และนักวิเคราะห์พลังงานแสงอาทิตย์มีข้อ จำกัด ของตัวเอง ... ) ฉันแค่คิดว่าคุณอาจจะคิดถึงมัน
whuber

@ เมื่อฉันคิดเกี่ยวกับการเปิดรับแสงอาทิตย์มากขึ้น (เช่นบริเวณที่หันหน้าไปทางทิศใต้) ฉันคิดว่าการคำนวณจะพิจารณาเฉพาะพื้นที่เซลล์กริดเท่านั้นและไม่ใช่ 'วอลล์' (พิกเซลแทนที่จะเป็น voxels อาจเป็นอีกวิธีหนึ่งในการอธิบาย)
djq

2

ใน GRASS GIS เวอร์ชัน 7 (จริง ๆ แล้วไม่เสถียร) มีคำสั่งr.skyview (ขึ้นอยู่กับคำสั่งr.horizonซึ่งมีอยู่ใน GRASS v.6 ที่เสถียรด้วย)

มันอ่านภาพแรสเตอร์ที่เป็นตัวแทนของรูปแบบภูมิประเทศที่มีค่าพิกเซลที่สอดคล้องกับความสูงของคุณลักษณะภูมิประเทศ (เช่นอาคารสูง) และคำนวณสำหรับแต่ละพิกเซล "ปัจจัย skyview"

คุณต้องแปลงข้อมูลของคุณก่อน (รูปแบบที่ไม่รู้จัก) เป็นชุดข้อมูลแบบแรสเตอร์

ดู:

http://grass.osgeo.org/grass70/manuals/addons/r.skyview.html

http://www.mdpi.com/2072-4292/3/2/398

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