توضیحات
کتاب آموزش برنامه نویسی web gis با python
کتاب آموزش برنامه نویسی web gis با python برای افرادی نوشته شده است که میخواهند درباره GIS و Web GIS آموزش ببینند و با کمترین دانش برنامهنویسی، خیلی راحت و سریع، یک سامانه Web GIS بسازند. حتی اگر با GIS آشنا نباشید، مطالعه کتاب آموزش برنامه نویسی web gis با python میتواند در سریعترین زمان ممکن و بدون درگیر کردن شما با مباحث فنی، GIS و Web GIS را به شما بیاموزد و نحوه ساخت یک سامانه Web GIS با استفاده از زبان برنامه نویسی Python را به شما آموزش دهد.
زبان برنامه نویسی Python، یکی از راحتترین زبانهای برنامه نویسی برای یادگیری میباشد. این زبان مورد استقبال طیف وسیعی قرار گرفته که میخواهند بدون درگیر شدن با مباحث مهندسی نرمافزار، اقدام به ساخت سامانهها نمایند. به لطف وجود Framework های قوی، برنامهنویسی GIS و ساخت سامانه Web GIS با استفاده از زبان پایتون، بسیار ساده و سریع میباشد.
محتوا کتاب آموزش برنامه نویسی web GIS با PHYTON
در تالیف محتوای کتاب آموزش برنامهنویسی web gis با python تلاش نمودیم از پیشینه ۱۳ سال فعالیتمان در صنعت GIS و تولید سامانههای اطلاعات مکانی، بهره ببریم. بازخوردهایی که فراگیران مشاورهها و آموزشهای GIS به ما دادهاند، ما را بر آن داشت تا کتابی را تالیف کنیم که با زبانی ساده، GIS و Web GIS را شرح دهد و نیز برای ساخت Web GIS، سادهترین زبان برنامهنویسی که استقبال جهانی از آن رو به رشد میباشد را برگزینیم.
دو فصل اول کتاب آموزش برنامه نویسی web gis با python برای افرادی است که میخواهند به زبانی ساده با GIS و Web GIS آشنا شوند.
در فصل سوم به دستور زبان پایتون پرداختهایم و در فصلهای آتی، شما را با برنامهنویسی GIS در پایتون آشنا میکنیم و نحوه ساخت یک Web GIS پایه با استفاده از پایتون را یاد میگیرید.
خواندن کتاب آموزش برنامه نویسی web gis با python و یادگیری برنامهنویسی GIS با پایتون را به همه دانشجویان علاقمند به GIS، کارجویان بازار کار GIS و کارشناسان GIS و مدیران سازمانها، پیشنهاد میکنیم.
بخشی از کتاب WEB GIS با PHYTON
سامانه اطلاعات مکانی
ابتدا میخواهیم درک کنیم که سامانه اطلاعات جرافیایی یا GIS چیست و یک تعریف ساده و قابل فهم از آن ارائه کنیم. در خصوص حرف G در واژه کوتاه شده GIS، در برخی از منابع به واژه Geographic و در برخی دیگر ازمنابع به واژه Geospatial اشاره شده است. منابع پارسی زبان، واژه Geographic را به جغرافیایی و واژه geospatial رابه مکانی، ترجمه کردهاند. لذا ممکن است شما در منابع گوناگون با عبارتهای “سامانه اطلاعات جغرافیایی” و یا “سامانه اطلاعات مکانی” برخورد کنید که هردوی آنها به GIS اشاره دارند. پیش از آن که به یک تعریف ساده و قابل فهم از GIS دست پیدا کنیم، برخی مفاهیم پایه نظیر سامانه، داده، اطلاعات را تعربف میکنیم و سپس به تعریف سامانه اطلاعات مکانی میپردازیم .
تعریف سامانه
سامانه مجموعهای از اجزای است که باهم کار میکنند و هدف مشخصی را دنبال میکنند. طبق این تعریف روشن است که GIS از چندین قسمت متصل و وابسته به یکدیگر برای کابردهای گوناگون، ساخته شده است. به عبارت دیگر، سامانه، مجموعهای از اجزای محدود است که برای رسیدن به هدف خاصی همکاری میکنند. سامانه شامل عناصر اصلی و روابط بین آنها نیز مجموعهای از روابط میان خودش با محیط اطرافش است.
به عنوان مثال سامانه حرارتی یک ساختمان یک سامانه ساده است که ورودی آن سوخت و خروجی آن انرزی است و بازده آن میزان گرمایی است که قابل اندازهگیری است. بررسی هر سامانه با تعریف جزئیات و روابط بین آنها شناخته میشود.
بنابراین داده، پایه و اساس هر سامانه است و کوچکترین بخش یک سامانه است. دادههای خام در سامانهها پردازش میشوند تا اطلاعات مورد نیاز جهت تصمیمگیریهای صحیح، تولید شوند.
سامانههای اطلاعاتی، سامانههای رایانهای هستند که دادهها یا اطلاعات را نگهداری و پردازش میکنند. داده مهمترین عنصر درسامانه اطلاعاتی است. بخشی از این سامانهها علاوه بر اعداد و حروف با نقشه نیز کار میکنند که این سامانهها را، سامانههای اطلاعاتی مکانی مینامند .
تعریف دادهها
دادهها در واقع قالبی از اطلاعات خام و دست نخورده است که برای استفاده مختلف در نظر گرفته میشود. دادهها به خودی خود فاقد معنا و مفهوم هستند. یعنی قابل درک و فهم نمیباشند. برای مثال عدد بیست، یک داده میباشند که فاقد معنا و مفهوم است و مشخص نیست که دقیقا چیست. دادهها به عنوان ورودی سامانه مورد استفاده قرار میگیرند. زمانی که یک محقق برای انجام پروژه تحقیقاتی خودش شروع به جمع آوری اطلاعات خام میکند، این کار را با استفاده از ابزاری به نام پرسش نامه انجام میدهد. معمولا پرسشنامهها یا فرمهای نظر سنجی برای خودشان دارای گزینههایی مثل D,C,B,A هستند.
فرض کنید این محقق میخواهند نتایج پرسشنامهای که تهیه کرده است را بدست بیاورد، در وهله اول نگاه کردن به تعدادی D,C,B,A و نتیجه خاصی به دست نمیآید و فقط مقداری اطلاعات مبهم و خام به دست خواهد آمد، زمانی که هر کدام از این گزینهها بیانگر یک شرط، وضعیت، پاسخ باشند و نتیجهها کنار هم قرار بگیرند وتجزیه و نحلیل شود به نتیجهای که بدست آمده است و میتوان آن را به دیگران ارائه کرد، اطلاعات گفته میشود، اطلاعات خامی که جمع آوری و تجزیه تحلیل شوند به عنوان دادهها شناخته میشوند.
تعریف اطلاعات
اطلاعات، عبارتند از دادههایی که پس از طی فرآیندهایی، معنیدار میشوند. جهت تبدیل دادهها به اطلاعات، باید تغییرات و یا اصطلاحاتی روی آنها صورت پذیرد. به این تغییرات و اصطلاحات، پردازش گفته میشود. اطلاعات، دارای معنا و مفهوم هستند و مانند دادهها، مبهم و غیرقابل فهم نیستند. برای مثال به این جمله دقت کنید.
“عدد بیست نمره درس ریاضی دانش آموزی با نام علی امیری میباشد”
این جمله در مورد نمره ریاضی علی امیری، اطلاع دقیق میدهد. لذا عدد بیست دیگر از حالت بی معنا و غیر قابل فهم، خارج شده است. اطلاعات به عنوان خروجی سامانهها میباشند. اطلاعات به کاربران، این اجازه را میدهند که بتوانند ماهیت دادههای اصلی را به درستی درک کنند و بتوانند نتیجه دادهها به صورت قابل فهم بدست بیاورند و استفاده کنند.
زمانی محققین دادهها را بدست میآورند و بین دادهها و متغیرها رابطه ایجاد میکنند، این رابطهها در نهایت باعث رسیدن به یک نتیجه میشود که این نتیجه، اطلاعات گفته میشود. در واقع اطلاعات، رابطه ای است که بین این متغیرها ایجاد میشود.
فهرست مطالب کتاب آموزش برنامه نویسی web gis با python
مقدمه
فصل اول / سامانه اطلاعات مکانی چیست؟
۱. مقدمه
۲. سامانه اطلاعات مکانی
۱.۲. تعریف سامانه
۲.۲. تعریف دادهها
۳.۲. تعریف اطلاعات
۴.۲. تعریف دانش
۵.۲. دادههای مکانی چیست؟
۶.۲. اطلاعات مکانی چیست؟
۷.۲. سامانه اطلاعات مکانی چیست؟
۳. اجزای تشکیلدهنده GIS
۱.۳. سختافزار
۲.۳. نرمافزار
۳.۳. کاربران
۴.۳. دادهها
۵.۳. روشها
۴. اصطلاحات و مفاهیم پایه در GIS
۱.۴. عارضه
۲.۴. لایه
۳.۴. نقشه
۴.۴. مقیاس
۵.۴. دستگاه مختصات جغرافیایی
۶.۴. سیستم مختصات
۵. دادهها در GIS
۱.۵. دادههای مکانی
۲.۵. اطلاعات توصیفی
۳.۵. مدل دادهها
۴.۵. مدل دادهبرداری
۵.۵. مدل داده تصویری
۶.۵. آمادهسازی دادهها برای استفاده در GIS
۶. معرفی پایگاهدادههای مکانی
۱.۶. تعریف پایگاهدادهها
۲.۶. سامانه مدیریت پایگاهدادهها
۳.۶. انواع پایگاهدادهها
۴.۶. پایگاهدادههای مکانی
۷. مراحل ایجاد سامانه اطلاعات مکانی
۱.۷. امکانسنجی
۲.۷. نیازسنجی
۳.۷. طراحی مدل مفهومی
۴.۷. بررسی وضعیت دادههای موجود
۵.۷. ارزیابی و گزینش نرمافزار و سختافزار
۶.۷. طراحی مدل منطقی و فیزیکی
۷.۷. یکپارچهسازی سامانه
۸.۷. انجام پروژه آزمایشی
۹.۷. پیاده سازی نهایی سامانه
۱۰.۷. نگهداری و پشتیبانی سامانه
۱۱.۷. مستندسازی
۱۲.۷. آموزش
۸. کاربردهای GIS
۹. روشهای بهکارگیری GIS
۱.۹. Desktop GIS
۲.۹. Web GIS
۳.۹. Mobile GIS
۱۰. اهمیت اطلاعات مکانی در جامعه
فصل دوم/ سامانه اطلاعات مکانی تحت وب چیست؟
۱. مقدمه
۲. آشنایی با مفاهیم شبکه، اینترنت و وب
۱.۲. شبکه
۲.۲. سرویسدهنده
۳.۲. سرویسگیرنده
۴.۲. اینترنت
۵.۲. اینترانت
۶.۲. وب
۷.۲. وبسایت
۸.۲. سرویسدهنده وب
۹.۲. میزبان
۱۰.۲. مرورگر وب
۱۱.۲. معماری سرویسدهنده سرویسگیرنده
۳. اجزای Web GIS
۱.۳. معماری Web GIS چیست؟
۲.۳. اجزای تشکیلدهنده سرویسدهنده GIS
۳.۳. اجزای تشکیلدهنده سرویسگیرنده GIS
۴. انواع معماری Web GIS
۱.۴. معماری سمت سرویسدهنده
۲.۴. معماری سمت سرویسگیرنده
۳.۴. معماری ترکیبی
۴.۴. انتخاب معماری
۵. روشهای پیادهسازی Web GIS
۱.۵. مقدمهای بر متنباز
۲.۵. متن باز در برابر تجاری
۳.۵. چرا متن باز
۴.۵. چرا سامانه اطلاعات مکانی متن باز؟
۵.۵. بنیاد متن باز مکانی
۶.۵. کنسرسیوم آزاد مکانی
۶. مراحل ایجاد سامانه Web GIS
۱.۶. نیازسنجی
۲.۶. طراحی مدل مفهومی
۳.۶. ارزیابی و گزینش نرمافزار و سختافزار
۴.۶. طراحی مدل منطقی و فیزیکی
۵.۶. یکپارچهسازی سامانه
۶.۶. توسعه سامانه
۷.۶. نگهداری و پشتیبانی سامانه
۷. انتشار نقشهها در محیط وب
۱.۷. مفاهیم انتشار نقشهها تحت Web
۲.۷. نرمافزار انتشار نقشهها تحت Web
۸. استانداردهای مکانی
۱.۸. استاندارد مکانی چیست؟
۲.۸. پیشینه استانداردهای مکانی متن باز
۳.۸. کنسرسیوم آزاد مکانی
۴.۸. کمیته ISO/TC211
۵.۸. استانداردهای OGC
۹. قابلیتهای یک سامانه Web GIS
۱.۹. امکان نمایش نقشههای مختلف
۲.۹. قابلیتهای مرور نقشه
۳.۹. قابلیت اندازهگیری بر روی نقشه
۴.۹. قابلیت ترسیم اشکال هندسی بر روی نقشه
۵.۹. امکان جستجو در اطلاعات لایههای نقشه
۶.۹. قابلیت نمایش و ویرایش اطلاعات توصیفی عوارض نقشه
۱۰. برنامهنویسی Web GIS
۱.۱۰. طراحی و تولید یک واسط کاربری تحت وب
۲.۱۰. برنامه نویسی سمت سرویسدهنده
۳.۱۰. برنامه نویسی سمت سرویسگیرنده
۱۱. چند نمونه کاربردی Web GIS
۱.۱۱. سامانه نقشه گردشگری
۲.۱۱. سامانه برداشت اطلاعات با استفاده از موبایل
۳.۱۱. سامانه پلیس آب
۴.۱۱. سامانه نظارت بر پرسنل میدانی
۵.۱۱. سامانه مدیریت و ثبت وقایع ترافیکی
۶.۱۱. سامانه نام گذاری معابر و اماکن
۷.۱۱. سامانه مدیریت روسازی معابر
۸.۱۱. سامانه Web GIS تاسیسات
۹.۱۱. سامانه Web GIS شهری
فصل سوم / معرفی زبان برنامهنویسی پایتون
۱. مقدمه
۲. مفاهیم اولیه برنامهنویسی
۱.۲. برنامه چیست؟
۲.۲. زبان برنامهنویسی
۳.۲. اجرای برنامه توسط رایانه
۴.۲. اشکالزدایی برنامه
۵.۲. خطاهای برنامهنویسی
۶.۲. آزمایش برنامه
۳. آشنایی با پایتون
۱.۳. تاریخچه پایتون
۲.۳. مزایای کلیدی پایتون
۳.۳. آمار استفاده از پایتون
۴.۳. موارد استفاده از پایتون
۵.۳. معایب پایتون
۶.۳. علت کند بودن پایتون
۷.۳. راههای افزایش سرعت برنامههای پایتون
۸.۳. پایتون نسخه ۲ یا پایتون نسخه ۳
۹.۳. کتابخانههای پایتون
۱۰.۳. پایتون و GIS
۱۱.۳. استفادهکنندگان پایتون
فصل چهارم / دستور زبان برنامه نویسی پایتون
۱. مقدمه
۲. اولین برنامه با پایتون
۱.۲. نصب پایتون
۲.۲. اجرای کدهای پایتون
۳.۲. ساختار یک برنامه پایتون
۳. متغیرها
۱.۳. متغیر چیست؟
۲.۳. تخصیص مقدار به متغیر
۳.۳. تخصیص چندتایی
۴.۳. انواع داده استاندارد در پایتون
۵.۳. اعداد در پایتون
۶.۳. رشتهها در پایتون
۷.۳. لیستها در پایتون
۸.۳. تاپلها در پایتون
۹.۳. دیکشنری در پایتون
۱۰.۳. تبدیل انواع دادهای در پایتون
۴. عملگرها
۱.۴. انواع عملگرها
۵. تابع
۱.۵. تابع چیست؟
۲.۵. ایجاد تابع
۳.۵. فراخوانی تابع
۴.۵. توابع بینام
۵.۵. دستور return
۶.۵. حوزهی دسترسی متغیر
۷.۵. توابع ریاضی در پایتون
۸.۵. اعداد و کاراکترهای تصادفی
۹.۵. توابع بازگشتی در پایتون
۶. دستورات کنترلی
۱.۶. اجرای عبارات شرطی
۲.۶. عبارت منطقی
۷. حلقههای تکرار
۱.۷. حلقه For
۲.۷. حلقه While
۳.۷. دستور Break
۴.۷. دستور Continue
۵.۷. دستور Pass
۶.۷. حلقههای تودرتو
۷.۷. مثال توابع بازگشتی
۸. شیگرایی
۱.۸. برنامهنویسی شیگرا
۲.۸. تعریف کلاس
۳.۸. تعریف شی
۴.۸. تعریف کپسولهسازی
۵.۸. تعریف وراثت
۶.۸. تعریف چندریختی
۷.۸. تعریف انتزاع یا تجرید
۸.۸. نمونههای عملی از شیگرایی در پایتون
فصل پنجم / مفاهیم طراحی صفحات وب
۱. مقدمه
۲. اهميت طراحي وبسايت
۳. HTML چیست؟
۱.۳. عناصر تشکیلدهنده HTML
۲.۳. آنچه براي يادگيري HTML موردنیاز است
۳.۳. برچسبهای HTML
۴. CSS چیست؟
۱.۴. روشهای استفاده از CSS
۲.۴. استفاده از انتخابگرها در CSS
۳.۴. تنظیم پسزمینه در CSS
۴.۴. تنظیم ابعاد در CSS
۵.۴. تنظیم قلم و اندازه آن در CSS
۶.۴. محل قرارگیری عناصر در CSS
۷.۴. تنظیمات حاشیه در CSS
۵. JavaScript چیست؟
۱.۵. خصوصیات JavaScript
۲.۵. محل قرارگیری کدها
۳.۵. دستورات اولیه برای شروع
۴.۵. رویدادها
۵.۵. کتابخانههای JavaScript
۶. jQuery چیست؟
۱.۶. نصب و راهاندازی jQuery
۲.۶. انتخابگرهای jQuery
۳.۶. رویدادها در jQuery
۴.۴. استفاده از Callback در jQuery
۵.۶. دستکاری عناصر صفحه HTML
۶.۶. اضافه کردن عناصر
۷.۶. حذف کردن عناصر
۸.۶. AJAX چیست؟
۹.۶. متدهای AJAX در jQuery
فصل ششم/ آمادهسازی محیط برنامهنویسی
۱. مقدمه
۲. انتخاب نرمافزار مناسب برای برنامهنویسی پایتون
۱.۲. IDE چیست؟
۲.۲. IDEهای عمومی
۳.۲. IDEهای مخصوص برنامهنویسی پایتون
۴.۲. نصب و راهاندازی چارچوبکاری Django
۳. معرفی و نصب PostgreSQL
۱.۳. معرفی PostgreSQL
۲.۳. نصب PostgreSQL
۴. معرفی و نصب PostGIS
۱.۴. معرفی PostGIS
۲.۴. قابلیتهای مکانی PostGIS
۳.۴. نصب PostGIS
۴.۴. معرفی و نصب Psycopg2
۵. معرفی و نصب GeoServer
۱.۵. معرفی GeoServer
۲.۵. نصب GeoServer
۶. معرفی و نصب OpenLayers
فصل هفتم/ آشنایی با چارچوبکاری Django
۱. مقدمه
۲. طراحی ایستا در برابر طراحی پویا
۳. چارچوب وب چیست؟
۴. الگوی طراحی MVC
۵. ساخت یک پروژه
۱.۵. ایجاد پروژه از طریق خط فرمان ویندوز
۲.۵. ایجاد پروژه در نرمافزار Pycharm
۶. آشنایی با View ها و URLconf ها
۱.۶. نوشتن اولین view
۲.۶. نوشتن اولین URLConf
۳.۶. الگویهای متنی
۴.۶. اشارهای کوتاه به خطای ۴۰۴
۷. سیستم مدیریت Template
۱.۷. اصول طراحی به کمک Template
۸. کار با پایگاه دادهها در Django
۱.۸. اتصال به پایگاه دادهها
۲.۸. ساخت مدل پایگاه دادهها
۳.۸. معرفی مدلها به Django
۴.۸. اعمال تغییرات روی پایگاهدادهها
۵.۸. افزودن اطلاعات به پایگاه دادهها
۹. سامانه مدیریت سایت
۱۰. قابلیتهای مکانی Django
۱.۱۰. ایجاد پایگاه داده های مکانی
۲.۱۰. اتصال Django به پایگاهدادههای PostgreSQL
فصل هشتم پروژه عملی Web GIS
۱. مقدمه
۲. ایجاد یک نقشه پایه OSM
۱.۲. آشنایی اولیه با HTML
۲.۲. افزودن کتابخانه OpenLayers به کد HTML
۳. افزودن قابلیتهای اولیه به نقشه
۴. افزودن یک Shapefile به نقشه
۱.۴. واردکردن Shapefile به GeoServer
۲.۴. نمایش لایه منتشر شده به کمک OpenLayers
۵. ایجاد پروژه Web GIS با Django
۱.۵. ایجاد پروژه Django
۲.۵. اتصال به PostgreSQL
۳.۵. انتقال وبسایت نقشه به Django
۶. ایجاد سطح دسترسی به لایه شهرها
۱.۶. ایجاد مدل Layers
۲.۶. گرفتن لیست لایهها از Django
۳.۶. افزودن لایهها به نقشه
۷. افزودن قابلیت Identify
۱.۷. دریافت اطلاعات لایه از GeoServer
۲.۷. ارسال درخواست دریافت اطلاعات لایه
۸. افزودن قابلیت جستجو
۱.۸. ایجاد عناصر HTML و برنامهنویسی جاوا اسکریپت…
۲.۸. دریافت نتایج جستجو از GeoServer
۹. افزودن قابلیت ذخیره عوارض و نمایش آنها
۱۰. سخن پایانی
منابع و مآخذ
ناشر تخصصی کتب نظام مهندسی و عمران
قسمت جاوا اسکریپت خیلی کم بود
بسیار مفید و عالی و کاربردی
عالی
این کتاب میتواند قدرت مهندسانی که با نرم افزار های GIS در ارتباطند را افزایش دهد و برنامه نویسی یک ابزار قدرتمند در جهت رسیدن به اهداف ماازکاربا GISو نقشه برداری است.