برنامه نویسی وب GIS : حل مشکلات مکانی با تکنولوژی مکانی

برنامه ریزی کاربری منطقه ای کارآمد عملی با استفاده از بهینه سازی الگوریتم ژنتیک چندهدفه و سیستم اطلاعات جغرافیایی

برنامه نویسی وب GIS : حل مشکلات مکانی با تکنولوژی مکانی:برنامه نویسی وب GIS شامل ایجاد، گسترش، استفاده، وب GIS یا راه حل های نقشه برداری وب برای حل مشکلات خاص، ساخت برنامه های کاربردی کامل، یا مصرف یا تولید داده ها و خدمات پردازش مکانی است. با گسترش اینترنت و در دسترس بودن گزینه های Web GIS یا نقشه برداری وب، برنامه نویسی وب GIS در حال تبدیل شدن به یک مجموعه مهارت رایج در بسیاری از سازمان ها است. برنامه نویسی وب GIS نوعی توسعه نرم افزاری است که ابزاری برای مدیریت اینترنت، وظایف توسعه نرم افزار مبتنی بر مرورگر فراهم می کند که به راه حل های منحصر به فردی برای مشکلات وب GIS یا نقشه برداری وب نیاز دارد. علاوه بر این، تعدادی از گزینه‌های نرم‌افزار Web GIS، رابط‌های برنامه‌نویسی کاربردی (API) را ارائه می‌دهند که ابزاری را فراهم می‌کنند که به وسیله آن توسعه‌دهندگان می‌توانند از داده‌های منتشر شده و خدمات پردازش دیگران برای ساخت و سفارشی‌سازی برنامه‌ها از طریق رابط‌های استاندارد شده با نرم‌افزار، داده‌ها و سرویس‌های وب GIS خارجی استفاده کنند. برنامه نویسی وب GIS برای توسعه برنامه های کاربردی موبایل و همچنین دسکتاپ کاربرد دارد. یک مرورگر معمولاً برنامه‌های نرم‌افزاری را با ارسال درخواست‌های پروتکل انتقال ابرمتن (HTTP) یا پروتکل امن انتقال ابرمتن (HTTPS) به منابع میزبانی سروری که کاربر برنامه می‌خواهد از طریق یک منبع یاب واحد (URL) به آن دسترسی داشته باشد، اجرا می‌کند، و سرور با ارائه پاسخ می‌دهد. منابع یا انجام عملکردهای درخواستی کاربر. این مدخل به بررسی اصول برنامه نویسی وب GIS می پردازد یک مرورگر معمولاً برنامه‌های نرم‌افزاری را با ارسال درخواست‌های پروتکل انتقال ابرمتن (HTTP) یا پروتکل امن انتقال ابرمتن (HTTPS) به منابع میزبانی سروری که کاربر برنامه می‌خواهد از طریق یک منبع یاب واحد (URL) به آن دسترسی داشته باشد، اجرا می‌کند، و سرور با ارائه پاسخ می‌دهد. منابع یا انجام عملکردهای درخواستی کاربر. این مدخل به بررسی اصول برنامه نویسی وب GIS می پردازد یک مرورگر معمولاً برنامه‌های نرم‌افزاری را با ارسال درخواست‌های پروتکل انتقال ابرمتن (HTTP) یا پروتکل امن انتقال ابرمتن (HTTPS) به منابع میزبانی سروری که کاربر برنامه می‌خواهد از طریق یک منبع یاب واحد (URL) به آن دسترسی داشته باشد، اجرا می‌کند، و سرور با ارائه پاسخ می‌دهد. منابع یا انجام عملکردهای درخواستی کاربر. این مدخل به بررسی اصول برنامه نویسی وب GIS می پردازدنقشه‌برداری وب  و سایر ورودی‌ها در بخش برنامه‌نویسی و توسعه ، ورودی وب GIS در بخش بسترهای رایانه‌ای ، و مدخل طراحی رابط کاربری و تجربه کاربر (UI/UX) در بخش نقشه‌برداری و تجسم (Sack، 2017؛ Quinn، 2018) راث، 2017).

 

توضیحات موضوع: 
  1. تعاریف
  2. برنامه نویسی وب GIS چیست؟
  3. راهنمای برنامه نویسان وب GIS
  4. مبانی برنامه نویسی وب GIS
  5. زبان های برنامه نویسی وب GIS

 

1. تعاریف

توسعه برنامه : نوشتن کد نرم افزار رایانه برای استفاده در برنامه های کاربردی نرم افزار دسکتاپ، مرورگرهای اینترنتی، از طریق رابط های برنامه نویس برنامه، از طریق محیط های محاسباتی مجازی یا مبتنی بر ابر، یا در دستگاه های تلفن همراه

رابط برنامه نویسی کاربردی (API) : مجموعه ای از اجزای برنامه نویسی که با یکدیگر ارتباط برقرار می کنند و می توانند برای توسعه برنامه های کاربردی با استفاده از یک زبان کامپیوتری خاص مورد استفاده قرار گیرند (Quinn, 2018)

داده های بزرگ : حجم داده های ساختاریافته یا ساختاریافته که به قدری بزرگ هستند که جمع آوری، ذخیره، تجزیه و تحلیل، مدیریت و انتشار با استفاده از فناوری های سنتی دشوار است (لی و همکاران، 2016)

کلاینت : سخت افزار کامپیوتر، مانند دستگاهی که به سرویس ارائه شده توسط سرور دسترسی دارد، یا یک کلاینت می تواند یک برنامه نرم افزاری نصب شده و اجرا شده بر روی رایانه هایی مانند لپ تاپ و دستگاه های دستی، مانند برنامه های GIS وب که شامل برنامه نویسی است، باشد.

Fat Client : عملکرد کاربر را مستقل از یک سرور فراهم می کند، مانند یک مرورگر، همچنین به عنوان کلاینت
نازک غنی، ضخیم، یا سنگین (کلینت) نامیده می شود : برای عملکرد به یک سرور متکی است، مانند محاسبات، که به آن صفر نیز می گویند. لاغر یا لاغر (مشتری)

محیط توسعه : یک محیط محافظت شده، اغلب موقتی، که به طور خاص برای انجام توسعه اولیه یا مداوم برنامه قبل از آزمایش یا انتشار سیستم برای استفاده استفاده می شود.

چارچوب : مجموعه‌ای از ابزارهایی که برای کمک به توسعه‌دهندگان دیگر نوشته شده‌اند، معمولاً یک زبان را مدولار می‌کنند تا دیگران بتوانند از ابزارها برای ساختن برنامه‌های پیچیده‌تر استفاده کنند.

