คำถามติดแท็ก spherical-geometry

เรขาคณิตทรงกลมคือรูปทรงเรขาคณิตของพื้นผิวสองมิติของทรงกลม

5
อัลกอริทึมสำหรับการชดเชยละติจูด / ลองจิจูดด้วยจำนวนเมตร
ฉันกำลังมองหาอัลกอริทึมซึ่งเมื่อได้รับละติจูดและลองจิจูดคู่และการแปลเวกเตอร์เป็นเมตรในพิกัดคาร์ทีเซียน (x, y) จะให้พิกัดใหม่กับฉัน จัดเรียงของเช่น Haversine ย้อนกลับ ฉันยังสามารถทำงานกับระยะทางและการแปลงหัวเรื่องได้ แต่นี่อาจจะช้ากว่าและไม่แม่นยำ ในอุดมคติแล้วอัลกอริทึมควรจะรวดเร็วเมื่อฉันทำงานกับระบบฝังตัว ความแม่นยำไม่ใช่เรื่องสำคัญภายในระยะ 10 เมตรก็น่าจะดี

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

1
การคำนวณความยาวลองจิจูดเป็นไมล์
สมมติว่าฉันมีพิกัดทางภูมิศาสตร์ของ "Saratoga, California, USA" เป็น Latitude: 37°15.8298′ N Longitude: 122° 1.3806′ W ฉันรู้จากที่นี่ว่าในกรณีของละติจูด1° ≈ 69 milesและลองจิจูดนั้นแตกต่างกันไป: 1° longitude = cosine (latitude) * length of degree (miles) at equator. วิธีการหลายไมล์ 1 °เส้นแวงที่longitude: 122°1.3806′ W?

6
ทำไมเส้นทาง 'เส้นตรง' ข้ามทวีปจึงโค้งงอ
นี้เป็นผลจากการทำแผนที่เส้นทางเส้นตรงจากจุดในสหรัฐกับโปแลนด์โดยใช้เครื่องมือการวัดระยะ นอกจากนี้เครื่องบินจากเอเชียไปยังสหรัฐอเมริกาจะเดินทางเกือบข้ามขั้วโลกเหนือ ทำไมเส้นทางโค้งงอ ฉันยอมรับว่านี่เป็นตัวแทนของทรงกลมแบนดังนั้นฉันคาดว่าจะมีส่วนโค้ง แต่ฉันไม่คิดว่าโลกจะมีความโค้งมากขนาดนี้ สิ่งที่ฉันหายไปที่นี่?

7
คำนวณไมล์ / ลองจิจูด X จากจุดหรือไม่
ฉันต้องการค้นหาละติจูดและลองจิจูดโดยให้ระยะทางและละติจูดและลองจิจูดเริ่มต้น สิ่งนี้ดูเหมือนจะตรงกันข้ามกับคำถามนี้ ( ระยะห่างระหว่างจุดละติจูด / ลองจิจูด ) ฉันได้ตรวจสอบสูตรแฮเวอรีนแล้วและคิดว่ามันใกล้เคียงกับโลกมากพอสมควร ฉันสมมติว่าฉันต้องแก้สูตรแฮเวอรีนสำหรับ lat / long ที่ไม่รู้จักของฉันถูกต้องหรือไม่ มีเว็บไซต์ที่ดีที่พูดถึงเรื่องแบบนี้บ้างไหม? ดูเหมือนว่าจะเป็นเรื่องปกติ แต่ googling ของฉันมีคำถามที่คล้ายกับคำถามข้างต้นเท่านั้น สิ่งที่ฉันกำลังมองหาจริงๆเป็นเพียงสูตรสำหรับสิ่งนี้ ฉันต้องการให้ lat / lng เริ่มต้นการแบกและระยะทาง (ไมล์หรือกิโลเมตร) และฉันต้องการออกจากมันเป็นคู่ lat / lng ที่แสดงถึงสถานที่ที่พวกเขาจะเดินทางไปด้วยกัน เส้นทางนั้น

