سؤال

الخلفية:

أنا أعمل مع طرق النقل وتوفر Google نقاط الطريق بعيدا بما فيه الكفاية لإنشاء "الأشكال".هذه هي طرق الحافلات / القطار التي تراها في خرائط Google.

متطلباتي:

نقاط Google هي أبعد ما تكون كافية لإنشاء خطوط مستقيمة.ومع ذلك أريد نقطة، على سبيل المثال، 5 أمتار.

مشكلة:

لذلك، قل لدي نقطتين [lat، طويل]:

[- 33.8824219918503،151.206686052582] و [-33.8815434600467،151.206556467،151.206556440037]

نظرا لهذه النقاط التي يمكنني حساب المسافة بينهما.قل انها 1km من أجل الحجة.

حتى نتخيل خط مستقيم وهمي بين هذين النقاطين.

كيف يمكنني إنشاء إحداثيات لهذا الخط الوهمي لكل، على سبيل المثال، 5 أمتار؟

نصائح أخرى

الخطوة 1 - الحصول على المسافة الشاملة

يمكن العثور على إجابة شاملة هنا: http://www.movable-type .co.uk / النصوص / latlong.html

tl؛ Dr:

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

giveacodicetagpre.

الخطوة 2 - الحصول على النسبة المئوية للسفر.

الآن لديك المسافة لهذا الخط المستقيم، يمكنك بعد ذلك العمل نسبة من المسافة الشاملة لكل 5 أمتار.

الخطوة 3 - تطبيق النسبة المئوية السفر إلى الفرق بين خط العرض والعرض

تعرف على الفرق بين خطوط العرض البداية والطرق النهائي. مع هذا الرقم، اضربها بالنسبة المئوية للسفر (كمرعي). ثم يمكن إضافة ذلك إلى خطوط العرض البداية للعثور على خط العرض الحالي لهذه النقطة. كرر الطول.

الحل التالي ليس بالضبط ما طلبته، ولكن قد يكفي لأغراضك ...

تحقق من المستندات الرسمية ( https://developers.google.com/maps/documentation/ جافا سكريبت / مرجع ) لطريقة GransoSodicetAgcode.من المستندات: "إرجاع LATLNG الذي يكمن الجزء المحدد للطريقة بين الأصل latlng والوجهة latlng. '

حتى إذا كنت تعرف أن النقاط الأصلية الخاصة بك هي، على سبيل المثال، 100 متر بصرف النظر، وتحدد 0.05 ككسر، وسوف تعيد الطريقة LAT / LNG على طول هذا الخط لكل 5 أمتار.

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