پروتکل انتقال ابرمتن (HTTP) : به عنوان یک پروتکل پاسخ به درخواست در مدل‌های سرویس گیرنده-سرور عمل می‌کند و می‌تواند توسط پروتکل امن انتقال ابرمتن (HTTPS) برای ارتباط ایمن یا محافظت شده در یک شبکه کامپیوتری گسترش یابد.

محیط توسعه یکپارچه (IDE) : یک برنامه نرم افزاری که برای کمک به توسعه دهندگان در نوشتن کد طراحی شده است. IDE ها معمولاً شامل یک ویرایشگر کد منبع، کامپایلر یا مفسر، یک اشکال زدا و ابزارهای دیگر برای تسهیل کدنویسی، همه در یک رابط کاربری واحد هستند.

کتابخانه : مجموعه ای از کدهای برنامه نویسی به اشتراک گذاشته شده، مانند فایل ها، برنامه ها، اسکریپت های روتین یا توابع که می توانند برای تسهیل توسعه سایر برنامه ها و برنامه های نرم افزاری مورد استفاده قرار گیرند.

mashup : منبع داده، وب سایت یا سرویس وب جدیدی که با ترکیب داده ها یا خدمات موجود از چندین ارائه دهنده ایجاد می شود.

شبکه : فناوری‌های مخابراتی دیجیتال، از جمله نرم‌افزار، سخت‌افزار کابلی و رسانه‌های بی‌سیم، که برای تبادل داده‌ها و سایر منابع بین رایانه‌ها با استفاده از اتصالات استفاده می‌شوند.

شی گرا (OOP) : یک الگوی برنامه نویسی طراحی شده برای مدیریت سیستم های نرم افزاری بزرگ و پیچیده، که به توسعه دهندگان اجازه می دهد تا کانتینرها یا بخش هایی را برای داده هایی ایجاد کنند که می توانند به طور مستقل در یک برنامه نرم افزاری خاص دستکاری شوند، بنابراین برنامه ها می توانند در قسمت هایی نوشته و اجرا شوند. اشیاء را می توان توسط برنامه نویسان ایجاد کرد تا اسم های دنیای واقعی را نشان دهد و روش هایی (روش های برنامه ریزی شده) که رفتار مورد نظر شی را توصیف می کند به آنها داده شود.

منبع باز : توسعه دهندگان می توانند در صورت نیاز به کد منبع نرم افزار دسترسی داشته باشند، استفاده کنند و تغییر دهند

کپی رایت : کد منبع باز که برای تغییر، استفاده و توزیع به دیگران نیاز به مجوز دارد.
کپی‌لفت : این قانون که هنگام توزیع مجدد برنامه‌ها، نمی‌توان محدودیت‌هایی اضافه کرد تا چهار آزادی را از دیگران سلب کند: اجرا، کپی، توزیع، مطالعه، تغییر و بهبود کد منبع

برنامه نویسی : پیاده سازی یک الگوریتم با استفاده از یک زبان برنامه نویسی برای اجرا توسط کامپیوتر

زبان کامپایل شده : یک زبان برنامه نویسی کامپیوتری که در آن کد منبع قابل خواندن توسط انسان به کد ماشین ترجمه می شود تا اجرا شود.

اختصاصی : نرم افزار دارای حق چاپ تجاری در دسترس است که برای کپی کردن، تغییر، استفاده و/یا توزیع محدود به مجوز نیاز دارد و معمولاً کد منبع نرم افزار منتشر نمی شود.

بهینه سازی : در زمینه برنامه نویسی وب GIS، فرآیند راه اندازی یا مقیاس بندی سرور و پیکربندی شبکه با کارایی بالا برای پشتیبانی از استفاده مورد نظر از برنامه ها

محیط تولید : تکراری از یک محیط مرحله بندی که به طور خاص برای استقرار یک برنامه نهایی برای استفاده پس از آزمایش کامل استفاده می شود.

REST: انتقال حالت نمایشی (REST)، یک سبک معماری نرم افزاری است که قوانینی را برای ایجاد سرویس های وب ارائه می دهد که می تواند برای انتقال داده های دو بعدی و سه بعدی، پردازش جغرافیایی و تحویل به پروژه های برنامه نویسی وب GIS مورد استفاده قرار گیرد (فیلدینگ، 2000). به خدمات وب مطابق با این سبک، Restful گفته می شود.

وب سرویس آرامش‌بخش : یک سرویس وب آرامش‌بخش درخواست‌هایی را به منابع معینی ارائه می‌کند که معمولاً از طریق یک منبع یاب یکنواخت (URL) قابل دسترسی هستند و پاسخی را دریافت می‌کند که با یک زبان برنامه‌نویسی وب مانند زبان نشانه‌گذاری فرامتن (HTML)، زبان نشانه‌گذاری توسعه‌یافته (XML)، فرمت‌بندی شده است. یا نشانه گذاری شی جاوا اسکریپت (JSON)

مقیاس پذیری : توانایی معماری نرم افزار و سخت افزار برای مدیریت افزایش تقاضای کاربر

زبان برنامه نویسی : یک زبان کامپیوتری تفسیر شده که از اسکریپت ها پشتیبانی می کند، برنامه هایی که در یک محیط زمان اجرا اجرا می شوند و اغلب برای خودکارسازی چندین کار استفاده می شوند.

محیط صحنه سازی : تکراری از یک محیط تولید که به طور خاص برای آزمایش برنامه قبل از انتشار برای استفاده استفاده می شود

طراحی کاربر محور : یک فرآیند آزمایشی تکراری شامل برنامه نویس و کاربران نهایی که به دنبال تعیین نیازها و مخاطبان مورد نظر در هنگام ایجاد رابط کاربری برای یک پروژه برنامه نویسی وب GIS است (راث و همکاران، 2015)

منبع یاب یکنواخت (URL) : ارجاع به منبعی که مکان آن را در یک شبکه کامپیوتری توصیف می‌کند که با HTTP:// یا HTTPS:// شروع می‌شود و توسط مالک منبع نام‌گذاری و تعریف شده است.

چارچوب برنامه کاربردی وب : یک چارچوب نرم افزاری مانند ASP.NET یا Ruby on Rails که برای کمک به توسعه دهندگان در ساخت برنامه های کاربردی وب مانند وب API و سرویس های وب ایجاد شده است و اغلب کتابخانه هایی برای ساده کردن وظایف برنامه نویسی مانند دسترسی و پیکربندی داده ها فراهم می کند.

