ความแม่นยำประมาณว่าโลกเป็นทรงกลมได้อย่างไร


63

ฉันพบข้อผิดพลาดระดับใดเมื่อประมาณโลกเป็นทรงกลม โดยเฉพาะอย่างยิ่งเมื่อต้องจัดการกับตำแหน่งของจุดและตัวอย่างเช่นระยะทางวงกลมใหญ่ระหว่างพวกเขา

มีการศึกษาใด ๆ เกี่ยวกับค่าเฉลี่ยและข้อผิดพลาดกรณีที่แย่ที่สุดเมื่อเทียบกับทรงรี? ฉันสงสัยว่าความแม่นยำเท่าไรที่ฉันจะเสียสละถ้าฉันไปกับทรงกลมเพื่อการคำนวณที่ง่ายขึ้น

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


คุณสนใจแบบจำลองทรงกลมหรือสนใจแบบจำลองทรงรีหรือไม่? ฉันจินตนาการว่าจำนวนข้อผิดพลาดจะแตกต่างกันอย่างมากระหว่างทรงกลมและวงรี
Jay Laura

2
การวิเคราะห์ที่เกี่ยวข้องปรากฏขึ้นในการตอบกลับนี้ เพื่อให้ได้คำตอบสำหรับคำถามของคุณคุณต้องระบุว่าโลกประมาณเป็นทรงกลมได้อย่างไร มีการใช้งานการประมาณจำนวนมาก พวกเขาทั้งหมดจะเท่ากับการให้ฟังก์ชั่น f '= u (f, l) และ l' = v (f, l) โดยที่ (f, l) เป็นพิกัดทางภูมิศาสตร์ของทรงกลมและ (f ', l') เป็นพิกัดทางภูมิศาสตร์ของ ทรงรี ดูมาตรา 1.7 ( "การเปลี่ยนแปลง ... ของทรงรีของการปฏิวัติลงบนพื้นผิวของทรงกลม") ใน Bugayevskiy & ไนเดอร์ประมาณการแผนที่, A คู่มืออ้างอิง Taylor & Francis [1995]
whuber

สิ่งนี้คล้ายกับการถกเถียงในช่วงต้นของการประมาณการของ Google / Bing EPSG 900913 (ซึ่งใช้พิกัด WGS84 แต่ทำโครงการราวกับว่าพวกเขาอยู่บนทรงกลม) และข้อผิดพลาดอาจเป็นสาเหตุของ EPSG เริ่มปฏิเสธการคาดการณ์จนกระทั่งเริ่มกดดันจากนักพัฒนา โดยไม่ต้องการเบี่ยงเบนความสนใจของคุณมากเกินไปการติดตามการอภิปรายบางอย่างสามารถเพิ่มความกว้างเพิ่มเติมให้กับข้อมูลในลิงก์ที่ยอดเยี่ยมซึ่งจัดทำโดย whuber
MappaGnosis

@ Jzl5325: ใช่ฉันหมายถึงทรงกลมที่เข้มงวดและไม่ใช่รูปวงรีแก้ไขคำถามเพื่อให้บริบทเพิ่มเติมอีกเล็กน้อยเช่นกัน
Jeff Bridgman

1
ฉันคิดว่าคุณควรอ่านสิ่งนี้: en.wikipedia.org/wiki/Haversine_formula
longtsing

คำตอบ:


83

ในระยะสั้นระยะทางอาจผิดพลาดได้มากถึง 22 กม. หรือ 0.3% ขึ้นอยู่กับจุดที่สงสัย นั่นคือ:

  • ข้อผิดพลาดสามารถแสดงได้หลายวิธีตามธรรมชาติและมีประโยชน์เช่นข้อผิดพลาด (i) (ส่วนที่เหลือ) เท่ากับความแตกต่างระหว่างระยะทางคำนวณทั้งสอง (เป็นกิโลเมตร) และ (ii) ข้อผิดพลาดสัมพัทธ์เท่ากับความแตกต่างหารด้วย ค่า "ถูกต้อง" (รูปวงรี) ตัวเลขการผลิตที่สะดวกในการทำงานร่วมกับผมคูณอัตราส่วนเหล่านี้ด้วย 1000 ที่จะแสดงความผิดพลาดในส่วนต่อพัน

  • ข้อผิดพลาดขึ้นอยู่กับจุดสิ้นสุด เนื่องจากสมมาตรการหมุนของทรงรีและทรงกลมและสมมาตรทวิภาคี (เหนือ - ใต้และตะวันออก - ตะวันตก) ของพวกเขาเราอาจวางจุดปลายอันใดจุดหนึ่งที่จุดกึ่งกลาง (ลองจิจูด 0) ในซีกโลกเหนือ (ละติจูดระหว่าง 0 ถึง 90 ) และปลายทางอื่น ๆ ในซีกโลกตะวันออก (ลองจิจูดระหว่าง 0 ถึง 180)

