امروزه فایلهای با فرمت KML و KMZ بخش اعظمی از نقلوانتقالات مختصات و دادههای مکانی را به خود اختصاص دادهاند. در بیشتر نرمافزارهای مکانی کمابیش شاهد حضور این فرمتها هستیم و اکثر نرمافزارها میتوانند Import یا Export این فرمتها را پشتیبانی کنند. البته نرمافزارهایی که فرمت KMZ را پشتیبانی میکنند کمتر هستند. پس بد نیست ما هم به عنوان یک کارشناس سامانه اطلاعات مکانی اندکی در مورد این فرمتها و نحوه ذخیرهسازی دادههای مکانی در آنها اطلاعات کسب کنیم. مقالهای که در اینجا میخوانید پس از مطالعه مستندات شرکت گوگل که توسعهدهنده این فرمت میباشد، و مطالب موجود در فضای وب به دست آمده است.
معرفی فرمت KML
KML یک فرمت برای ذخیرهسازی و نمایش دادههای جغرافیایی در نرمافزارهای نمایشگر زمین(Earth Browsers) مانند گوگل ارث (Google Earth) است. این فرمت مبتنی بر ذخیرهسازی دادهها توسط یکسری بخشهای مجزا از یکدیگر به نام برچسب (Tag) است. این نوع ذخیرهسازی اطلاعات ما را به یاد فرمت Xml میاندازد(دانلود کتاب آموزش XML به فارسی).
در عمل نیز اگر یک فایل KML را با Notepad باز کنیم، با ساختاری مشابه یک Xml مواجه خواهیم شد. زیرا KML از استانداردهای XML برای ذخیرهسازی اطلاعات خود استفاده میکند. دقت داشته باشید که فایل KML به بزرگ یا کوچک بودن حروف حساس است.
آشنایی با فرمت KMZ
فرمت KMZ هنگامی بوجود آمد که برای نقلوانتقال دادهها در فضای وب نیازمند فشردهسازی دادهها و کمکردن حجم آنها شدیم. فایلهای با فرمت KMZ درحقیقت بستههای فشردهای با ساختار zip هستند. یک فایل KMZ حاوی تمامی فایلهایی موردنیاز برای نمایش یک KML است.
اگر یک فایل با فرمت KMZ را با نرمافزارهای فشردهسازی مانند WinRaR از حالت فشرده خارج کنیم با صحنهای مانند شکل زیر مواجه خواهیم شد. البته شاید برای این کار نیاز به تغییر دادن Extention فایل از *.kmz به *.zip داشته باشیم.
همانطور که میبینید تنوع این فایلها زیاد است و حتی فایل صوتی را هم میتوانیم برای اجرا هنگام نمایش نقشه ذخیره کنیم.
مزیت استفاده از KMZ این است که حجم فایل خروجی بسیار کمتر شده و بهجای تعداد زیادی فایل که مدیریت آنها مشکل است، با یک فایل مواجه خواهیم بود. نرمافزارهای بسیاری مانند ArcGIS توانایی کار با هر دو فرمت را دارند. حال که از درون فایلهای KMZ باخبر شدید میتوانید در صورت بروز مشکل آنرا Unzip کنید.
نمایش یک مکان در فایل KML
برای نمایش یک نقطه میتوانیم از Placemark استفاده کنیم. اگر بخواهیم یک نقطه ساده داشته باشیم میتوانیم برای آن سه مشخصه name ، description و Point را تعریف کنیم. نمونه زیر را ببینید:
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Placemark>
<name>Simple placemark</name>
<description>Attached to the ground. Intelligently places itself
at the height of the underlying terrain.</description>
<Point>
<coordinates>-122.0822035425683,37.42228990140251,0</coordinates>
</Point>
</Placemark>
</kml>
همانطور که مشاهده میکنید مختصات بصورت طول و عرض جغرافیایی وارد میشود. در تبدیل فایل KML به Shapefile نیز همین موضوع میبایست مدنظر قرار گیرد تا بتوان دادهها را روی یکدیگر هم پوشانی کرد.
اگر بخواهیم محل مرکز نگاه بیننده و زوایای نگاه او را مشخص کنیم میتوانیم از برچسب LookAt بهره ببریم. مثال زیر را ببینید:
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2"
xmlns:gx="http://www.google.com/kml/ext/2.2"> <!-- required when using gx-prefixed elements -->
<Placemark>
<name>gx:altitudeMode Example</name>
<LookAt>
<longitude>146.806</longitude>
<latitude>12.219</latitude>
<heading>-60</heading>
<tilt>70</tilt>
<range>6300</range>
<gx:altitudeMode>relativeToSeaFloor</gx:altitudeMode>
</LookAt>
<LineString>
<extrude>1</extrude>
<gx:altitudeMode>relativeToSeaFloor</gx:altitudeMode>
<coordinates>
146.825,12.233,400
146.820,12.222,400
146.812,12.212,400
146.796,12.209,400
146.788,12.205,400
</coordinates>
</LineString>
</Placemark>
</kml>
برچسبهای بسیاری برای تعریف بخشها و امکانات مختلف این فرمت وجود دارد. برای آشنایی با تمامی این موارد میتوانید مستندات ارائهشده توسط گوگل را مطالعه کنید. همچنین مثال نسبتاً ابتدایی و سادهای برای مبتدیان وجود دارد. مثالهای فوق نیز مواردی بودند که برای شما گلچین کرده بودیم.
شاید بهخاطرسپاری این کدها اندکی برای شما سختی داشته باشد. اما در نظر داشته باشید که معمولاً نیازی به یادگیری تمامی این برچسبها نیست و فایلهای KML و KMZ عمدتاً توسط نرمافزارهای مکانی ایجاد میشوند.
المانهای بسیاری چون Path و Polygon نیز وجود دارند که در صورت تمایل میتوانید برای یادگیری آنها مستندات گوگل را ملاحظه بفرمائید.
فایلهای KML یا KMZ را با چه نرم افزاری ایجاد کرده و فراخوانی کنیم؟
امروزه اکثر نرمافزارها، چه رومیزی(Desktop) باشند یا اپلیکیشن موبایل، میتوانند فرمتهای فوق را بسازند. اما استانداردترین نرمافزاری که برای این کار وجود دارد همان Google Earth است. کافی است این نرمافزار را نصب کرده و پس از ایجاد یک Placemark یا Polygon نتیجه را ذخیره کنید. میتوانید نتیجه کار را با Notepad باز کنید و کدهای ایجادشده را بررسی کنید.
برای خواندن یک فایل با فرمت KMZ یا KML نیز میتوانید از نرمافزار Google Earth بهره ببرید. راهکارهای بسیاری نیز برای تبدیل این فایلها به فرمتهای رایج مکانی وجود دارد.
به زودی شما را با نحوه تبدیل فایلهای با فرمت KML و KMZ به Shapefile در نرم افزار ArcGIS آشنا میکنیم. سعی ما بر این است که ابزاری نیز برای این کار توسعه دهیم تا کاربران ما قادر باشند بهراحتی این تبدیل را انجام دهند.