وب سرویس : سرویسی که توسط یک دستگاه مانند سرور به دستگاه دیگری مانند سرویس گیرنده از طریق اینترنت ارائه می شود که اغلب دسترسی به داده های راه دور یا قابلیت های محاسباتی را فراهم می کند.

 

2. برنامه نویسی وب GIS چیست؟

با گسترش اینترنت و در دسترس بودن گزینه های Web GIS یا نقشه برداری وب، برنامه نویسی وب GIS در حال تبدیل شدن به یک مجموعه مهارت رایج در بسیاری از سازمان ها است. برنامه نویسی وب GIS نوعی توسعه نرم افزاری است که ابزاری برای مدیریت اینترنت، وظایف توسعه نرم افزار مبتنی بر مرورگر فراهم می کند که به راه حل های منحصر به فردی برای مشکلات وب GIS یا نقشه برداری وب نیاز دارد. برنامه نویسی وب GIS برای توسعه برنامه های کاربردی موبایل و همچنین دسکتاپ کاربرد دارد. یک مرورگر معمولاً برنامه‌های نرم‌افزاری را با ارسال درخواست‌های پروتکل انتقال فرامتن (HTTP) یا پروتکل انتقال ابرمتن امن (HTTPS) به سروری که منابع میزبانی را که کاربر برنامه مایل به دسترسی به آنها از طریق یک منبع یاب یکنواخت است، اجرا می‌کند.(URL)، و سرور با ارائه منابع یا انجام عملکردهای درخواستی کاربر پاسخ می دهد. این ورودی به بررسی اصول برنامه نویسی وب GIS، همراه با نقشه برداری وب  و سایر ورودی ها در بخش برنامه نویسی و توسعه ، ورودی وب GIS در بخش بسترهای محاسباتی ، و مدخل طراحی رابط کاربری و تجربه کاربری (UI/UX) در بخش کارتوگرافی و تجسم (ساک، 2017؛ کوین، 2018؛ راث، 2017).

برنامه نویسی وب GIS شامل ایجاد، گسترش، استفاده، وب GIS یا راه حل های نقشه برداری وب برای حل مشکلات خاص، ساخت برنامه های کاربردی کامل، یا مصرف یا تولید داده ها و خدمات پردازش مکانی است. علاوه بر این، تعدادی از گزینه‌های نرم‌افزار Web GIS، رابط‌های برنامه‌نویسی کاربردی (API) را ارائه می‌کنند که ابزاری را فراهم می‌کنند که به وسیله آن توسعه‌دهندگان می‌توانند از داده‌های منتشر شده و خدمات پردازشی دیگران برای ساخت و سفارشی‌سازی برنامه‌ها از طریق رابط‌های استاندارد شده با نرم‌افزارهای وب GIS خارجی استفاده کنند. و خدمات Sack (2017) فهرستی از APIهای نرم افزاری منبع باز و اختصاصی معمول مورد استفاده را ارائه می دهد که در پروژه های برنامه نویسی وب GIS متمرکز بر mashup ها استفاده می شوند.. از جمله محبوب ترین ها می توان به Google Maps API، Mapbox GL JS، OpenLayers، Esri ArcGIS API for Javascript، ArcGIS REST API، ArcGIS Python API، ArcGIS Runtime SDK (کیت های توسعه نرم افزار) و Leaflet اشاره کرد. به عنوان مثال، مشخصات Esri GeoServices REST یک راه استاندارد برای ارتباط مشتریان با سرورها از طریق معماری REST با استفاده از خدمات وب و URL های Restful فراهم می کند (Esri, 2010). در برنامه نویسی وب GIS، چنین کتابخانه های نرم افزاری وب GIS میزبانی شده و سایر کتابخانه های زبان برنامه نویسی مانند JQuery مجموعه های قابل اعتماد و در دسترس جهانی از کدهای مدولار را ارائه می دهند که می توانند توسط توسعه دهندگان برای ساده سازی برنامه های نوشتن استفاده شوند. لایه‌های باز و برگه نمونه‌هایی از کتابخانه‌های منبع باز هستند که برای ایجاد mashup نقشه وب استفاده می‌شوند.

 

3. راهنمایی برای برنامه نویسان وب GIS

مانند هر نوع توسعه نرم افزاری، برنامه نویسی وب GIS شامل برداشتن یک ایده بزرگ و تقسیم آن به اجزا و مراحل جداگانه، تعریف وظایف مورد نیاز برای ساخت برنامه، و انتخاب بستر مناسب، نرم افزار وب GIS و پشتیبانی از زبان کامپیوتر برای ساخت است. برنامه داده شده هنگام انتخاب نرم افزار وب GIS و پشتیبانی از گزینه های برنامه نویسی، سوالات زیر راهنمایی برنامه ریزی پروژه را برای توسعه دهنده ارائه می دهد:

  1. الزامات عملکردی پروژه برنامه نویسی وب GIS چیست؟
  2. آیا معماری سیستم Web GIS باید سمت کلاینت باشد یا سمت سرور؟
  3. الزامات عملکرد برنامه، محدودیت ها یا محدودیت ها چیست؟
  4. سطح تعامل کاربر نهایی پیش بینی شده در برنامه چقدر است؟
  5. آیا مرورگرهای خاصی وجود دارد که برنامه باید در آنها کار کند یا باید در همه مرورگرها کار کند؟
  6. آیا برنامه فقط در مرورگرهای دسکتاپ یا نرم افزار Web GIS مبتنی بر سرور کار می کند یا باید روی تبلت ها و دستگاه های تلفن همراه نیز کار کند؟
  7. آیا داده ها به کاربر ارائه می شود یا از کاربر جمع آوری می شود یا هر دو؟
  8. اندازه مجموعه داده های فضایی برای نمایش یا استفاده در برنامه وب GIS چقدر است، و آیا فرمت ذخیره سازی داده انتخابی می تواند نیازهای عملکرد سیستم را برآورده کند، یعنی پاسخ سریع از نقشه وب؟
  9. مکان‌های مجموعه داده‌های فضایی که باید در نقشه‌های وب نمایش داده شوند، چیست و چگونه می‌توان به آنها دسترسی داشت؟
  10. آیا داده ها در یک پایگاه داده روی سرور میزبان برنامه وب GIS ذخیره می شوند یا به عنوان یک سرویس وب از سرور دیگری به نقشه وب منتقل می شوند؟
  11. GIS وب و زبان های برنامه نویسی پشتیبانی کننده که می توانند هم توسط توسعه دهنده برنامه و هم کسانی که برنامه را درخواست کرده اند، پشتیبانی کنند، اگر تعمیر و نگهداری برنامه پس از تکمیل انجام شود، چیست؟