ในการสำรวจการพึ่งพาเหล่านี้ฉันได้วางแผนข้อผิดพลาดระหว่างจุดปลายที่ (lat, lon) = (mu, 0) และ (x, lambda) เป็นฟังก์ชันของละติจูด x ระหว่าง -90 ถึง 90 องศา (ทุกจุดมีชื่ออยู่ที่ความสูงของทรงรีที่เป็นศูนย์) ในตัวเลขแถวนั้นสอดคล้องกับค่าของ mu ที่ {0, 22.5, 45, 67.5} องศาและคอลัมน์กับค่าของแลมบ์ดาที่ {0, 45, 90, 180} องศา สิ่งนี้ทำให้เรามีมุมมองที่ดีเกี่ยวกับสเปกตรัมของความเป็นไปได้ ตามที่คาดไว้ขนาดสูงสุดของพวกเขาอยู่ที่ประมาณแบน (ประมาณ 1/300) เท่าแกนหลัก (ประมาณ 6700 กม.) หรือประมาณ 22 กม.

ข้อผิดพลาด

ข้อผิดพลาดที่เหลือ

ข้อผิดพลาดญาติ

ข้อผิดพลาดญาติ

พล็อต Contour

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

พล็อต Contour

การอ่านง่ายขึ้นเมื่อพันรอบโลก:

พล็อตลูกโลก

จุดสีแดงทางใต้ของฝรั่งเศสแสดงตำแหน่งของจุดปลายแรก

สำหรับบันทึกนี่คือรหัสMathematica 8 ที่ใช้สำหรับการคำนวณ:

