تنسيق الإحداثيات الخاطئ (WGS84) أم أنني أفتقد شيئًا؟

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

  •  22-09-2019
  •  | 
  •  

سؤال

سؤال وهمية هنا. أقوم بتطوير تطبيق يجلب معلومات مدركة للموقع. أحصل على إحداثيات الموقع بالطريقة التالية: LAT =+AAA.BB.CC.DD & LON =+AAA.BB.CC.DD & DATUM = WGS84

كيف يمكنني تحويل هذه الإحداثيات إلى خط الطول القياسي مع نقطة واحدة. يبدو الآن كما لو أن العميل يطلب البحث عن عنوان IP.

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

المحلول

wgs84 = '123.12.34.56'
deg, minute, second, fraction = wgs84.split(/\./).map(&:to_i)      # Ruby 1.9
deg, minute, second, fraction = wgs84.split(/\./).map {|x| x.to_i} # Ruby 1.8
deg += minute / 60.0 + second / 3600.0 + fraction / 360000.0
puts deg    # => 123.20970370370371

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

نصائح أخرى

بتجميعها من قبل @Myrddin شبه الاتحاد بأنه ارتكب خطأً بسيطًا ، أقوم بنشر إجابة في محاولة صارخة لجمع مندوب.

وأظن أن

123.12.34.56

يجب تفسيرها على أنها 123d12m34.56s وتحويلها إلى درجات عشرية مثل هذا:

123+12/60+34.56/3600
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top