3
ทำไมกฎแห่งโคไซน์จึงเป็นที่นิยมมากกว่า Haversine เมื่อคำนวณระยะทางระหว่างจุดละติจูด - ลองจิจูดสองจุด
ในความเป็นจริงเมื่อ Sinnott เผยแพร่สูตร haversine ความแม่นยำในการคำนวณมี จำกัด ทุกวันนี้ JavaScript (และคอมพิวเตอร์และภาษาที่ทันสมัยที่สุด) ใช้เลขทศนิยมแบบ 64 บิตของ IEEE 754 ซึ่งให้ความแม่นยำ 15 ตัวเลขที่สำคัญ ด้วยความแม่นยำนี้กฎหมายทรงกลมเรียบง่าย ของสูตรโคไซน์ ( cos c = cos a cos b + sin a sin b cos C) ให้ผลลัพธ์ที่มีสภาพดีไปจนถึงระยะทางที่มีขนาดเล็กเพียงประมาณ 1 เมตร ในมุมมองนี้มันอาจจะคุ้มค่าในสถานการณ์ส่วนใหญ่โดยใช้กฎที่เรียบง่ายของโคไซน์หรือสูตรรูปไข่ทรงรีที่แม่นยำยิ่งขึ้นเพื่อใช้กับแฮเวอร์ซีน! (โปรดจำไว้ว่าข้อ จำกัด ด้านความแม่นยำของแบบจำลองทรงกลมด้านล่าง) ที่มา: http://www.movable-type.co.uk/scripts/latlong.html ทำไมกฎโคไซน์จึงเป็นที่นิยมมากกว่า? หมายเหตุ:ข้อความที่ยกมาได้รับการปรับปรุงโดยผู้เขียนดังกล่าวข้างต้น

3
อะไรคือข้อผิดพลาดโดยประมาณของสูตรทฤษฎีบทพีทาโกรัสกับทฤษฎีฮาวาซีนในการวัดระยะทางบนทรงกลมในระดับต่างๆ
หลายคนเมื่อพยายามคำนวณระยะทางระหว่างคู่ลองจิจูด / ละติจูดสองคู่ถามว่าทฤษฎีบทพีทาโกรัสทำงานเป็นฟังก์ชันระยะทางที่เหมาะสมหรือไม่ คนส่วนใหญ่มักตอบว่า "ไม่ทฤษฎีบทพีทาโกรัสทำงานบนระนาบแบบยุคลิดแบบ 2D เท่านั้น" อย่างไรก็ตามคนแทบจะไม่พูดถึงผลกระทบของขนาดและที่ตั้งบนทรงกลมว่าเป็นทฤษฎีบทพีทาโกรัสที่ไม่ถูกต้องอย่างไร แนวคิดพื้นฐานที่มีขนาดเล็กมากพื้นผิวของทรงกลมดูเหมือนเครื่องบิน ในระดับที่มีขนาดใหญ่มากมันมีระยะทางตามพื้นผิวโค้งมากขึ้นดังนั้นความแตกต่างระหว่างทฤษฎีบทพีทาโกรัสที่ไม่ถูกต้องและสูตรฮาวาซีนที่ถูกต้องยิ่งใหญ่กว่า ไม่มีใครรู้สูตรหรือกฎง่ายๆที่บอกคุณถึงความแตกต่างระหว่างการวัดระยะทางสองแบบตามระดับของระยะทางที่คุณพยายามวัด ฉันคิดว่าการมีสิ่งนี้อย่างชัดเจนจะช่วยใน: อธิบายว่าทำไมทฤษฎีบทพีทาโกรัสจึงไม่สมบูรณ์แบบ และ ในการปล่อยให้คนที่กำลังมองหาระยะทาง "หยาบ" มากขึ้นรู้ว่าเมื่อใดพีธากอรัสจะตอบสนองวัตถุประสงค์ของพวกเขา

6
กำลังคำนวณจุดตัดของสองวง?
ฉันพยายามหาวิธีการหาจุดร่วมของวงกลมสองวงบนพื้นผิวโลกด้วยวิธีทางคณิตศาสตร์โดยให้ละติจูด Lat / Lon เป็นศูนย์กลางและรัศมีของแต่ละจุด ตัวอย่างเช่นกำหนด: Lat / Lon (37.673442, -90.234036) รัศมี 107.5 NM Lat / Lon (36.109997, -90.953669) รัศมี 145 NM ฉันควรหาจุดตัดกันสองจุดโดยหนึ่งในนั้นคือ (36.948, -088.158) มันง่ายมากที่จะแก้ปัญหานี้บนระนาบราบ แต่ฉันไม่มีประสบการณ์ใด ๆ ในการแก้สมการบนทรงกลมที่ไม่สมบูรณ์เช่นพื้นผิวโลก

2
กำลังคำนวณการบิดเบือนที่อยู่นอกเขต UTM หรือไม่
หนึ่งในเพื่อนร่วมงานของฉันกำลังทำงานกับข้อมูลที่แผ่กระจายไปทั่วทั้งสองโซน UTM ข้อมูลส่วนใหญ่อยู่ในโซนเดียวโดยมีค่าผิดปกติเล็กน้อยในโซนอื่น เขาต้องการทราบว่าการบิดเบือนพื้นที่ของผู้ผิดเพี้ยนนั้นเป็นอย่างไรหากอยู่ในโซน UTM หลัก มีสูตรคำนวณความเพี้ยนที่รู้ว่าอยู่ในโซน UTM อื่น ๆ หรือไม่?