بخش‌های زیر اطلاعات کلی را ارائه می‌کنند تا به عنوان راهنمایی در پاسخ به سؤالات بالا که مستقیماً به برنامه‌نویسی وب GIS مربوط می‌شوند، خدمت کنند.

 

4. مبانی برنامه نویسی وب GIS

اجزای اصلی یک پروژه برنامه نویسی وب GIS در شکل 1 نشان داده شده است، از جمله نمونه هایی از فعالیت های توسعه برنامه کاربردی (اپلیکیشن) رایج که می تواند شامل برنامه نویسی در یک یا چند زبان برنامه نویسی کامپیوتر باشد.

محیط برنامه نویسی وب GIS

شکل 1. اجزای اصلی یک محیط برنامه نویسی (توسعه) وب GIS. منبع: نویسندگان

 

یک محیط برنامه نویسی وب GIS معمولاً روی یک رایانه محلی یا راه دور اجرا می شود. فعالیت های برنامه نویسی معمولاً شامل نوشتن کد، توسعه یا سفارشی سازی نرم افزار موجود، آزمایش مکرر، بهبود و نگهداری برنامه های GIS وب می باشد. یک محیط برنامه نویسی وب GIS نیاز به اتصال به اینترنت و دسترسی به شبکه به دستگاه هایی دارد که برای استقرار برنامه برای کاربران در نظر گرفته شده است. توسعه دهندگان معمولاً از محیط های توسعه یکپارچه (IDE) و چارچوب های برنامه کاربردی وب استفاده می کنندبرای توسعه صفحات وب و برنامه های GIS وب. دسترسی به شبکه بین لایه‌ها از طریق پروتکل‌های استاندارد اینترنت انجام می‌شود، و ارتباطات از طریق اتصالات سیمی سخت (اترنت) یا بی‌سیم (وای‌فای یا سلولی) که معمولاً در همه موارد باند پهن هستند، منتقل می‌شود. شبکه‌ها باید پهنای باندی داشته باشند که قادر به پشتیبانی از تمام مراحل توسعه، آزمایش و استقرار برنامه GIS وب باشد. یک محیط توسعه همچنین باید شامل دسترسی مستقیم به نرم افزارهایی مانند GIS، Web GIS، زبان های رایانه و داده هایی باشد که در برنامه وب GIS مورد استفاده قرار می گیرند.

4.1 معماری سیستم

یک معماری سیستم چند لایه معمولاً توسط برنامه نویس یا توسعه دهنده برای پشتیبانی از پروژه برنامه نویسی وب GIS تنظیم یا استفاده می شود. این معماری شامل یک یا چند مشتری است، سرورهای برنامه و سرورهای داده. معماری سرویس گیرنده-سرور به طور مفصل در Sack (2017) و معماری وب GIS و برنامه های مشتری GIS در Quinn (2018) توضیح داده شده است. کلاینت برنامه برنامه ریزی شده وب GIS است که روی دستگاه کاربر نهایی اجرا می شود و عملکرد برنامه GIS وب را اجرا می کند. مشتری درخواست ها را به و از یک سرور ارسال و دریافت می کند، اغلب از طریق یک مرورگر، یک برنامه نرم افزاری مستقل، یا یک افزونه یا افزونه به نرم افزار دیگری که روی کلاینت نصب شده است. سرور برنامه معمولاً منابع محاسباتی بیشتری نسبت به مشتری دارد و محاسبات و منابعی مانند ذخیره سازی داده ها و ترافیک اینترنت را از طریق شبکه هایی که به آن متصل می شوند مدیریت می کند. سرور با سرور داده ارتباط برقرار می کند و اطلاعات جمع آوری شده یا درخواست شده توسط مشتری را ذخیره و بازیابی می کند.

در یک سیستم چند لایه، هر لایه معمولاً روی رایانه‌های جداگانه اجرا می‌شود، که عملکرد بهتری را نسبت به پیکربندی رایج دیگر، معماری مشتری-سرور 2 لایه، امکان‌پذیر می‌سازد. مشتری اغلب به عنوان لاغر در مقابل چاق شناخته می شود. یک تین کلاینت برای عملکرد به شدت به یک سرور وابسته است، در حالی که یک کلاینت چربی بیشتر محاسبات را روی دستگاه مشتری انجام می دهد. مدیریت مدل تین کلاینت ساده‌تر در نظر گرفته می‌شود، زیرا منابع سخت‌افزاری و نرم‌افزاری مورد نیاز کاربران نهایی کمتر است.

برنامه نویسان نرم افزار اغلب از رایانه های جداگانه برای توسعه، مرحله بندی و تولید برنامه GIS وب استفاده می کنند که در شکل 2 نشان داده شده است. توسعه برنامه Web GIS اغلب شامل نوشتن کد رایانه به زبان کامپایل شده یا اسکریپت یا اصلاح کد برنامه نویسی وب GIS موجود است. مرحله بندی به تنظیم محیطی برای آزمایش برنامه ها قبل از انتشار برای استفاده اشاره دارد. یک محیط تولیدآخرین سیستم استقرار است که از وب سایت ها و برنامه های GIS وب در دسترس کاربران نهایی پشتیبانی می کند. محیط‌های توسعه و مرحله‌بندی برای پشتیبانی از توسعه‌دهندگان در ساخت، اشکال‌زدایی و آزمایش مؤلفه‌های وب GIS، ایجاد برنامه‌های کاربردی مقیاس‌پذیر، عملکرد، وب‌سایت‌ها و پایگاه‌های داده و ایجاد قوانین امنیتی مورد نیاز است. محیط‌های مرحله‌بندی و تولید معمولاً کپی کامل محیط توسعه با داده‌های اضافی یا متفاوت و اقدامات احتیاطی امنیتی سرور هستند که برای به حداقل رساندن آسیب‌پذیری محیط تولید، مانند استفاده غیرمجاز، طراحی شده‌اند.

تولید مرحله بندی توسعه برنامه GIS وب

شکل 2. اجزای اصلی توسعه، مرحله بندی و تولید برنامه GIS وب. منبع: نویسندگان 

4.2 الزامات عملکرد برنامه، طراحی، مستندسازی، محدودیت ها، محدودیت ها و آزمایش

