نقل قول : در این
مجموعه سعی کردم در میان هزاران تابع موجود در MATLAB به توابعی بپردازم که
مربوط به
نقشه برداری است.برای سهولت در استفاده از توابع MATLAB در هر جایی
تنها کافی چند حرف اول از تابع رانوشته سپس کلیدTAB را گرفته در نتیجه لیست باز می شود که می
توانید تابع مورد نظرتان را از آن لیست انتخاب کنید. خطوط واصل دو نقطه روی سطح کره یا بیضوی که محاسبات ما بر روی این خطوط
صورت می گیرد عبارتند از: خط رومب (Rhumb line) خط ژئودزیک (Geodesic line) خط رومب (Rhumb line) خطی است که تمام نصف النهارات را با یک زاویه یکسان قطع می
کند. در این مسیر زاویه حامل ثابت باقی می ماند به این مسیر لوکسودروم ( loxodrome) نیز می
گویند. خط ژئودزیک (Geodesic line) کوتاهترین مسیر بین دو نقطه روی سطح به این مسیر ارتودروم
(orthodrome) نیز می گویند. فاصله بین هر دو نقطه روی سطح کره را فاصله دايره عظيمه
(great-circle distance) می نامند.مسیر دایره عظیمه کوتاهترین مسیر بین دو نقطه روی سطح کره می باشد. محاسبه شتاب ثقل(g) را در هر نقطه ای
روی بیضوی WGS1984: تابع: gravitywgs84 این تابع شتاب ثقل(g) را در هر نقطه ای روی بیضوی WGS1984 که بخواهید
به شما می دهد. نحوه استفاده:
( g = gravitywgs84(h, lat, lon , method h: ارتفاع از بیضوی lat: عرض جغرافیایی lon:طول جغرافیایی method:در این قسمت مشخص می کنید که محاسبه g با چه روشی صورت بگیرد مثلا با استفاده از سری تیلور 'TaylorSeries' روش ها: 'TaylorSeries' و 'CloseApprox' و 'Exact' دقت کنید در نوشتن نوع روش کوتیشن ها فراموش نشود.
محاسبه فاصله
دو نقطه روی سطح کره یا بیضوی :
تابع: distance این تابع فاصله بین نقاط روی
کره یا بیضوی را برمی گرداند.
(dist = distance(track,lat1,lon1,lat2,lon2,ellipsoid,units یا (dist
= distance(track, pt1,pt2 ,ellipsoid,units track: فاصله بین دونقطه به دو روش می
تواند محاسبه شود.برای دوایر عظیمه( great circles )که فاصله کوتاهتر از
فاصله سطحی بین نقاط است.برای خطوط رومب( rhumb lines )فاصله از خط رومب
که از دونقطه عبور می کند محاسبه می گردد. در این پارامتر مشخص می گرددکه
فاصله بر روی کدام مسیر محاسبه گردد روی خط رومب 'rh' یا دایره عظیمه 'gc'.
اگر در این پارامتر مشخص نگردد که فاصله روی کدام مسیر محاسبه گردد تابع
بصورت پیش فرض فاصله را بر روی دایره عظیمه محاسبه می کند. lat1,lon1: مختصات ژئودتیک نقطه ابتدایی
می باشند. عرض جغرافیایی شمالی دارای
علامت مثبت وجنوبی دارای علامت منفی. طول جغرافیایی شرقی دارای
علامت مثبت وغربی دارای علامت منفی. lat2,lon2: مختصات ژئودتیک نقطه انتهایی
می باشند. عرض جغرافیایی شمالی دارای
علامت مثبت وجنوبی دارای علامت منفی. طول جغرافیایی شرقی دارای
علامت مثبت وغربی دارای علامت منفی. ellipsoid: در این پارامتر مشخص می گردد
که محاسبات بر روی کدام بیضوی انجام گیرد در این پارامتر هر بیضوی با دو
پارامتر مشخص می گردد. [a,e] a :نیم قطر اطول بیضوی
(semimajor_axis) e : خروج از مرکز
(eccentricity) برای به دست آوردن پارامترهای
مربوط به هر بیضوی می توان از تابع almanac استفاده کرد. اگر در این پارامتر بیضوی مشخص
نگردد به صورت پیش فرض محاسبات بر روی کره صورت می گیرد. units : در این پارامتر واحد مختصات
ژئودتیک نفاط ورودی مشخص می گردد.به صورت پیش فرض واحد نقاط درجه می باشد.باید توجه کرد که
واحد فاصله با واحد a semimajor_axis)) یکسان می باشد. pt1 : مختصات ژئودتیک نقطه ابتدایی
به صورت [latitude,longitude] می باشد. عرض جغرافیایی شمالی دارای
علامت مثبت وجنوبی دارای علامت منفی. طول جغرافیایی شرقی دارای
علامت مثبت وغربی دارای علامت منفی. pt2 : مختصات ژئودتیک نقطه انتهایی
به صورت [latitude,longitude] می باشد. عرض جغرافیایی شمالی دارای
علامت مثبت وجنوبی دارای علامت منفی. طول جغرافیایی شرقی دارای
علامت مثبت وغربی دارای علامت منفی. محاسبه
مختصات ژئودتیک نقطه انتهایی با استفاده از مختصات ژئودتیک نقطه ابتدایی و
آزیموت و فاصله دونقطه
روی کره یا بیضوی : تابع: reckon (latout,
lonout] = reckon(track, lat, lon, rng, az, ellipsoid, units ] track: در این پارامتر مشخص می گردد
که موقعیت نقطه انتهایی بر روی کدام خط محاسبه گردد اگر می خواهید بر روی خط ژئودزیک محاسبه
گردد از رشته 'gc' وروی خط رومب از رشته 'rh' استفاره می کنیم. اگر این پارامتر خالی باشدتابع بصورت
پیش فرض موقعیت نقطه انتهایی را بر روی دایره عظیمه(great circles ) محاسبه می کند. lat, lon: مختصات ژئودتیک نقط ابتدایی عرض جغرافیایی شمالی دارای
علامت مثبت وجنوبی دارای علامت منفی. طول جغرافیایی شرقی دارای
علامت مثبت وغربی دارای علامت منفی. rng: فاصله دونقطه از هم بر حسب
درجه az: آزیموت بین دو نقطه ellipsoid: در این پارامتر مشخص می گردد
که مختصات نقاط و محاسبات بر روی کدام بیضوی انجام گیرد units: واحد مختصات ورودی و خروجی این
پارامتربه صورت پیش فرض بر حسب درجه می باشد. محاسبه
زمان و موقعیت وسیله مورد نظر در بازه های مشخص: تابع: dreckon
(drlat,drlong,drtime] = dreckon(waypoints,time,speed,spdtimes ] waypoints: در این پارامتر مختصات ژئودتیک
مبدا ونقاطی که در آنها جهت حرکت تغییر کرده است ومقصد مشخص می گردد. عرض جغرافیایی شمالی دارای
علامت مثبت وجنوبی دارای علامت منفی. طول جغرافیایی شرقی دارای
علامت مثبت وغربی دارای علامت منفی. time: در این پارامتر مشخص می گردد
که در چه ساعتی از مبدا شروع به حرکت می کنیم speed : در این پارامتر سرعت وسیله
مشخص می گردد spdtimes : دراین پارامتر مدت زمانی که
وسیله با یک سرعت معین حرکت کرده است مشخص می شود. باید توجه کرد که مدت زمان با
سرعت مشخص متناظر باشد. تبدیل
واحد فاصله از یک واحد به واحد دیگر: تابع: distdim
(distout = distdim(distin,from,to,radius :distin فاصله ورودی در یک واحد که می
خواهیم به فاصله ای در واحد دیگر تبدیل شود. from: واحد فاصله ورودی to: واحدی که می خواهیم فاصله به
آن واحد تبدیل شود. :radius در این پارامتر مشخص می گردد
این تبدیلات بر روی کدام کره صورت گرفته است تا در تبدیلات کرویت نیز مدنظر باشد به طور پیش فرض
تبدیلات بر روی کره زمین صورت می گیرد.برای اینکه مشخص کنید تبدیلات بر روی کدام سیاره
صورت گیرد کافی است در این پارامتر شعاع سیاره مورد نظر را از تابع almanac به دست آورده وبه جای
این پارامتر قرار دهید یا اسم سیاره را در این پارامتر قرار دهید. توجه: برای تبدیل واحدها باید دقت
کنید که اسامی واحد ها را درست بنویسید. 'kilometers' یا 'km' برای
کیلومتر 'meters' یا 'm' برای متر 'nauticalmiles' یا 'nm' برای
مایل دریایی 'statutemiles' یا 'sm' برای
مایل رسمی 'feet' یا 'ft' برای فوت 'degrees' یا 'deg' برای درجه 'radians' یا 'rad' برای
رادیان تبدیل
واحد زاویه از یک واحد به واحد دیگر: تابع: angledim
(anglout = angledim(anglin,from,to angling: زاویه ورودی در یک واحد که می
خواهیم به فاصله ای در واحد دیگر تبدیل شود. from: واحد زاویه ورودی to: واحدی که می خواهیم زاویه به
آن واحد تبدیل شود. توجه: برای تبدیل واحدها باید دقت
کنید که اسامی واحد ها را درست بنویسید. 'degrees' برای درجه 'radians' برای رادیان 'dms' برای درجه-دقیقه-ثانیه 'dm' برای درجه-دقیقه محاسبه
مختصات ژئودتیک نقطه مقابل یک نقطه بر روی کره(زمین): تابع: antipode
(newlat,newlong] = antipode(lat,long,units ] lat,long: مختصات ژئودتیک نقطه ورودی می
باشند. عرض جغرافیایی شمالی دارای
علامت مثبت وجنوبی دارای علامت منفی. طول جغرافیایی شرقی دارای
علامت مثبت وغربی دارای علامت منفی. units: در این پارامتر واحد مختصات
ژئودتیک نفطه ورودی مشخص می گردد.به صورت پیش فرض واحد نقاط درجه می باشد. محاسبه مساحت سطح محدود به دو
مدار و دو نصف النهار روی کره یا بیضوی:
(area = areaquad(lat1,lon1,lat2,lon2,ellipsoid,units lat1: عرض جغرافیایی مدار اول lat2: عرض جغرافیایی مدار دوم lon1: طول جغرافیایی نصف النهار اول lon2: طول جغرافیایی نصف النهار دوم ellipsoid: در این پارامتر مشخص می گردد
که محاسبات بر روی کدام بیضوی انجام گیرد در این پارامتر هر بیضوی با دو پارامتر مشخص می گردد.
[a,e] a :نیم قطر اطول بیضوی (
semimajor_axis) e : خروج از مرکز
(eccentricity) برای به دست آوردن پارامترهای
مربوط به هر بیضوی می توان از تابع almanac استفاده کرد. اگر در این پارامتر بیضوی مشخص
نگردد به صورت پیش فرض محاسبات بر روی کره صورت می گیرد. units: در این پارامتر واحد مختصات
ژئودتیک نفاط ورودی مشخص می گردد.به صورت پیش فرض واحد نقاط درجه می باشد.
محاسبه
مساحت سطح محدود به دو مدار و دو نصف النهار روی کره یا بیضوی: تابع: areaquad
(area = areaquad(lat1,lon1,lat2,lon2,ellipsoid,units lat1: عرض جغرافیایی مدار اول lat2: عرض جغرافیایی مدار دوم lon1: طول جغرافیایی نصف النهار اول lon2: طول جغرافیایی نصف النهار دوم ellipsoid: در این پارامتر مشخص می گردد
که محاسبات بر روی کدام بیضوی انجام گیرد در این پارامتر هر بیضوی با دو پارامتر مشخص می گردد.
[a,e] a :نیم قطر اطول بیضوی
(semimajor_axis) e : خروج از مرکز
(eccentricity) برای به دست آوردن پارامترهای
مربوط به هر بیضوی می توان از تابع almanac استفاده کرد. اگر در این پارامتر بیضوی مشخص
نگردد به صورت پیش فرض محاسبات بر روی کره صورت می گیرد. units: در این پارامتر واحد مختصات
ژئودتیک نفاط ورودی مشخص می گردد.به صورت پیش فرض واحد نقاط درجه می باشد. محاسبه
مساحت سطح یک چند ضلعی روی کره یا بیضوی: تابع: areaint
(area = areaint(lats,longs,ellipsoid,units lats: عرض های جغرافیایی چند ضلعی
مورد نظر عرض جغرافیایی شمالی دارای
علامت مثبت وجنوبی دارای علامت منفی. longs: طول های جغرافیایی چند ضلعی
مورد نظر طول جغرافیایی شرقی دارای
علامت مثبت وغربی دارای علامت منفی. ellipsoid: در این پارامتر مشخص می گردد
که محاسبات بر روی کدام بیضوی انجام گیرد در این پارامتر هر بیضوی با دو پارامتر مشخص می گردد.
[a,e] a :نیم قطر اطول بیضوی (
semimajor_axis) e : خروج از مرکز
(eccentricity) برای به دست آوردن پارامترهای
مربوط به هر بیضوی می توان از تابع almanac استفاده کرد. اگر در این پارامتر بیضوی مشخص
نگردد به صورت پیش فرض محاسبات بر روی کره صورت می گیرد. units: در این پارامتر واحد مختصات
ژئودتیک نفاط ورودی مشخص می گردد.به صورت پیش فرض واحد نقاط درجه می باشد.
محاسبه
زاویه قائم و فاصله مایل و آزیموت: تابع: elevation
...= [elevationangle, slantrange, azimuthangle] (elevation(lat1, lon1,
alt1, lat2, lon2, alt2, angleunits, distanceunits,ellipsoid lat1, lon1: مختصات ژئودتیک نقطه ابتدایی
می باشند. عرض جغرافیایی شمالی دارای
علامت مثبت وجنوبی دارای علامت منفی. طول جغرافیایی شرقی دارای
علامت مثبت وغربی دارای علامت منفی. alt1: ارتفاع از بیضوی در نقطه
ابتدایی lat2, lon2: مختصات ژئودتیک نقطه انتهایی
می باشند. عرض جغرافیایی شمالی دارای
علامت مثبت وجنوبی دارای علامت منفی. طول جغرافیایی شرقی دارای
علامت مثبت وغربی دارای علامت منفی. alt2: ارتفاع از بیضوی در نقطه
انتهایی angleunits: در این پارامتر واحد زوایای
ورودی وخروجی مشخص می گردد.به صورت پیش فرض واحد زوایادرجه می باشد. distanceunits: در این پارامتر واحد فاصله
مایل خروجی وارتفاعات ورودی مشخص می گردد. ellipsoid : در این پارامتر مشخص می گردد
که محاسبات بر روی کدام بیضوی انجام گیرد در این پارامتر هر بیضوی با دو پارامتر مشخص می گردد.
[a,e] a :نیم قطر اطول بیضوی
(semimajor_axis) e : خروج از مرکز
(eccentricity) برای به دست آوردن پارامترهای
مربوط به هر بیضوی می توان از تابع almanac استفاده کرد. اگر در این پارامتر بیضوی مشخص
نگردد به صورت پیش فرض محاسبات بر روی کره صورت می گیرد. باید توجه کرد که واحدهای a با
ارتفاعات(alt1,alt2)برابر باشد تا فاصله با واحد درست به دست آید.
دانلود مطلب فوق در فرمت ورد و پی دی اف