6
การแปลง lat / หมุนที่หมุนด้วยตนเองเป็น lat / lon ปกติหรือไม่
ก่อนอื่นฉันควรชี้แจงว่าฉันไม่เคยมีประสบการณ์มาก่อนในสาขานี้ดังนั้นฉันจึงไม่ทราบคำศัพท์ทางเทคนิค คำถามของฉันมีดังนี้: ฉันมีชุดข้อมูลสภาพอากาศสองชุด: คนแรกมีระบบพิกัดปกติ (ฉันไม่รู้ว่ามันมีชื่อเฉพาะ) ตั้งแต่ -90 ถึง 90 และ -180 ถึง 180 และเสาอยู่ที่ละติจูด -90 และ 90 ในครั้งที่สองแม้ว่ามันควรจะตรงกับภูมิภาคเดียวกันฉันสังเกตเห็นบางสิ่งที่แตกต่าง: ละติจูดและลองจิจูดไม่เหมือนกันเนื่องจากมีจุดอ้างอิงอื่น(ในคำอธิบายเรียกว่ากริดหมุน ) พร้อมกับคู่ lat / lon มาข้อมูลต่อไปนี้: lat ขั้วโลกใต้: -35.00, lon pole ใต้: -15.00, มุม: 0.0 ฉันต้องเปลี่ยนคู่ที่สองของ lon / lat เป็นคู่แรก มันอาจจะง่ายเหมือนการบวก 35 กับละติจูดและ 15 กับลองจิจูดเนื่องจากมุมเป็น 0 และดูเหมือนว่าจะเปลี่ยนได้ง่าย แต่ฉันไม่แน่ใจ แก้ไข: ข้อมูลที่ฉันมีเกี่ยวกับพิกัดมีดังต่อไปนี้ http://rda.ucar.edu/docs/formats/grib/gribdoc/llgrid.html …

3
อัลกอริทึมเพื่อค้นหาจุดที่ใกล้ที่สุด
ฉันมีรายชื่อเมืองสองสามร้อยแห่งที่มีละติจูด / ลองจิจูดของพวกเขา ได้รับตำแหน่งอื่น (เช่น lat / long) ฉันต้องการค้นหาเมืองที่ใกล้ที่สุด ขณะที่ฉันไม่ได้ใช้ GIS ใด ๆ ตอนนี้อัลกอริทึมที่ชัดเจนคือการวนรอบเมืองทั้งหมดคำนวณระยะทางระหว่างจุด การทำลูปนั้นเป็นสิ่งที่ปฏิบัติได้จริงสำหรับฉัน แต่มีวิธีง่าย ๆ ในการใช้อัลกอริทึมเพื่อให้บรรลุผลนั้นมีประสิทธิภาพมากขึ้นหรือไม่ หรือไลบรารี่ไลต์บางตัวที่สามารถช่วยแก้ปัญหานั้นได้? หมายเหตุ : ฉันไม่ต้องการ / ต้องการโซลูชัน GIS ที่สมบูรณ์หรือไลบรารีที่หนัก / ซับซ้อน ฉันชอบโซลูชันที่ดีน้อยกว่า แต่ง่ายและเบากว่าเพราะนั่นเป็นสิ่งเดียวที่ฉันต้องแก้

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

1
เส้นวงกลมขนาดใหญ่ในการฉายภาพ Equirectangular
เพียงเพื่อตรวจสอบว่าฉันอยู่ในเส้นทางที่ถูกต้อง: วงกลมใหญ่ทั้งหมดอยู่ในทรงกลมและในการฉายภาพทางอ้อม (เช่นละติจูด, ลองจิจูดคู่): เส้นเมอริเดียน (เช่นไปขั้วโลก) ของแบบฟอร์ม tan latitude = sin360(longitude + rotation) * amplitude + offset (ด้วยข้อ จำกัด เพิ่มเติมเกี่ยวกับการรวมกันของออฟเซ็ต / แอมพลิจูด - เห็นได้ชัดว่าเส้นทางวงกลมที่ยิ่งใหญ่ทั้งหมดที่มีแอมพลิเคชั่น 0 ยังมีออฟเซต 0 - เส้นศูนย์สูตรด้วย) หรือมีเส้นทางวงกลมขนาดใหญ่ที่ไม่เหมาะกับรูปแบบนี้ (อีกครั้งเฉพาะในระบบพิกัดละติจูด - ลองจิจูดไม่ใช่บนแผนที่อื่น ๆ ) หมายเหตุ: ฉันได้เพิ่มtanข้างต้นหลังจากโพสต์คำถามในการตอบสนองต่อการตอบที่ดีเยี่ยม whubers ปรากฎว่าoffsetเป็น 0 เสมอ