هنگام برنامه ریزی یک پروژه برنامه نویسی وب GIS، الزامات ممکن است توسط کاربر مورد نظر، مانند یک مرجع نظارتی، یا از طریق مطالعه جامعه کاربر مورد نظر، ارائه شود. در حالت ایده‌آل، یک مطالعه سناریوی کاربر برای تعیین نیازهای مخاطبان کاربر هدف برای تولید یک استوری‌بورد انجام می‌شود که نحوه تعامل کاربران مورد نظر با برنامه را توضیح می‌دهد. الزامات عملکرد همچنین شامل تعیین اینکه آیا مخاطب مرورگرها یا برنامه های کاربردی مستقل را ترجیح می دهد و همچنین اینکه برنامه روی چه دستگاه هایی (کامپیوتر، مک، لپ تاپ، تبلت، تلفن همراه) باید اجرا شود، می باشد. بهینه سازی عملکرد برنامه برای چندین مرورگر در مقابل برنامه های کاربردی مستقل در چندین دستگاه و سیستم عامل، نیازمند سرمایه گذاری زمانی متفاوت در تست، رفع اشکال و نگهداری است. الزامات کاربر، انتخاب پلتفرم، نرم افزار،

تخمین تعداد کاربران بالقوه در برنامه ریزی زیرساخت های مورد نیاز مانند سرورها و ذخیره سازی داده ها بسیار مهم است. هر دو معماری 2 و 3 لایه (شکل 1) می توانند مقیاس پذیر باشند، به این معنی که اگر تقاضای کاربر افزایش یابد، می توان منابع اضافی برای مدیریت استفاده را به معماری پشت صحنه اضافه کرد تا از استقرار با کارایی بالا پشتیبانی کند. مثال‌های متداول شامل افزودن سیستم‌های اضافی، تعادل بار، قدرت محاسباتی اضافی، ذخیره‌سازی داده یا سرورها است. مقیاس‌پذیری در برنامه‌نویسی وب GIS به این معنی است که برنامه‌ها برای مدیریت پویا چالش‌های عملکرد عملکرد وب‌سایت و نقشه وب طراحی یا حتی به طور هدفمند کدگذاری می‌شوند. عملکرد پویا کامپیوتر به بهینه سازی منابع کامپیوتری مانند ذخیره سازی و پردازنده ها اشاره دارد که معمولاً از طریق برنامه نویسی در سطح سیستم عامل سمت سرور انجام می شود.

انتخاب زیرساخت‌های محلی در مقابل منابع محاسباتی مبتنی بر ابر، یک ملاحظات مهم در هر پروژه برنامه‌نویسی است. رایانش ابری یک اصطلاح گسترده برای مدلی است که دسترسی به شبکه بر حسب تقاضا را به یک مجموعه مشترک از منابع مجازی مانند سرورها، ذخیره سازی و خدمات وب امکان پذیر می کند (Mell and Grance، 2011). فروشندگان محاسبات ابری مانند Amazon AWS و Microsoft Azure طیف گسترده ای از گزینه های محاسباتی و ذخیره سازی داده را ارائه می دهند. برخی از مزایای اصلی عبارتند از سرعت راه اندازی، سهولت دسترسی و افزونگی، و مقیاس پذیری راه حل ها برای پروژه های برنامه نویسی وب GIS. ساختار هزینه برای میزبانی یک پروژه برنامه نویسی وب GIS به عنوان پلتفرم های میزبانی تجاری مهم است. پلتفرم‌های میزبانی تجاری، مشاغلی هستند که برای کسب سود طراحی شده‌اند، بنابراین معمولاً هزینه‌هایی را به صورت مستمر دریافت می‌کنند.

اگرچه روند فعلی به سمت ترکیب قابلیت ها، اهداف و نرم افزارهای مورد استفاده در توسعه برنامه GIS وب و GIS موبایل وجود دارد، برنامه نویسی وب GIS و برنامه نویسی GIS موبایل معمولاً به عنوان موضوعات جداگانه در نظر گرفته می شوند. این به دلیل تفاوت های قابل توجه در زبان های سیستم عامل بومی در توسعه دسکتاپ، مبتنی بر وب و دستگاه های تلفن همراه (یعنی اپل، مایکروسافت و اندروید) و تعداد زیادی از گزینه های زبان برنامه نویسی، پلت فرم کامپیوتر و بسته نرم افزاری GIS موجود است. راه حل های وب GIS که از برنامه نویسی در پلتفرم های سخت افزاری و نرم افزاری متنوع پشتیبانی می کند.

یکی از مهمترین محدودیت های عملکرد برنامه، اندازه داده های مکانی و غیر مکانی است که باید از طریق برنامه GIS وب در اختیار کاربران قرار گیرد یا از کاربران جمع آوری شود. اندازه داده ها انتخاب منابع سیستم مانند ذخیره سازی و ظرفیت پردازش داده ها و به ویژه انتخاب پایگاه داده یا ذخیره داده را هدایت می کند. به طور کلی، یک داده بزرگمجموعه ممکن است شامل داده‌هایی با تنوع، اندازه (فضای دیسک مورد نیاز) و سرعت قابل توجهی باشد که باید توسط برنامه مدیریت شود (لی و همکاران، 2016). نمونه هایی از داده های بزرگ شامل رسانه های اجتماعی مانند داده های اینستاگرام و تصاویر ماهواره ای است. مدیریت داده ها شامل تجسم در نقشه ها و قالب های جدولی یا متنی، تجزیه و تحلیل فضایی یا غیرمکانی، پرس و جو یا مجموعه است. اندازه داده‌ها و همچنین ماهیت داده‌ها، به‌ویژه، اگر داده‌ها به صورت فایل‌های ثابت یا به‌عنوان رکوردهای پایگاه‌داده در حال تغییر به‌صورت پویا باشند، یک عامل تعیین‌کننده برای برنامه‌ریزی عملکرد برنامه است.

جایی که داده ها قرار می گیرند، مانند داخل سرور داده محیط توسعه برنامه در مقابل داده هایی که باید از طریق سرویس های وب یا سرویس های وب جغرافیایی از منابع راه دور پخش شوند، ممکن است به طور قابل توجهی بر وظایف برنامه نویسی و بهینه سازی شبکه تأثیر بگذارد.. خدمات وب جغرافیایی شامل تصاویر و منابع داده ای است که در زمان واقعی یا تقریباً واقعی توسط یک سرور ارائه می شود. زمانی که زمان پردازش داده ها بر حسب دقیقه در مقابل ثانیه در یک برنامه قابل قبول باشد، از داده های زمان واقعی استفاده می شود. Sack (2017) فهرستی از توضیحات استانداردهای خدمات وب جغرافیایی OGC را ارائه می دهد که می تواند از طریق برنامه های GIS وب برای انتشار تصاویر نقشه شطرنجی، مجموعه های کاشی، داده های برداری، تجسم های متغیر فضا/زمان، و خدمات پردازش جغرافیایی استفاده شود، که همه آنها به طور کلی خروجی یا پاسخی را تولید می کند که در یک برنامه GIS وب آورده می شود.

