خطوط الطول / العرض + بعد + العنوان -> خطوط الطول / العرض

StackOverflow https://stackoverflow.com/questions/378281

  •  22-08-2019
  •  | 
  •  

سؤال

وهكذا: لدي الدالة التالية، مقتبسة من صيغة وجدت على الانترنت، والتي تأخذ اثنين من إحداثيات خطوط الطول / العرض ويجد المسافة بينهما في ميلا (على طول الأرض كروية):

public static double distance (double lat1, double lon1, double lat2, double lon2) {
        double theta = toRadians(lon1-lon2);
        lat1 = toRadians(lat1);
        lon1 = toRadians(lon1);
        lat2 = toRadians(lat2);
        lon2 = toRadians(lon2);

        double dist = sin(lat1)*sin(lat2) + cos(lat1)*cos(lat2)*cos(theta);
        dist = toDegrees(acos(dist)) * 60 * 1.1515 * 1.609344 * 1000;

        return dist;
    }

وبقدر ما أستطيع أن أقول هذا يعمل على ما يرام.

ما احتاج اليه هو وظيفة الثانية التي، وذلك باستخدام نفس النموذج المحدد للهندسة الأرض، ويأخذ زوج واحد خطوط الطول / العرض [A]، عنوان، والمسافة، وإخراج اللات زوج جديد / خط الطول [B ] بحيث إذا كنت بدأت في مرحلة [A]، وسافر مسافة معينة في عنوان معين، وكنت تصل الرياح في نقطة [B].

وهذا هو المكان حقيقة أن مهاراتي الهندسة لم يقم لي تماما يأتي دور:)

وأي مساعدة سيكون محل تقدير كبير!

وشكرا، -Dan

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

المحلول

وأحصل على معظم هذه الأنواع من الصيغ من والطيران الوصفات .

والصيغة التي يعطيها هي:

<اقتباس فقرة>   

خطوط الطول / العرض نظرا شعاعي والمسافة

     

وهناك نقطة {خطوط الطول، خط الطول} على مسافة د خارجا على   شعاعي ح من النقطة (1) إذا:

 lat=asin(sin(lat1)*cos(d)+cos(lat1)*sin(d)*cos(tc))
 IF (cos(lat)=0)
    lon=lon1      // endpoint a pole
 ELSE
    lon=mod(lon1-asin(sin(tc)*sin(d)/cos(lat))+pi,2*pi)-pi
 ENDIF 
     

ويقتصر هذا خوارزمية لمسافات بحيث dlon <بي / 2، أي بمعنى   تلك التي تمتد في جميع أنحاء أقل من واحد   ربع محيط   الأرض في الطول. A تماما   عام، ولكن أكثر تعقيدا   خوارزمية غير ضرورية إذا أكبر   ويسمح للمسافات:

    lat =asin(sin(lat1)*cos(d)+cos(lat1)*sin(d)*cos(tc))
     dlon=atan2(sin(tc)*sin(d)*cos(lat1),cos(d)-sin(lat1)*sin(lat))
     lon=mod( lon1-dlon +pi,2*pi )-pi

لاحظ أن انه باستخدام "ح" على الوقوف لمسارها الصحيح (في اتجاه عقارب الساعة راديان من شمال) والمسافات وقال انه يعطي وبالراديان قوس طول سطح الأرض. ويفسر هذا (جنبا إلى جنب مع الصيغ لتحويل ذهابا وإيابا من ميل بحري) في القسم الأول من الوصفات. أيضا، تحقق من "ملاحظات التنفيذ" و "أمثلة عمل" في هذه الصفحة.

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