1
จุดสุ่มตัวอย่างตามแนวชายฝั่งที่มีการพันเสาด้วย PostGIS
ฉันกำลังทำงานที่ต้องให้ฉันได้รับคะแนนตัวอย่างทุก ๆ 1,000 กม. ตามแนวชายฝั่งและพบปัญหากับแอนตาร์กติกา จากสิ่งที่ฉันสามารถบอกได้ดูเหมือนว่าจะมีปัญหากับการใช้รูปทรงเรขาคณิตในฟังก์ชั่นเมื่อฉันคิดว่าควรจะใช้ภูมิศาสตร์สำหรับการดำเนินการนี้ การใช้ฟังก์ชั่นจากคำถามที่คล้ายกันอย่างนี้ผมก็สามารถที่จะผลิตผลที่มีลักษณะเช่นนี้ อย่างที่คุณเห็นST_AddMeasure()และST_LocateAlong()ไม่ดูเหมือนว่าจะรักษารูปทรงกลมซึ่งส่งผลให้มีหลายจุดที่อยู่บนขั้วโลกใต้ มีการเพิ่มจุดบนคลิปตามบรรทัดวันที่ (ด้านซ้าย) ตามเอกสารของทั้งสองฟังก์ชั่นสามารถใช้รูปทรงเรขาคณิตเท่านั้น รหัสที่ใช้ในการสร้างรูปหลายเหลี่ยมและจุดสามารถพบได้ที่นี่แต่นี่คือ SQL ที่ใช้ในการสร้างคะแนน: CREATE TABLE atest AS WITH line AS (SELECT id, ST_ExteriorRing((ST_Dump(geom)).geom) AS geom FROM line_sample_test), linemeasure AS (SELECT ST_AddMeasure(line.geom, 0, (ST_Length(line.geom))::int) AS linem, generate_series(0, (ST_Length(line.geom))::int, 10) AS i FROM line), geometries AS ( SELECT i, ST_LocateAlong(linem, i) …

2
การคำนวณรูปหลายเหลี่ยม centroid ทรงกลม
ฉันต้องการวิธีทั่วไปในการคำนวณเซนทรอยด์สำหรับรูปหลายเหลี่ยมบนทรงกลม จนถึงตอนนี้การอ้างอิงออนไลน์ที่ดีที่สุดดูเหมือนจะเป็น: เครื่องมือสำหรับกราฟิกและรูปร่างโดย Jeff Jenness วิธีดังกล่าวอธิบายว่ามีการย่อยสลายรูปหลายเหลี่ยมเป็นรูปสามเหลี่ยมหลายทรงกลมและคำนวณค่าเฉลี่ยของรูปสามเหลี่ยมทรงกลม centroids ถ่วงน้ำหนักด้วยพื้นที่สามเหลี่ยมทรงกลม ฉันรู้ว่ามีหลายวิธีในการกำหนดรูปหลายเหลี่ยม centroid ทรงกลม แต่ฉันกำลังมองหาสิ่งที่คล้ายกับคำจำกัดความต่อไปนี้สำหรับจุดและ polylines: คะแนน : ค่าเฉลี่ยเลขคณิตของเวกเตอร์คาร์ทีเซียนที่เป็นตัวแทนของคะแนน Polylines : ค่าเฉลี่ยถ่วงน้ำหนักของเวกเตอร์คาร์ทีเซียนซึ่งเป็นจุดกึ่งกลางของแต่ละส่วนของเส้นโดยถ่วงน้ำหนักด้วยความยาว (ทรงกลม) ของแต่ละส่วน ดูเหมือนว่ามีความต่อเนื่องที่สมเหตุสมผลในการกำหนดรูปหลายเหลี่ยม centroids เป็นค่าเฉลี่ยถ่วงน้ำหนักของการสลายตัวแบบสามเหลี่ยมซึ่งแบ่งตามพื้นที่ คำถามของฉันคือว่าวิธีการในการอ้างอิงข้างต้นจะทำงานโดยไม่คำนึงถึงการสลายตัวของสามเหลี่ยมที่ใช้ โดยเฉพาะอย่างยิ่งมันกล่าวถึงการย่อยสลายเป็นรูปสามเหลี่ยมเมื่อเทียบกับจุดโดยพลการแม้ภายนอกของรูปหลายเหลี่ยมเช่นว่ารูปสามเหลี่ยมบางส่วนจะมีพื้นที่เชิงลบที่มีน้ำหนักเชิงลบ ที่เกี่ยวข้อง: วิธีค้นหาจุดศูนย์กลางของเรขาคณิตของวัตถุได้อย่างไร

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