سؤال

لدي مجموعة من النقاط تبدأ من (0،0،0) ترسم مسارًا تسلكه السيارة بشكل ثلاثي الأبعاد حيث تمثل كل نقطة المسافة المقطوعة في البعد الخاص بها.أحتاج إلى القيام بشيئين

  1. دع (0،0،0) تشير إلى خط الطول وخط العرض.كيف يمكنني تحويل مجموعة النقاط ثلاثية الأبعاد إلى ما يعادلها في خطوط الطول والعرض؟
  2. قم بتخطيطه إطارًا بإطار (مع تأخير بحيث يكون قابلاً للاستخدام في مقطع فيديو) على خرائط Google/Earth/أي شيء آخر

أي اقتراحات؟

يحرر:الآن أصبح التخطيط ممكنًا ولم يتم التحويل بفضل ديفيد

هل كانت مفيدة؟

المحلول

سيكون من السهل استخدام JavaScript لتحريك النقاط التي تتحرك على خريطة Google في متصفحك.لست متأكدًا من نوع الفيديو الذي تحاول الحصول عليه، رغم ذلك.

تحتوي خرائط Google أيضًا على طريقة واجهة برمجة التطبيقات (API) التي ستعرض خريطة مع رسم المسار الخاص بك على الخريطة.يمكنك أن ترى في هذا الشأن هنا في أسفل الصفحة.

نصائح أخرى

بالنسبة لبرنامج Google Earth، هناك مثال رائع هنا:قم بالتمرير لأسفل إلى "مثال:إظهار حركة نقطة على طول المسار"

بالنسبة لواجهة برمجة التطبيقات لخرائط Google، هذا المثال وكان في معرض خرائط جوجل التجريبي.إنه أمر صعب نوعًا ما، لكن لديك فكرة عما يمكنك فعله.

إذن لديك نقطة بداية (0،0) في نظام إحداثي (تعسفي) واحد، ونقطة (خط العرض وخط الطول) المقابلة في نظام إحداثي (مركز الأرض) آخر.مشكلتك هي، في ضوء مجموعة من الإزاحات المعروفة (x، y) من الأصل، كيف يمكنك العثور على النقاط المقابلة (خط العرض، خط الطول)؟(هل فهمت سؤالك حتى الآن؟)

الجواب البسيط هو فقط استخدام الصيغة:

lat2 = asin(sin(lat1)*cos(d/R) + cos(lat1)*sin(d/R)*cos(θ))
lon2 = lon1 + atan2(sin(θ)*sin(d/R)*cos(lat1), cos(d/R)−sin(lat1)*sin(lat2))
d/R is the angular distance (in radians), where d is the distance travelled and R is the earth’s radius

مأخوذة من هذا الرابط : http://www.movable-type.co.uk/scripts/latlong.html

تحرير 2:(أوه، نسيت أن أذكر:تفترض هذه الصيغة أن لديك إحداثيات قطبية (R، θ) بدلاً من الإحداثيات الديكارتية (x، y).ولكن التحويل بين تلك هو ليس من الصعب جدا.)

الإجابة الأطول قليلًا هي أنك إذا قمت بذلك على مساحة كبيرة بما فيه الكفاية، فستصبح الرياضيات معقدة للغاية، بسبب كيفية قياس الارتفاع وكيفية تشكيل سطح الأرض.ربما ترغب في القراءة عن أنظمة الإحداثيات الجغرافية؛ هذه المقالة في ويكيبيديا هي نقطة انطلاق جيدة.قد تجد أيضًا مكتبة PROJ.4 مفيد.

يحرر:

إذا كنت بحاجة إلى أخذ قياسات الارتفاع (z) في الاعتبار، فستصبح الرياضيات أكثر تعقيدًا.الحل الأسهل هو إجراء عمليات حسابية ذات بعد 2.5 - أي حساب الإحداثيات (x، y) باستخدام مجموعة واحدة من الصيغ، ثم إجراء الإحداثيات (z) بشكل منفصل.يعمل هذا فقط على مساحة صغيرة بما فيه الكفاية، حيث أنك تفترض بشكل أساسي أن سطح الأرض مسطح بالنسبة للمساحة التي تعمل فيها.ومع ذلك، قد يكون هذا جيدًا بما يكفي لتطبيقك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top