آموزش PostGIS گام به گام
در PostgreSQL به راحتی با داده های مکانی کار کنید
در این نوشته قصد داریم شما را با افزونه مکانی PostGIS که بر روی سیستم مدیریت پایگاه داده PostgreSQL نصب می شود، آشنا سازیم، با ما همراه باشید…
همانطور که می دانید امکان کار با داده های مکانی در سیستم مدیریت پایگاه داده PostgreSQL وجود ندارد. برای افزودن قابلیت پشتیبانی از داده های مکانی،افزونه PostGIS را به این پایگاه داده اضافه می کنیم. برای آشنایی بیشتر با این افزونه و قابلیت هایش، این آموزش را دنبال کنید.
این نوشته از آموزش های آکادمی WEB GIS است. برای مشاهده آموزش های پیشین و دانلود فیلم و PDF آن ها، می توانید به صفحه آکادمی WEB GIS مراجعه نمایید.
PostGIS چیست؟
سیستم مدیریت پایگاه دادهPostgreSQL یکی از پیشرفته ترین پایگاه داده هاست که مدل داده ای شی رابطه ای را پیاده سازی می کند. این پایگاه داده ها، به صورت پیش فرض، امکان کار با داده های مکانی را ندارد اما قابلیت تعریف نوع داده های جدید به همراه ساخت توابع و عملگرهای مربوطه، این امکان را برای تیم توسعه شرکت Refractions Research Inc. فراهم آورد تا افزونه ای به نام PostGIS به منظور پشتیبانی از داده های مکانی را به این پایگاه داده بیفزایند. در حال حاضر،PostGIS با مجوز GNU GPL به عنوان یک افزونه قوی در دنیای اطلاعات مکانی و قابل رقابت با نمونه های تجاری مانند Oracle Spatial شناخته می شود.
قابلیت های مکانی PostGIS
به طور کلی، قابلیت های این افزونه شامل موارد زیر است:
- اشیای مکانی (نقطه، خط، چندضلعی، چند نقطه، چندخط، چند چندضلعی و مجموعه هندسی)
- شاخص مکانی (درخت R باGiST)
- توابع تحلیلی ساده (طول، مساحت، فاصله)
- توابع موقعیت مکانی عوارض یا مسندهای مکانی
- عملگرهای مکانی
- فراداده سیستم مختصات
- پشتیبانی از تصویرکردن مختصات (از طریق Proj4)
- ابزار های ورود و خروج داده
از آنجایی که در این جا تنها قصد معرفی PostGIS را داریم، قابلیت ها به صورت کلی بیان شدند. در بخش های بعدی، با قابلیت های مکانی PostGIS، بیشتر آشنا خواهیدشد.
درباره PostGIS بیشتر بدانیم
همانگونه که پیشتر گفتیم، با استفاده از افزونه PostGIS، می توانیم قابلیت کار با داده های مکانی را به سیستم مدیریت پایگاه داده های PostgreSQL، اضافه نماییم. این افزونه به صورت کمینه، قابلیت کار با داده های مکانی برداری را به PostgreSQL اضافه می کند.
برای پشتیبانی از داده های تصویری، برخی تلاش ها از طریق ماژول PgCHIP که کتابخانه GDAL را استفاده می کند، انجام شد. علاوه بر آن، تیم توسعه PostGIS تلاش نمود تا پشتیبانی کامل توپولوژی را فراهم آورد و در نسخه 2 از PostGIS، امکاناتی برای کار با داده های Raster و کار با توپولوژی اضافه شده است.
برخی دیگر از افزونه ها به منظور افزودن قابلیت هایی به PostgreSQL، تولید شدند که کار خود را با استفاده از افزونه PostGIS انجام می دهند. مثلا برای افزودن امکان تجزیه و تحلیل های شبکه و مسیریابی به PostgreSQL، افزونه pgRouting توسعه داده شده است. این افزونه عملیات خود را از طریق PostGIS انجام خواهد داد.
نوع داده های هندسی پیاده سازی شده در PostGIS از استاندارد OGC SFS پیروی می کند. در شکل زیر، سلسله مراتب اشیای مکانی در این استاندارد را مشاهده می نمایید.
افزون بر این، تمام توابع و عملگرهای این استاندارد، در کنار ایجاد نمونه های جدید که در ادامه آورده خواهند شد، پیاده سازی شده اند. علاوه بر دو فرمت استاندارد WKT و WKB،PostGIS دو فرمت جدید توسعه یافته EWKT و EWKB را برای داده های سه و چهار بعدی (3DZ، 3DM و 4D) تامین کرده است.
PostGIS برای اولین بار در سال ۲۰۰۱ انتشار یافت و در طول زمان توانست انطباق خوبی با استاندارد OGC SFS بدست آورد. از زمان انتشار نسخه 1.2 در اواخر سال ۲۰۰۶ جهت گیری توسعه، به سمت تطابق بیشتر با استاندارد ISO SQL/MM است. در جدول زیر، توابع اضافی نسبت به استاندارد OGC SFS که در افزونه PostGIS برای پایگاه داده PostgreSQL پیاده سازی شده اند را مشاهده می نمایید.
نسخه ۲ از PostGIS در سال ۲۰۱۲ منتشر شد. این نسخه همراه با بسیاری از تغییرات اصلی و ویژگی های اضافی عرضه شد. پشتیبانی ازRaster در پایگاه داده، یکی از ویژگی هایی است که مدت ها انتظار می رفت و اکنون در نسخه 2 وجود دارد. در خصوص توپولوژی نیز مجموعه کاملی از امکانات برای کار با روش جدید ذخیره سازی اطلاعات هندسی، ارایه شده است.
توابع مدیریت داده ها، توابع هندسی و بسیاری از توابع جدید به موارد موجود در نسخه ۱/۵ اضافه شده است. توسعه PostGIS همچنان ادامه دارد و کارهای زیادی به منظور بهبود ویژگی های فعلی، عملکرد بهتر و اضافه کردن طیف وسیعی از ویژگی های جدید به هسته اصلی PostGIS در حال انجام است. در میان آنها، کار بر روی سه بعدی، کاری بزرگ و پیچیده است که مسایل جدیدی را نیز به همراه خود آورده و آینده آن امیدوار کننده به نظر می رسد.
در نسخه 2 از افزونه PostGIS، امکانات کامل تری نسبت به نسخه 1/5 ارایه شده است. در ادامه برخی از این امکانات را می آوریم.
- پشتیبانی از داده های Raster و تجزیه و تحلیل همزمان داده های Raster و Vector در پایگاه داده
- مدل های توپولوژیکی برای کار با اشیایی که مرزهای مشترک دارند
- استفاده از امکان typmod (type modifier) به جای استفاده از Constraint ها
- شاخص گذاری سه بعدی و چهار بعدی
- جستجوی نزدیکترین همسایه با کارایی بالا مبتنی بر شاخص
-
بسیاری از توابع برای کار با داده های برداری از جمله:
- ST_Split
- ST_Node
- ST_MakeValid
- ST_OffsetCurve
- ST_ConcaveHull
- ST_AsX3D
- ST_GeomFromGeoJSON
- ST_3DDistance
- ادغام با پایگاه داده سیستم Extension در PostgreSQL 9.1
- بهبود دستورخط فرمان واردکننده/خارج کننده shapefile از پایگاه داده
- پشتیبانی از ورود (به انگلیسی Import) چند فایل در رابط کاربری ورود shapefile
- پشتیبانی از خروج (به انگلیسی Export) چند جدول در رابط کاربری خروج shapefile
- GEO-Coder که برای داده های رایگان سرشماری ایالات متحده موسوم به TIGER بهینه سازی شده است
آخرین نسخه از افزونه PostGIS 2.3.3 می باشد که در July 2017 منتشر شد. در این نسخه تغییرات زیر رخ داده است:
- بهبود عملکرد جستجو نزدیکترین همسایگی برای انواع داده Geometry و Geography
- توابع محاسباتی برای اشکال هندسی سه بعدی شامل: ST_3DDifference, ST_3DUnion و…
- توابع کلاسترینگ مکانی شامل: ST_ClusterIntersecting و ST_ClusterWithin
- تقسیم اشکال هندسی بزرگ با استفاده از تابع ST_Subdivide
- انجام عملیات Tiling نوع داده ای Raster درون پایگاه داده (توابع ST_Retile و ST_CreateOvervie)
- پشتیبانی از فرمت TWKB (کوتاه شده Tiny well-known binary) با استفاده از توابع ST_AsTWKB و ST_GeomFromTWKB
فیلم آموزش آشنایی با افزونه مکانی PostGIS
به شما پیشنهاد می کنیم فیلم رایگان آموزش افزونه مکانی PostGIS را دانلود نمایید. ما در این فیلم، شما را با افزونه مکانی PostGIS و قابلیت های آن آشنا می کنیم.
سخن پایانی
اطلاعات مکانی از مهمترین دارایی های هر سازمانی محسوب می شوند. پیش نیاز راه اندازی GIS در هر سازمانی، وجود یک بانک اطلاعات مکانی می باشد. ما می خواهیم به شما بگوییم چگونه بر روی نرم افزار PostgreSQL، یک پایگاه داده مکانی ایجاد نمایید و داده های مکانی و نقشه ها را وارد آن نمایید. توسط نرم افزار مدیریت پایگاه داده PostgreSQL و همچنین افزونه مکانی PostGIS، می توانید یک پایگاه داده مکانی ایجاد کرده و نقشه ها و داده های مکانی را در آن بارگزاری نمایید.
در این آموزش شما را با افزونه مکانمند PostGIS، آشنا کردیم. ما در آکادمی Web GIS در تلاشیم به شما آموزش های کوتاه و مفید در زمینه راه اندازی و استقرار Web GIS ارایه نماییم. لذا در آموزش آتی به شما نصب و راه اندازی PostGIS بر روی پایگاه داده PostgreSQL را یاد می دهیم.