فرمت باز برای اطلاعات مکانی
GeoPackage یک قالب فشرده، قابل حمل، خود توصیفی و باز،
مبتنی بر استانداردها، مستقل از پلتفرم و امکان انتقال اطلاعات مکانی
است.
استاندارد GeoPackage از مجموعه ای از قراردادها برای ذخیره
موارد زیر در پایگاه داده SQLite تشکیل شده است:
- موجودیت های برداری
- ماتریس هایی از تصاویر و کاشی های شطرنجی با مقیاس های مختلف
- ویژگی ها (داده های غیر مکانی)
- پسوندها
به بیان واضح، GeoPackage ظرف SQLite است و استاندارد رمزگذاری، GeoPackage قوانین و الزامات محتوای ذخیره شده در یک ظرف GeoPackage را کنترل می کند. استاندارد GeoPackage نمودار یک GeoPackage را شامل تعاریف جدول، اظهارات یکپارچگی، محدودیتهای قالب و محدودیتهای محتوا تعریف میکند. محتوای مورد نیاز و مسئول یک بسته جغرافیایی کاملاً در استاندارد تعریف شده است. این ویژگیها بر اساس یک مبنای مشترک مجدداً تنظیم میشوند و مکانیسم توسعه راهی را در اختیار توسعهدهندگان قرار میدهد تا ویژگیهای اضافی را در GeoPackages خود بگنجانند.
از آنجایی که GeoPackage یک کانتینر پایگاه داده است، مسئولیت استفاده مستقیم
از آن توسط نرم افزارهای مختلف GIS را بر عهده می گیرد. این بدان معناست که دادههای GeoPackage را میتوان
در قالب ذخیرهسازی «بومی» بدون تبدیل فرمت میانی مورد بررسی و بهروزرسانی قرار داد.
GeoPackages با الزامات استاندارد مطابقت دارد، بدون نیاز
به اجرای برنامه های افزودنی خاص از طرف فروشنده، در همه
محیط های IT شرکتی و شخصی قابل همکاری است. GeoPackages به ویژه
برای دستگاه های تلفن همراه مانند تلفن های همراه و تبلت ها در
محیط های ارتباطی که اتصال و پهنای باند محدود است مفید هستند.
ژئوپکیج در QGis
اگر قبلاً از پایگاه داده Spatialite در QGis استفاده می کنید، متعجب خواهید شد که
Geopackage چه تازگی به همراه دارد: اساساً توانایی ذخیره رسترها در
پایگاه داده SQLite.
از طرف دیگر، اگر به کار با فایل های شکل (SHP) عادت دارید،
قبلاً چندین مقاله منتشر کرده ایم که مزایای کار
با SQLite را توضیح می دهد.
- آموزش پایگاه داده SpatiaLite تحت QGis 2.8 Wien
- پرس و جوها و نماهای پایگاه
SpatiaLite در QGis 2.8 - پایگاه داده مدیریت جدول پایگاه داده SpatiaLite با
QGis 2.8 - وارد کردن جداول به پایگاه داده SpatiaLite با QGis 2.8
- یک پایگاه داده SpatiaLite با QGis 2.8 ایجاد کنید
- دستور العمل های Python برای دسترسی به داده های برداری Postgis و Spatialite
قالب Geopackage دقیقاً مانند Spatialite و QGis عمل می کند و
امکانات جدیدی به شما می دهد.
بنابراین، اگر از shapefiles به SQLite تغییر میدهید، به جای Spatialite ، Geopackage را انتخاب کنید .
نحوه ایجاد یک بسته جغرافیایی با QGis 3.4
GeoPackage یک بسته داده استاندارد OGC است که می تواند انواع مختلفی از انواع
داده های مکانی مانند نقاط، چند خط و چند ضلعی را ذخیره کند. ما می توانیم
چندین لایه را فقط در یک فایل GeoPackage ( .gpkg ) ذخیره کنیم. این یک راه عالی برای
ذخیره و سازماندهی داده های مکانی شما با QGIS است. هنگامی که فایلهای فضایی خود را
در قالب GeoPackage ذخیره میکنید، میتوانید به راحتی آنها را بدون نیاز به مرور و
حفاری در تمام رکوردهای خود پیدا کنید.
استفاده از ژئوپکیج برای ذخیره داده های مکانی ما مزایای زیادی دارد. داده های ما
در یک مکان متمرکز قرار خواهند گرفت. با استفاده از این روش میتوانیم
به هم ریختگیهایی را که زمانی که با صدها فایل سروکار داریم، کاهش دهیم.
انتقال مقادیر عظیمی از لایه ها در یک بسته جغرافیایی ساده تر است .
برای ایجاد یک لایه geopackage در QGIS این کار فقط به صورت زیر انجام می شود:
1-QGIS
2-Go to Layer | . را باز کنید ایجاد یک لایه | لایه ژئوپکیج جدید
3-
نام لایه جدید GeoPackage را تایپ کنید، به جدول یک نام بدهید و
احتمالاً یک هندسه را در لیست انتخاب کنید.
اگر میخواهید لایههای موجود را در Geopackage خود وارد کنید، میتوانید
روی OK کلیک کنید. ژئوپکیج شما ایجاد و خالی خواهد شد، خوب، تقریباً. شما
این جدول خالی را خواهید داشت اما با امکان پاک کردن آن در هر زمان.
از طرف دیگر، اگر می خواهید شروع به ایجاد یک لایه کاری واقعی
کنید، از بلوک “فیلد جدید” در پنجره برای تعریف ستون های جدول خود استفاده خواهید کرد.
فایل Geopackage شما ایجاد شد. برای استفاده از
آن در QGis باید به این پایگاه داده جدید متصل شوید:
پایگاه
داده جدید در اکسپلورر به صورت زیر ظاهر می شود:
نحوه پر کردن پایگاه داده Geopackage
شما سه روش برای افزودن لایه به فایل Geopackage دارید:
ایجاد از ابتدا
با تعریف
دستی فیلدها (ستون ها) یک جدول خالی اضافه خواهید کرد. هنگام
ایجاد ژئوپکیج مراحلی که در بالا توضیح داده شد را تکرار خواهید کرد (منو لایه> ایجاد لایه -> لایه جدید ژئوپکیج).
پس از باز شدن پنجره ایجاد، از دکمه … استفاده کنید تا فایل geopackage را
در جایی که می خواهید یک لایه جدید ایجاد کنید، قرار دهید:
فیلدهای لازم (نام جدول، هندسه، …) و همچنین تعریف
ستون های خود را پر کنید . با کلیک بر روی OK با پیغام زیر مواجه می شوید:
روی
افزودن یک لایه جدید کلیک کنید، سپس این لایه به لیست لایه های
فایل geopackage شما اضافه می شود.
ذخیره از یک لایه موجود
می توانید یک لایه از قبل موجود را به یک فایل بسته جغرافیایی صادر کنید. لایه خود را در پنل Layers و Export ->SaveAs … موجودیت ها را انتخاب می کنید
در
پنجره باز شده، در لیست فرمت ها، Geopackage را انتخاب کنید
در
File Name، روی دکمه … کلیک کنید و به فایل Geopackage خود اشاره کنید.
فیلدهای لازم را پر کرده و OK کنید. لایه به
ژئوپکیج شما وارد می شود.
وارد کردن یک لایه موجود با مدیر DB
مدیر DB به شما اجازه می دهد تا به طور کامل داده ها و پایگاه های داده خود را مدیریت کنید.
برای باز کردن پایگاه داده -> مدیر DB
در پنجره مدیریت DB، برای وارد کردن یک لایه موجود در
فایل geopackage خود،
- روی پانل Data providers در فایل Geopackage خود کلیک کنید
- بر روی ابزار Layer / file import کلیک کنید
فیلدهای وارد
کردن پنجره برداری لایه را پر کنید
مهم ! کادرهای منبع SRC و هدف SCR را بررسی کنید و بررسی کنید
که CBC با آنچه می خواهید مطابقت دارد.
اگر می خواهید، کادر Create a Spacial index را علامت بزنید . اگر نتوانید این اطلاعات را در این مرحله اضافه کنید، رسیدن به آن
بسیار بسیار پیچیده خواهد بود…
یک فرمت باز برای اطلاعات مکانی
GeoPackage یک قالب باز، مبتنی بر استانداردها، مستقل از پلتفرم، قابل حمل، خود توصیفی و فشرده برای انتقال اطلاعات مکانی است.
استاندارد رمزگذاری GeoPackage مجموعه ای از قراردادها را برای ذخیره موارد زیر در پایگاه داده SQLite توصیف می کند:
- ویژگی های برداری
- مجموعه های ماتریس کاشی از تصاویر و نقشه های شطرنجی در مقیاس های مختلف
- ویژگی ها (داده های غیر مکانی)
- پسوندها
به طور واضح، GeoPackage ظرف SQLite است و استاندارد رمزگذاری GeoPackage قوانین و الزامات محتوای ذخیره شده در یک ظرف GeoPackage را کنترل می کند. استاندارد GeoPackage طرحی را برای GeoPackage تعریف میکند که شامل تعاریف جدول، ادعاهای یکپارچگی، محدودیتهای قالب و محدودیتهای محتوا میشود. محتوای مورد نیاز و پشتیبانی شده یک GeoPackage به طور کامل در استاندارد تعریف شده است. این قابلیتها بر پایه یک پایه مشترک ساخته شدهاند و مکانیسم توسعه راهی را برای پیادهسازان فراهم میکند تا قابلیتهای اضافی را در GeoPackages خود بگنجانند.
از آنجایی که GeoPackage یک ظرف پایگاه داده است، از استفاده مستقیم پشتیبانی می کند. این بدان معناست که دادههای یک بسته جغرافیایی را میتوان در قالب ذخیرهسازی «بومی» بدون ترجمههای قالب متوسط بهروز کرد و بهروزرسانی کرد. بستههای جغرافیایی که با الزامات استاندارد مطابقت دارند و افزونههای خاص فروشنده را پیادهسازی نمیکنند، در همه محیطهای محاسباتی سازمانی و شخصی قابل همکاری هستند. GeoPackages به ویژه در دستگاه های تلفن همراه مانند تلفن های همراه و تبلت ها در محیط های ارتباطی که اتصال و پهنای باند محدودی وجود دارد، مفید هستند.
سوالات متداول
سGeoPackage چگونه به وجود آمد؟
آپس از یک فرآیند باز و چند ساله آزمایش نیازمندی ها و ورودی عمومی، طراحی و نمونه سازی شد.
سآیا GeoPackage قابل تمدید است؟
آبرای توسعه طراحی شده است. اگر به بیش از مجموعه ویژگی های اصلی GeoPackage نیاز دارید، می توانید مشکلی را در ردیاب شماره ارسال کنید . علاوه بر این، میتوانید به فرآیند باز OGC بپیوندید تا پیشرفتهای آزمایش شده توسط جامعه را استاندارد کنید. برای کسب اطلاعات بیشتر در مورد گروه کاری استانداردها، به https://www.opengeospatial.org/projects/groups/geopackageswg مراجعه کنید .
سآیا GeoPackage جایگزین Shapefile می شود؟
آمی تواند اما لازم نیست. اگر تنها چیزی که نیاز دارید مبادله و نمایش ساده است، ممکن است GeoPackage بیش از حد باشد و چیزی مانند GeoJSON مناسب تر باشد. اگر به دنبال قابلیت های پایگاه داده مانند دسترسی تصادفی و پرس و جو هستید، GeoPackage یک انتخاب مستقل از پلتفرم و مستقل از فروشنده است. GeoPackage با دقت به این روش طراحی شده است تا پذیرش گسترده و استفاده از یک فرمت فایل ساده را توسط برنامههای نرمافزاری تجاری و منبع باز – در پلتفرمهای تولید سازمانی و همچنین دستگاههای دستی سیار تسهیل کند.
سچگونه وسعت فضایی هرم کاشی خود را تعریف می کنید؟
آدو مکان برای وسعت وجود دارد. اولین مورد، در gpkg_contents، برای اعلام گستره محتوا طراحی شده است . این یکی اغلب توسط برنامه های کاربردی برای تعریف نمای پیش فرض کاشی ها استفاده می شود. (این بدان معناست که اگر یک بسته جغرافیایی گستره جهانی را در gpkg_contents نشان دهد، یک برنامه احتمالاً کل جهان را باز می کند حتی اگر احتمالاً آن چیزی نیست که کاربر می خواهد.) مورد دوم در gpkg_tile_matrix_set است. وسعت هرم کاشی را مشخص می کند و برای محاسبه مرزهای هر کاشی در مجموعه ماتریس کاشی استفاده می شود.
سآیا می توانید فایل های JPG و PNG را در یک هرم کاشی ترکیب کنید؟
آآره. این تکنیک به ویژه در لبه ها یا سوراخ های هرم کاشی شما مفید است. در حالی که کاشیهای JPG به دلیل فشردهسازی بیشتر برای تصاویر ترجیح داده میشوند، اما از شفافیت پشتیبانی نمیکنند. استفاده از کاشی های PNG در تعداد نسبتا کمی کاشی که پوشش کاملی ندارند معمول است تا بتوانید از قابلیت شفافیت آن استفاده کنید.
سGeoPackage از چه قابلیت های امنیتی پشتیبانی می کند؟
آبه عنوان یک رمزگذاری فایل، GeoPackage هیچ قابلیت امنیتی صریحی ندارد. با این حال، برخی از سازمانها با SQLite Security Extension (SEE) موفق بودهاند .
سمدل محتوای در نظر گرفته شده برای جداول فراداده چیست؟
آما عمداً این را باز گذاشتیم. ما انتظار داریم که جوامع مورد علاقه نمایههای GeoPackage را تولید کنند که فراداده (محتوا و قالب) مناسب برای دامنه آنها را مشخص کند.
سفایلهای GeoPackage چگونه بین برنامهها در دستگاههای iOS و Android به اشتراک گذاشته میشوند؟
آOGC هنوز روش یا بهترین روش برای به اشتراک گذاری فایل ها بین برنامه ها در دستگاه های تلفن همراه ندارد. در اندروید چند گزینه مختلف وجود دارد. با برخی از به روز رسانی های جدیدتر، اندروید دارای محدودیت های امنیتی جالبی است. می تواند راه حل خوبی با استفاده از ContentProvider API وجود داشته باشد.
در آیفون، مشکلات امنیتی دستگاه باعث ایجاد مشکلات زیادی برای اشتراک گذاری فایل بین برنامه ای می شود. ذاتاً، دستگاه نمیخواهد برنامهها دادهها را به اشتراک بگذارند مگر به روشهای بسیار محدود. بنابراین اشتراک گذاری داده ها بین برنامه ها در حال حاضر امکان پذیر نیست.
سرابطه بین GeoPackage و SpatiaLite چیست؟
آSpatiaLite تأثیر عمدهای بر بخشهای برداری GeoPackage داشت، اما پس از بحثهای گسترده، گروه کاری تصمیم گرفت از قالب SpatiaLite به چند روش ظریف فاصله بگیرد. SpatiaLite اکنون از GeoPackage در نسخه 4.2.0 پشتیبانی می کند.
سرابطه بین GeoPackage و MBTiles چیست؟
آMBTiles تأثیر عمده ای بر پشتیبانی کاشی در GeoPackage داشت. GeoPackage علاوه بر اینکه یک استاندارد بین المللی است، از چند جهت با MBTiles متفاوت است.
- MBTiles فقط از کاشیهای موجود در طرحبندی Spherical Mercator پشتیبانی میکند. در حالی که این پیش فرض در GeoPackage است، سایر پیش بینی ها از طریق یک برنامه افزودنی پشتیبانی می شوند.
- MBTiles فقط از یک مجموعه کاشی در یک فایل پشتیبانی می کند. GeoPackage از مجموعههای کاشی متعدد در یک فایل واحد، و همچنین دادههای ویژگی و ابرداده پشتیبانی میکند.
- این دو مشخصات از قرارداد متفاوتی برای شماره گذاری کاشی استفاده می کنند.
سچرا GeoPackage از رمزگذاری باینری معروف (WKB) متفاوت از PostGIS یا SpatiaLite استفاده میکند؟
آاستاندارد اصلی OGC/ISO برای WKB شامل تمام اطلاعاتی نیست که میخواهیم ذخیره کنیم. در پاسخ، هر دو PostGIS و SpatiaLite پسوندهای موردی خود را توسعه دادند. پس از بررسی های زیاد، گروه کاری استاندارد (SWG) موافقت کرد که هیچ یک از آنها را استاندارد نکند. در عوض، SWG تصمیم گرفت اطلاعات اضافی را به هدر اضافه کند تا تجزیهکنندهها/مارشالهای استاندارد WKB بتوانند برای بخش عمدهای از هندسه استفاده شوند.
سآیا یک نوع رسانه (نوع MIME سابق) برای GeoPackage وجود دارد؟
آاکنون وجود دارد: application/geopackage+sqlite3 .
سچگونه می توانم چندین هندسه را در یک ویژگی مدل کنم؟
آبه صفحه دستورالعمل های مدل سازی مراجعه کنید .
سمنظور از کتابخانه «بومی» GeoPackage چیست؟
آکتابخانه بومی GeoPackage کتابخانه ای است که بومی سیستم عامل دستگاه است. توجه داشته باشید که فروشندگان فردی ممکن است کتابخانه های GeoPackage بومی خود را برای پشتیبانی از موارد استفاده مختلف ایجاد کنند. کتابخانه ای که در Go برای پشتیبانی از عملیات سمت سرور نوشته شده است، ممکن است API کاملاً متفاوتی نسبت به کتابخانه Android یا iOS با API طراحی شده برای پشتیبانی از یک برنامه تلفن همراه داشته باشد. استاندارد GeoPackage برای کتابخانهها و APIها آگنوستیک است و در عوض روی محتویات بستههای جغرافیایی که به عنوان ورودی یا خروجی عمل میکنند، تمرکز میکند.
سوقتی OGC سرمایه گذاری زیادی روی PostGIS کرده است، دلایل استفاده از SQLite چه بود؟
آOGC روی PostGIS سرمایه گذاری نکرده است، بلکه PostGIS استانداردهای OGC را پیاده سازی می کند. PostGIS درست مانند هر پیاده سازی RDBMS دیگری از مشخصات Simple Features است. مورد استفاده اولیه برای طراحی GeoPackage استفاده از دستگاه تلفن همراه بود و به همین دلیل SQLite به عنوان یک پلتفرم انتخاب شد. در این مورد OGC به عنوان یک سازمان یک فناوری را مشخص می کند. این برای OGC غیرعادی است و تصمیم به سادگی گرفته نشد، اما عملی بودن و سهولت اجرا بر خلوص استانداردها برتری یافت. و ما خوشحالیم که بگوییم هنوز هیچ بازخورد منفی در مورد این تصمیم دریافت نکرده ایم – احتمالاً به این دلیل که SQLite بیشتر شبیه یک کتابخانه است تا یک برنامه مستقل.
1.7. مدیریت GeoPackages
در این قسمت نحوه بارگذاری لایه ها از GeoPackage و shapefiles و نحوه حذف لایه های بارگذاری شده از QGIS را خواهیم دید. علاوه بر این، خواهیم دید که چگونه میتوانیم لایههای جدیدی را به یک بسته جغرافیایی موجود اضافه کنیم و چگونه آنها را از GeoPackage حذف کنیم. راه های متعددی برای بارگیری لایه ها از GeoPackage وجود دارد، اما موثرترین راه ایجاد ارتباط با GeoPackage است ( شکل 1.7.1 ). برای انجام این کار، ابتدا باید پانل مرورگر را همانطور که در بخش 1.6 نشان داده شده است – شکل 1.6.2 فعال کنیم. پس از آن، در پانل مرورگر روی GeoPackage (1) → New Connection (2) کلیک راست کنید . به پوشه ای که GeoPackage در آن ذخیره شده است بروید و آن را باز کنید.
اگر روی فلش کنار نام GeoPackage کلیک کنیم، لیست تمام لایه های موجود در GeoPackage را به تصویر می کشیم ( شکل 1.7.2 ). با دوبار کلیک کردن بر روی نام یک لایه، در QGIS بارگذاری شده و در پنل لایه ها قابل مشاهده خواهد بود . برای تمرین زیر به لایههای Municipalities_OSM ، River_network و Temperature نیاز داریم ، بنابراین روی هر کدام از آنها دوبار کلیک کنید تا در QGIS بارگذاری شوند.
فایل های شکل و انواع دیگر داده های برداری را می توان با پیمایش به مکان آنها با استفاده از پانل مرورگر بارگیری کرد ، اما راه های دیگری نیز وجود دارد. یکی از راه ها این است که روی Layers → Add Layer → Add Vector Layer (1) کلیک کنید، به پوشه برداری (2) بروید ، روی دکمه Add (3) کلیک کنید تا آن را در QGIS بارگیری کنید و Close (4) را برای توقف اضافه کردن لایه ها کلیک کنید. شکل 1.7.3 ).
در ادامه مثالی در مورد نحوه افزودن یک لایه جدید به GeoPackage و نحوه حذف آن آورده شده است. برای افزودن یک لایه به GeoPackage ( شکل 1.7.4 ) روی لایه ای که قرار است اضافه شود (مثلا Population_municipalities_on_lakes ) به Geopackage کلیک راست کرده و سپس روی Export → Save Feature As (1) کلیک کنید . قالب Geopackage (2) را مشخص کنید ، سپس یک فایل GeoPackage موجود (به عنوان مثال GIS4Schools_GeoPackage.gpkg ) را مرور کنید تا یک لایه جدید (3) به آن اضافه کنید ، و نام لایه جدید (4) را مشخص کنید . در صورت نیاز، CRS (5) را تغییر دهید و فقط ویژگی های خاصی را که می خواهیم حفظ کنیم (6) انتخاب کنید. روی OK کلیک کنید (7)برای ذخیره یک لایه در یک GeoPackage مشخص.
اگر پانل مرورگر (1) را همانطور که در شکل 1.7.5 نشان داده شده است Refresh کنید، می توانید لایه جدید را در لیست لایه های GeoPackage (2) ببینید ، اما همچنین به طور خودکار در QGIS (3) بارگذاری می شود .
از آنجایی که لایه Population_municipalities_on_lakes استفاده نخواهد شد، آن را از QGIS و همچنین از GeoPackage حذف خواهیم کرد. برای حذف آن از QGIS روی لایه کلیک راست کرده و Remove Layer (1) را انتخاب کنید . عمل حذف را با کلیک بر روی OK(2) تأیید کنید ( شکل 1.7.6 ). به همین ترتیب، میتوانیم شکل فایل Population_municipalities_on_lakes را حذف کنیم، زیرا بعداً استفاده نخواهد شد.
برای حذف Population_municipalities_on_lakes از GeoPackage ( شکل 1.7.7 ) روی لایه در پانل مرورگر (مثلا Population_municipalities_on_lakes ) کلیک راست کرده و Delete Layer (2) را انتخاب کنید . سپس در پنجره Delete Layer تایید می کنیم که می خواهیم یک لایه (3) را حذف کنیم و پایگاه داده GeoPackage (4) را فشرده کنیم.
7 نظرات