WGS84[x_, y_] := GeoDistance @@ (GeoPosition[Append[#, 0], "WGS84"] & /@ {x, y});
sphere[x_, y_] := GeoDistance @@
   (GeoPosition[{GeodesyData["WGS84", {"ReducedLatitude", #[[1]]}], #[[2]], 0}, "WGS84"] & /@ {x, y});

และหนึ่งในคำสั่งการวางแผน:

With[{mu = 45}, ContourPlot[(sphere[{mu, 0}, {x, y}] - WGS84[{mu, 0}, {x, y}]) / 1000, 
                   {y, 0, 180}, {x, -90, 90}, ContourLabels -> True]]

23
ช่างเป็นคำตอบที่แย่จริงๆ @whuber
Ragi Yaser Burhum

21

ฉันได้สำรวจคำถามนี้เมื่อเร็ว ๆ นี้ ฉันคิดว่าคนอยากรู้

  1. ฉันควรใช้รัศมีทรงกลมแบบใด
  2. ข้อผิดพลาดที่เกิดขึ้นคืออะไร?

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

err = |s_sphere - s_ellipsoid| / s_ellipsoid

กับการประเมินสูงสุดในทุกจุดที่เป็นไปได้

หากแบนราบ f มีขนาดเล็กรัศมีทรงกลมซึ่งย่อความผิดพลาดน้อยที่สุดจะอยู่ใกล้กับ (a + b) / 2 และข้อผิดพลาดที่ได้คือ

err = 3*f/2 = 0.5% (for WGS84)

(ประเมินด้วย 10 ^ 6 คะแนนที่สุ่มเลือก) บางครั้งก็แนะนำให้ใช้ (2 * a + b) / 3 เป็นรัศมีทรงกลม ซึ่งส่งผลให้เกิดข้อผิดพลาดที่ใหญ่กว่าเล็กน้อย err = 5 * f / 3 = 0.56% (สำหรับ WGS84)

Geodesics ที่ความยาวประมาณต่ำสุดโดยการประมาณทรงกลมนั้นอยู่ใกล้กับขั้วโลกเช่น (89.1,0) ถึง (89.1,180) Geodesics ที่มีความยาวมากที่สุดโดยการประมาณทรงกลมนั้นมีความยาวใกล้กับเส้นศูนย์สูตรเช่น (-0.1,0) ถึง (0.1,0)

เพิ่ม : นี่เป็นอีกวิธีหนึ่งในการเข้าถึงปัญหานี้

เลือกคู่ของจุดกระจายที่สม่ำเสมอบนทรงรี วัดระยะทางรูปวงรีsและระยะทางในหน่วยทรงกลมตัน สำหรับคะแนนคู่ใด ๆs / tให้รัศมีทรงกลมที่เท่ากัน หาค่าเฉลี่ยปริมาณนี้กับคู่ของคะแนนทั้งหมดและนี่จะให้รัศมีทรงกลมเท่ากับค่าเฉลี่ย มีคำถามที่ว่าควรทำค่าเฉลี่ยอย่างไร อย่างไรก็ตามตัวเลือกทั้งหมดที่ฉันลอง

1. <s>/<t>
2. <s/t>
3. sqrt(<s^2>/<t^2>)
4. <s^2>/<s*t>
5. <s^2/t>/<s>

ทั้งหมดออกมาภายในไม่กี่เมตรจากรัศมีเฉลี่ย IUGG ที่แนะนำ, R 1 = (2 a + b ) / 3 ดังนั้นค่านี้จะลดข้อผิดพลาด RMS ในการคำนวณระยะทางทรงกลม (อย่างไรก็ตามมันส่งผลให้เกิดข้อผิดพลาดสัมพัทธ์สูงสุดที่ใหญ่กว่าเล็กน้อยเมื่อเทียบกับ ( a + b ) / 2; ดูด้านบน) เนื่องจากR 1มีแนวโน้มที่จะใช้สำหรับวัตถุประสงค์อื่น ๆ (การคำนวณพื้นที่และสิ่งอื่น ๆ ) มีเหตุผลที่ดี ติดกับตัวเลือกนี้สำหรับการคำนวณระยะทาง

บรรทัดล่าง :

  • สำหรับชนิดของการทำงานเป็นระบบใด ๆ ที่คุณสามารถทนต่อข้อผิดพลาด 1% ในการคำนวณระยะทางที่ใช้รูปทรงกลมของรัศมีR 1 ข้อผิดพลาดสัมพัทธ์สูงสุดคือ 0.56% ใช้ค่านี้อย่างสม่ำเสมอเมื่อคุณประมาณโลกด้วยทรงกลม
  • คุณต้องการความแม่นยำเพิ่มเติมเพื่อแก้ปัญหาทางธรณีวิทยาเชิงวงรี
  • สำหรับการกลับมาของการคำนวณซองจดหมายใช้R 1หรือ 6400 กิโลเมตรหรือ 20000 / ปี่กิโลเมตรหรือ ส่งผลให้เกิดข้อผิดพลาดสัมพัทธ์สูงสุดประมาณ 1%

ภาคผนวกเพิ่มเติม : คุณสามารถบีบความแม่นยำเพิ่มขึ้นเล็กน้อยจากระยะทางวงกลมใหญ่โดยใช้μ = tan −1 ((1 - f ) 3/2 tan () (ละติจูดที่แก้ไขของคนจน) เป็นละติจูดในการคำนวณวงกลมใหญ่ สิ่งนี้จะช่วยลดข้อผิดพลาดสัมพัทธ์สูงสุดจาก 0.56% เป็น 0.11% (ใช้R 1เป็นรัศมีของทรงกลม) (ยังไม่ชัดเจนว่ามันคุ้มค่าหรือไม่ที่จะใช้วิธีการนี้เมื่อเทียบกับการคำนวณระยะทางเนื้อที่ทรงรีวงรีโดยตรง

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