یک توسعه دهنده همچنین باید اطمینان حاصل کند که حق چاپ قابل اجرا برای داده ها و همه نرم افزارهای مورد استفاده و توسعه یافته به عنوان بخشی از یک پروژه، مستند و شفاف برای سایر توسعه دهندگان و کاربران نهایی است (باکلی، 2010؛ دمپسی، 2012). حفظ حریم خصوصی، امنیت و محرمانه بودن داده های برنامه و کاربر نهایی نیز ملاحظات مهمی در هر پروژه برنامه نویسی وب GIS است (لی و همکاران، 2016؛ ریچاردسون و همکاران، 2015)، به ویژه در برخی حوزه ها مانند سلامت، سوابق آموزشی، و امور مالی داده‌های حساس را می‌توان قبل از انتقال در یک شبکه رمزگذاری کرد و می‌توان از گیرنده لازم بود که داده‌های رمزگذاری شده را بپذیرد.

علاوه بر این، باید به طراحی UI برنامه و UX مورد نظر توجه دقیقی شود (Roth, 2015 Roth et al., 2015, and 2017 ).). اهداف مهم یک استوری بورد یا روایت مطالعه سناریوی کاربر، شامل تعیین عملکرد مورد نیاز برنامه است که به بهترین وجه با مخاطب مورد نظر مطابقت دارد. یک پروژه برنامه نویسی وب GIS ممکن است نیاز به نوشتن کد کامپیوتری برای تکمیل کارهایی مانند ایجاد یک رابط کاربری منحصر به فرد، ساده سازی پرس و جوهای پایگاه داده، افزودن رویه های ذخیره شده به پایگاه داده، جمع آوری داده ها یا پردازش داده های زنده (در لحظه) در UI، افزایش عملکرد نرم افزار وب GIS موجود با یک ابزار سفارشی مانند ویجت، دکمه یا منو، و/یا ساختن یک وب سایت پروژه محور که در آن برنامه Web GIS تعبیه شود. به طور مشابه، جمع آوری داده ها، یا جمع آوری داده های تولید شده توسط کاربران، باید در طراحی پایگاه داده لحاظ شود. به عنوان مثال، یک پایگاه داده طراحی شده به عنوان یک اطلاعات جغرافیایی داوطلبانه (VGI) (کوین،

آزمایش کاربر در ایجاد یک برنامه GIS وب از اهمیت حیاتی برخوردار است، زیرا این فرآیند قابلیت استفاده و سودمندی برنامه را برای مخاطب مورد نظر تعیین می کند (راث و همکاران، 2015). اصول طراحی کاربر محور (UCD) باید برای ایجاد و تکامل رابط کاربری اعمال شود. در UCD، رابط کاربری برنامه برای آزمایش با مخاطب هدف به اشتراک گذاشته می شود. برنامه نویس وب GIS بازخورد تجربیات کاربران را جمع آوری می کند و سپس از بازخورد برای بهبود رابط کاربری استفاده می کند. تکرارهای متعدد تست کاربر می تواند ورودی ارزشمندی در مورد نیازهای کاربران ارائه دهد. این راهنما بهبود طراحی برنامه کاربردی را از طریق بازنگری در ابزار یا الزامات عملکردی سمت سرویس گیرنده رابط کاربری تسهیل می کند. در حالت ایده آل،

علاوه بر این، برنامه نویس وب GIS باید مستندات توسعه دهنده محور را برای کدهای کامپیوتری از ابتدا تا انتهای پروژه ارائه دهد. مستندات می‌تواند شامل نظرات درون کد کامپیوتر، فایل‌های readme با دستورالعمل‌های استفاده، اشتراک‌گذاری و توسعه بیشتر کد، و ایجاد ابرداده مرتبط با هر داده مکانی ارائه‌شده با کد باشد. اسناد کاربر محور ممکن است حاوی محتوای کمکی در رابط کاربر نهایی باشد. اسناد برای استفاده طولانی مدت و نگهداری از یک برنامه کاربردی و برای به اشتراک گذاری یک پروژه از طریق مخزنی مانند GitHub بسیار مهم است.

کنترل نسخه یا یک پروتکل ردیابی به روز رسانی نرم افزار نیز باید برای پیگیری تغییرات پروژه در طول زمان اجرا شود، به خصوص اگر تیمی از برنامه نویسان روی پروژه کار می کنند. منبع باز و همچنین ابزارهای نرم افزاری اختصاصی در دسترس هستند که به طور خاص برای کنترل نسخه برنامه طراحی شده اند، و همچنین ممکن است شامل ابزارهایی برای ردیابی مشکلاتی مانند اشکالات و همچنین تغییرات تکراری ایجاد شده در کد باشند.

در مرحله بعد، آزمایش عملکرد برنامه‌های GIS وب با استفاده از یک محیط مرحله‌بندی شامل بررسی زمان پاسخگویی همه عملکردها در برنامه، برای تأیید کارایی پیکربندی سیستم است. این تست نیاز عملکردی سمت سرور در نظر گرفته می شود. به طور کلی، زمان پاسخ دهی یا صدها میلی ثانیه برای اکثر توابع نقشه وب انتظار می رود. تست صحت، که گاهی اوقات به عنوان اعتبارسنجی یا تست واحد نیز بسته به جزئیات تست شناخته می شود، تأیید می کند که پاسخ های ارائه شده توسط داده ها و خدمات محاسباتی با نتایج مورد انتظار مطابقت دارند. این معمولاً با استفاده از زیرمجموعه‌ای از داده‌های ورودی انجام می‌شود که مقادیر خروجی آن از قبل شناخته شده است و با نتایج عملیاتی فعلی سیستم مقایسه می‌شود. هر دو شکل آزمایش می توانند و باید به صورت خودکار به صورت برنامه ریزی شده باشند،

پشتیبانی طولانی مدت برنامه و نیازهای تعمیر و نگهداری نیز برای اجرای موفق پروژه حیاتی در نظر گرفته می شود. نرم‌افزار GIS و وب GIS و نسخه‌سازی سیستم‌های عامل دستگاه سرور و کلاینت نیاز به هوشیاری دارد. نسخه‌سازی مرورگرها نیز تأثیر مهمی بر هر برنامه‌ای خواهد داشت. علاوه بر این، زبان‌های برنامه‌نویسی سمت سرویس گیرنده و سمت سرور، نسخه‌هایشان را به همان اندازه تغییر می‌دهند، اگرچه تغییرات عمده در زبان‌ها معمولاً هر سه تا پنج سال یکبار اتفاق می‌افتد. نسخه‌سازی نرم‌افزار و سخت‌افزار نیازمند آزمایش مجدد برنامه‌های آماده تولید است. نگهداری برنامه به طور منظم برنامه ریزی شده و مقداری برای به روز رسانی های غیرمنتظره باید در محدوده هر پروژه برای طول عمر پیش بینی شده برنامه گنجانده شود. در حالت ایده آل،

5. زبان های برنامه نویسی وب GIS

برنامه نویسی وب GIS شامل استفاده از زبان های برنامه نویسی سمت مشتری برای ایجاد صفحات وب و برنامه های GIS وب و زبان های سرور برای ایجاد برنامه های کاربردی سمت سرور است. چندین پلتفرم نقشه برداری وب رایج و گزینه های نرم افزار وب GIS موجود برای اجرای پروژه های Web GIS به ترتیب در Sack (2017) و Quinn (2018) مورد بحث قرار گرفته اند. زبان های سمت مشتری (شکل 1) که اغلب در برنامه نویسی وب GIS استفاده می شوند در جدول 1 فهرست شده اند.

جدول 1. زبان هایی که معمولاً مورد استفاده قرار می گیرند
زبان فرمت فایل شرح
HTML  .html زبان نشانه گذاری فرامتن: ساختار و محتوای یک صفحه وب را کنترل می کند. 
CSS  css شیوه نامه های آبشاری: ظاهر و احساس یک صفحه وب را کنترل می کند.
جاوا اسکریپت  js زبان اسکریپتی که برای نوشتن کلاینت های وب GIS و استفاده یا گسترش API های شخص ثالث استفاده می شود. می توان از آن برای ایجاد چارچوب ها و کتابخانه های شخص ثالث  استفاده کرد.

 

HTML، CSS و جاوا اسکریپت زبان‌های اسکریپت‌نویسی یا فرانت‌اند هستند که در مرورگر یا کلاینت با هم کار می‌کنند تا آنچه را که نمایش داده می‌شود و اتفاقاتی که در یک صفحه وب روی می‌دهد، از جمله جاسازی یک نقشه وب در یک صفحه وب، کنترل کنند. تمام پردازش این زبان ها بر روی کامپیوتر مشتری انجام می شود. کتابخانه‌هایی مانند JQuery و Bootstrap ابزارهای منبع باز را ارائه می‌کنند که توسعه با زبان‌های اسکریپت مانند HTML، CSS و JavaScript را تسهیل می‌کنند. یکی از نقاط قوت این چارچوب ها این است که باگ ها و ناسازگاری های بین مرورگرهای اصلی را برطرف می کنند، بنابراین برنامه ها در بسیاری از مرورگرها به راحتی اجرا می شوند.

بسیاری از زبان‌های کامپایل‌شده و برخی از زبان‌های برنامه‌نویسی در علوم فضایی و صنعت زمین‌فضایی استفاده می‌شوند که روی سرورها اجرا می‌شوند. این زبان‌ها اغلب به عنوان زبان‌های سمت سرور یا بک‌اند شناخته می‌شوند. مجموعه‌ای از رایج‌ترین زبان‌های برنامه‌نویسی شی‌گرا سمت سرور، همه منظوره، مورد استفاده در برنامه‌نویسی وب GIS که می‌توانند با بسیاری از پایگاه‌های داده نیز استفاده شوند، در جدول 2 فهرست شده‌اند. برای مثال Python، Java و ASP.NET می‌توانند همچنین به عنوان زبان های سمت سرویس گیرنده مستقر شوند.

جدول 2. زبان هایی که معمولاً در سمت سرور استفاده می شوند
زبان فرمت فایل شرح
ASP.NET  .aspx، .asmx، .ashx، .ascx توسط مایکروسافت به عنوان بخشی از چارچوب دات نت (مایکروسافت، 2018)، به طور خاص برای توسعه صفحات وب پویا طراحی شده است. صفحات سرور فعال مایکروسافت (ASP) را موفق کرد.
سی شارپ  cs توسط مایکروسافت به عنوان بخشی از چارچوب دات نت توسعه یافته است. سی شارپ قابل حمل است زیرا می توان از آن برای توسعه اجزای نرم افزار وب GIS استفاده کرد که می توانند کامپایل شوند و سپس بر روی سرورهای توزیع شده مستقر شوند.
جاوا  .java، .jar توسط Sun Microsystems توسعه داده شد و سپس توسط Oracle Corporation خریداری شد و معمولاً برای توسعه برنامه‌های وب سرویس گیرنده-سرور استفاده می‌شود. برنامه های جاوا می توانند بر روی هر ماشین مجازی جاوا (JVM) بدون کامپایل مجدد کد منبع اجرا شوند.
php  php پیش پردازشگر فرامتن؛ زبان برنامه نویسی طراحی شده برای توسعه برنامه های کاربردی وب که می تواند در HTML جاسازی شود. PHP توسط زمان اجرا php، یک مفسر در سرور، معمولا برای ایجاد محتوای پویا یا تصاویر صفحه وب اجرا می شود.
پایتون  .py زبان اسکریپت تفسیر شده روی سرور در زمان اجرا که می تواند برای گسترش و سفارشی سازی نرم افزار GIS وب دسکتاپ و مبتنی بر ابر استفاده شود ( ری، 2017 ).
یاقوت سرخ  .rb چارچوب توسعه برنامه های کاربردی وب که به زبان C نوشته شده است که ساختارهای داخلی برای صفحات وب، خدمات وب و پایگاه داده ارائه می کند (Ruby, 2018). Ruby on Rails یک چارچوب وب محبوب است که به زبان Ruby نوشته شده است. به عنوان مثال برنامه های Ruby on Rails شامل GitHub، Basecamp، Airbnb و Hulu (Rails، 2018) است.

چارچوب های برنامه کاربردی وب ذکر شده در بالا می توانند برای توسعه برنامه های کاربردی کاملاً جدا از GIS استفاده شوند. یکپارچه‌سازی با نرم‌افزار مکانی داوطلبانه است و باید با اهداف روشن در مورد چرایی نیاز به GIS انجام شود. هر برنامه کامپیوتری وب GIS مجموعه‌ای از دستورالعمل‌ها، دنباله‌ای از چند یا چند دستور است که بدون توجه به زبان رایانه، پلتفرم (سیستم عامل) یا هدف یک برنامه خاص، به ترتیب خاص اجرا می‌شوند. تفاوت اصلی بین زبان ها در درجه اول قوانینی است که برای انتساب معنی به متغیرها یا اشیا استفاده می شود. اگرچه توصیف جزییات زبان های برنامه نویسی وب GIS که در بالا ذکر شد خارج از محدوده این مدخل است، منابع و منابع اضافی ارائه شده است.

منابع: 

باکلی، ا. (2010، 3 دسامبر). استفاده و استناد به داده های Esri [وبلاگ]. بازیابی شده در 17 اوت 2018، از https://www.esri.com/arcgis-blog/products/product/mapping/using-and-citing-esri-data/?rmedium=redirect&rsource=/esri/arcgis/2010/12 /03/using-and-citing-esri-data .

دمپسی، سی (2012، 24 سپتامبر). استناد به مواد GIS سالن GIS . بازیابی شده در 17 اوت 2018، از https://www.gislounge.com/how-to-cite-gis-materials /.

اسری (2010). Esri GeoServices REST مشخصات نسخه 1.0. در 1 نوامبر 2018، از https://www.esri.com/library/whitepapers/pdfs/geoservices-rest-spec.pdf بازیابی شده است.

فیلدینگ، RT (2000). سبک های معماری و طراحی معماری های نرم افزاری مبتنی بر شبکه پایان نامه دکتری. دانشگاه کالیفرنیا، ایروین

لی، اس.، دراگیسویچ، اس.، کاسترو، FA، سستر، ام.، وینتر، اس.، کولتکین، آ.، پتیت، سی، جیانگ، بی.، هاورث، جی، استین، ا.، و چنگ، تی (2016). نظریه و روش‌های مدیریت داده‌های بزرگ جغرافیایی: بررسی و چالش‌های پژوهشی. ISPRS مجله فتوگرامتری و سنجش از دور 115، 119-33. DOI:  10.1016/j.isprsjprs.2015.10.012 .

Mell, P., & Grance, T. (2011). تعریف NIST از رایانش ابری. توصیه های موسسه ملی استاندارد و فناوری. نشر ویژه 800-145. وزارت بازرگانی آمریکا DOI:  10.6028/NIST.SP.800-145 .

کوین، اس (2018). وب GIS. مجموعه دانش علم و فناوری اطلاعات جغرافیایی (نسخه سه ماهه اول 2018)، جان پی. ویلسون (ویرایش). DOI: 10.22224/gistbok/2018.1.11

ریل (2018). یاقوت روی ریل. بازیابی شده در 17 اوت 2018، از https://rubyonrails.org /.

ری، اس جی (2017). پایتون برای GIS. مجموعه دانش علم و فناوری اطلاعات جغرافیایی (نسخه سه ماهه سوم 2017)، جان پی. ویلسون (ویرایش). DOI: 10.22224/gistbok/2017.3.4

ریچاردسون، دی بی، کوان، ام.-پی.، آلتر، جی و مک کندری، جی (2015). تکرار تحقیقات علمی: پرداختن به چالش های حریم خصوصی، محرمانه بودن و به اشتراک گذاری داده ها در تحقیقات جغرافیایی. سالنامه GIS 21 (2)، 101-10. DOI: 10.1080/19475683.2015.1027792 .

راث، آر (2015). تعامل و کارتوگرافی: دیدگاهی معاصر در طراحی رابط کاربری و تجربه کاربر از متخصصان زمین فضایی. Cartographica 50 (2)، 94-115. DOI:  10.3138/cart.50.2.2427 .

راث، RE (2017). طراحی رابط کاربری و تجربه کاربری (UI/UX). مجموعه دانش علم و فناوری اطلاعات جغرافیایی (نسخه سه ماهه دوم 2017)، جان پی ویلسون (ویرایشگر). DOI: 10.22224/gistbok/2017.2.5 .

Roth، RE، Ross، KS، و MacEachren، AM (2015). طراحی کاربر محور برای نقشه های تعاملی: مطالعه موردی در تجزیه و تحلیل جرم. ISPRS International Journal of Geo-Information ، 4 (1)، 262-301. DOI:  10.3390/ijgi4010262 .

ساک، سی (2017). نقشه برداری وب مجموعه دانش علم و فناوری اطلاعات جغرافیایی (چاپ چهارم 2017)، جان پی ویلسون (ویرایشگر). DOI: 10.22224/gistbok/2017.4.11

اهداف یادگیری: 
  • هدف برنامه نویسی وب GIS را تعریف و توضیح دهید، مانند نحوه استفاده از آن برای ساخت یا گسترش عملکرد نرم افزار GIS.
  • مثالی از یک رویکرد برنامه نویسی برای رسیدگی به یک مشکل خاص برنامه نویسی وب GIS ارائه دهید.
  • مزایا و چالش های توسعه برنامه های GIS وب با استفاده از فناوری های مختلف نرم افزاری و معماری سیستم را شرح دهید.
  • نشان دادن آشنایی با زبان های مختلف رایانه وب و سرور که معمولاً در توسعه برنامه Web GIS استفاده می شود.
سوالات ارزشیابی آموزشی: 
  1. اهداف اصلی برنامه نویسی وب GIS چیست؟
  2. اجزای اصلی یک پروژه برنامه نویسی وب GIS را توضیح دهید.
  3. چگونه اجزای مختلف را برای یک پروژه برنامه نویسی وب GIS انتخاب می کنید؟
  4. زبان های کامپیوتری رایج مورد استفاده در برنامه نویسی وب GIS را فهرست کنید و به طور خلاصه توضیح دهید که چگونه، چه زمانی و چرا از آنها استفاده می شود.
منابع اضافی: 
  1. ASP.NET – https://www.asp.net/ .
  2. Creative Commons (CC) درباره مجوزها – https://creativecommons.org/licenses/ .
  3. راهنمای سی شارپ – https://docs.microsoft.com/en-us/dotnet/csharp/index .
  4. Fu, P. (2018) آشنایی با وب GIS، ویرایش سوم. ردلندز، کالیفرنیا: مطبوعات اسری.
  5. جاوا – https://www.oracle.com/java/ .
  6. php – http://php.net/ .
  7. روبی – https://www.ruby-lang.org/en/. 
  8. W3C (کنسرسیوم وب جهانی) (2017، 31 ژانویه). CSS Snapshot 2017، یادداشت گروه کاری W3C. بازیابی شده در 17 اوت 2018، از www.w3.org/TR/CSS/#css .
  9. W3C (کنسرسیوم وب جهانی) (2017، 14 دسامبر). HTML 5.2 توصیه W3C. بازیابی شده در 17 اوت 2018، از http://www.w3.org/TR/html5/ .
  10. نرم افزار رایگان چیست؟ تعریف نرم افزار رایگان – https://www.gnu.org/philosophy/free-sw.en.html .

6 نظرات

دیدگاهتان را بنویسید