Jump to content
homano

كيف احسب الفاصلة العشرية لخط الطول والعرض بالنسبة لـ فرق التوقيت ...

Recommended Posts

السلام عليكم ,,,

 

أسعدتم مساءاً 00

 

لدي سؤال اذا أمكن الإجابة عليه ؟!

 

في الواقع لدي قاعدة بيانات أحتفظ فيها بـ احداثيات المدن لكل دولة وأريد هذه الإحداثيات لا تحتوي على فاصلة.

وانما يتم ادخال الفاصلة على الإحداثي من خلال البرنامج الذي يأخذ الإحداثي من خلال قاعدة البيانات

السؤال / هل يمكن من خلال فرق التوقيت أن أعرف منزلة الفاصلة أين تكون بالنسبة لـ خط الطول وخط العرض.

 

لتتضح الفكرة أكثر :

 

عادة تكون الاحداثيات ( لموقع معين ) بهذا الشكل - بالفاصلة - :

خط العرض = 26.33

خط الطول = 49.57

فرق التوقيت= 3

 

لو افترضنا الإحداثي بهذا الشكل

خط العرض = 2633

خط الطول = 4957

فرق التوقيت

 

من خلال البرنامج يتم اضافة الفاصلة الى خط الطول وخط العرض بالشكل الصحبح ..... هل يمكن ذلك.

 

....................... أرجو الإفادة .................

 

تحياتي ,,,

Share this post


Link to post
Share on other sites

السلام عليكم

 

يجب أن تذكر اللغة التي تستخدمها أولا !

وبافتراض أن اللغة المستخدمة هي الـ VB ومتغير خط الطول هو Lng فتكون المعالجة كالتالي :

Lng = Left(Lng, Len(CStr(Lng)) - 2) + Right(Lng, 2) / 100

أو كالتالي :

Lng = CDbl(Left(Lng, Len(CStr(Lng)) - 2) & "." & Right(Lng, 2))

 

تحياتي .

Share this post


Link to post
Share on other sites

 

مرحباً أخي , أبو هادي وأشكرك على مشاركتك ...

 

معذرة الظاهر أنه لم يتضح السؤال .... دعني أوضحه اكثر ,

 

المنزلة العشرية لبعض خطوط الطول و العرض تختلف عن غيرها

مثال على ذلك - خط الطول وخط العرض لـ :

 

المدينة المنورة خط الطول= 39.6667 خط العرض = 24.4527 فرق التوقيت = 3

مدينة Blackwood خط الطول = -3.9167 خط العرض = 55.6667 فرق التوقيت = 0

 

فالمنزلة العشرية تختلف باختلاف فرق التوقيت.

سؤالي هو / لدي قاعدة بيانات تحتوي على احداثيات مدن العالم وهذه الإحداثيات لا تحتوي على أي منزلة أي بدون فاصلة مطلقاً.

فما هو المعيار أو القاعدة التي بها أحدد موضع الفاصلة العشرية لخط الطول وخط العرض.

 

مع العلم أن هناك برنامج يستعمل قاعدة البيانات هذه بشكل صحيح.

 

ولربما هذا السؤال لا يخص مواضيع تهم الفلك وانما الجغرافيا لا أعلم ....

 

تحياتي ,,,

Share this post


Link to post
Share on other sites

السلام عليكم

 

بما أن الجدول لا يستخدم الفاصلة فحتما ولابد من عدد خانات محددة لكل الأطوال والعروض .

عليه تأكد من عدد الخانات بعد الفاصلة وبدلها في الكود ، على سبيل المثال لو الخانات عددها أربعة فابحث عن رقم 2 في الكود وبدله برقم 4 .

تمعن أكثر بجدول البيانات وسوف توافقني الرأي .

 

تحياتي .

Share this post


Link to post
Share on other sites

أحسنت أخي أبو هادي ,,,

 

فعلاً هي كذلك كما قلت ... و في الواقع جربت هذا التخمين أو الإستنتاج وكان أول اسنتاج لي هو هذا

ولكن الله يهديه صاحب البرنامج يعمل تقريب للعدد بعد اضافة الفاصلة وهنا تعثرت في الوصول الى الحل.

وعلى كل حال المصادفة جرتني الى برنامج آخر مشابه له يستعمل نفس القاعدة وتذكرت ردك لي و تأكيد لما كنت أتوقع

وقارنت بين البرنامجين والحمد لله حلت المشكلة.

 

وأخيراً أشكرك أبو هادي ,,,

 

تحياتي ,,,

Share this post


Link to post
Share on other sites

السلام عليكم

 

تصحيح المعادلات لتصبح أكثر مرونة ولتجنب أخطاء تبديل خانات الكسر :

تعريف متغير الكسر أولا :

Dim DP As Byte     'Decimal Places

DP = 4

 

ثم المعالجة :

Lng = Left(Lng, Len(CStr(Lng)) - DP) + Right(Lng, DP) / Val(1 & String(DP, "0"))

أو كالتالي :

Lng = CDbl(Left(Lng, Len(CStr(Lng)) - DP) & "." & Right(Lng, DP))

 

تحياتي .

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×