گوگل KML (.kml)
OGC استانداردزبان نشانهگذاری کیهول (KML) استاندارد باز XML برای بیان حاشیهنویسی و تجسم جغرافیایی است که در ابتدا برای نرمافزار Keyhole Earth Viewer (گوگل ارث) توسعه یافته و توسط کنسرسیوم ملی جغرافیایی فضایی (OGC) استانداردسازی شده است.
تبدیل GEOJSON به KML
مبدل رایگان GEOJSON به KML درون مرورگر. فایلها را فورا روی دستگاه خود تبدیل کنید.
بررسی و فراداده
سیستمعاملها و تحلیلگرهای فایل، فایلهای KML را با بررسی توالی بایتهای دودویی ابتدایی شناسایی میکنند:
امضای هدر در سطح بایت (Magic Bytes)
سیستمعاملها و تحلیلگرهای فایل، فایلهای KML را با بررسی توالی بایتهای دودویی ابتدایی شناسایی میکنند:
امضای HEX (آفست 0):
3C 6B 6D 6Cنمایش ASCII: <kml
استانداردسازی: OGC KML 2.3 Standard
مشخصات فنی
| معماری کانتینر | XML-based geographic visualization grammar defining Placemarks, GroundOverlays, 3D Models, and Camera perspectives |
| فشردهسازی | Uncompressed XML text (compressed with ZIP as .kmz files) |
| ترتیب بایتها (Endianness) | UTF-8 / Unicode text stream |
| فضاهای رنگی | AABBGGRR hexadecimal color strings |
| کانالها و ساختار | Placemarks, paths, polygons, 3D building models, photo overlays, and tour camera paths |
| حداکثر ابعاد | WGS 84 coordinates: Longitude, Latitude, Altitude (in meters above sea level) |
| شفافیت مشخصات | Alpha transparency supported in AABBGGRR color strings and PNG overlays |
| استریمینگ و پیشرونده | NetworkLinks support dynamic streaming updates from remote geospatial servers |
ماتریس مقایسه فنی: KML در برابر رقبا
| ویژگی فنی | KML (فعلی) | GEOJSON | GPX | KMZ |
|---|---|---|---|---|
| دوربین سهبعدی و تور | شیب کامل دوربین، جهتگیری و تورهای پروازی | هیچکدام (ویژگیهای هندسی مسطح) | ردیابی ارتفاع و بلندی | شیب کامل دوربین و تورهای پروازی |
| فرمت بستهبندی | سند متنی XML | سند متنی JSON | سند متنی XML | آرشیو ZIP حاوی doc.kml |
| فرمت رنگ | AABBGGRR (آلفا-آبی-سبز-قرمز) | استاندارد CSS / هگز | هیچکدام | AABBGGRR |
| مقصد اصلی | گوگل ارث و GIS سهبعدی | نقشههای وب (Mapbox، Leaflet) | ردیاب تناسب اندام Garmin و GPS | آرشیو مستقل گوگل ارث |
حالتهای رایج خرابی و راهنمای بازیابی هگز
خطای گوگل ارث: «خطای تجزیه در خط X: برچسب نامطابق».
علت ریشهای: برچسب XML بسته نشده یا علامت آمپرسند (&) فرار داده نشده در کدهای HTML توضیحات حباب (Balloon).
بازیابی: ساختار XML را تعمیر کرده و توضیحات را با استفاده از ابزار تعمیر KML در File2File در داخل تگ <![CDATA[...]]> قرار دهید.
تحلیل امنیتی و بردارهای حمله تجزیهکننده (Parser)
فایلهای KML از NetworkLinks و بالونهای توضیحات HTML پشتیبانی میکنند که میتوانند آسیبپذیریهای XXE، SSRF یا اسکریپتنویسی میانوبگاهی (XSS) را فعال کنند.
بردارهای حمله شناختهشده
- جعل درخواست سمت سرور (SSRF) از طریق تگهای مخرب <NetworkLink> که نقاط پایانی درونشبکهای داخلی را فراخوانی میکنند.
- تزریق XSS از طریق کدهای HTML پاکسازی نشده در داخل تگهای <description> که در بالونهای دسکتاپ یا وب اجرا میشوند.
- تزریق موجودیتهای خارجی XML (XXE) در طول پردازش خودکار KML.
بهترین روشهای پدافندی:
تاریخچه و نقاط عطف
مزایا و نقاط قوت کلیدی
- تجسم غنی سهبعدی زمین: نه تنها نقاط، بلکه زوایای دوربین سهبعدی، جهتگیری (Heading)، شیب (Tilt)، ارتفاع و تورهای پروازی را تعریف میکند.
- پشتیبانی بومی توسط گوگل ارث، گوگل مپس، ArcGIS و تمام نرمافزارهای تخصصی دسکتاپ GIS.
- پشتیبانی از NetworkLinks که به گوگل ارث اجازه میدهد به صورت پویا دادههای زنده آب و هوا، ردیابی پروازها و بهروزرسانیهای لرزهنگاری را استریم کند.
محدودیتها و معایب فنی
- ساختار طولانی XML منجر به حجم فایلهای بزرگتری نسبت به فرمتهای فشرده مانند GeoJSON میشود.
- رنگها به جای فرمت استاندارد RGBA، از ترتیب هگزادسیمال غیرمتعارف AABBGGRR (آلفا-آبی-سبز-قرمز) استفاده میکنند.
- ویژگیهای پیچیده سهبعدی (مانند تورها و مدلها) به ندرت در پلتفرمهای سبکوزن نقشهبرداری وب پشتیبانی میشوند.
نکات فنی جالب
- شرکت Keyhole Inc. از نام ماهوارههای جاسوسی شناسایی تاریخی KH (Keyhole) که توسط ایالات متحده در طول جنگ سرد پرتاب شده بودند، الهام گرفته است.
- در KML، مقادیر رنگ به صورت معکوس یعنی AABBGGRR نوشته میشوند: دو کاراکتر اول آلفا، سپس آبی، سپس سبز و سپس قرمز است.
- یک فایل با پسوند .kmz در واقع صرفاً یک آرشیو زیپ استاندارد است که حاوی یک فایل تکی 'doc.kml' و هرگونه تصویر جاسازیشده یا مدل سهبعدی است.
سوالات فنی متداول
تفاوت بین KML و KMZ چیست؟
KML یک فایل متنی ساده XML است. KMZ یک فایل فشرده ZIP است که شامل یک فایل KML در کنار هرگونه آیکونهای سفارشی نقشه، بافتها یا تصاویر پوششی سهبعدی میباشد.
چگونه میتوانم KML را به GeoJSON تبدیل کنم؟
شما میتوانید فایلهای Google Earth KML را با یک کلیک و مستقیماً در مرورگر خود با استفاده از File2File.app به GeoJSON تمیز برای نقشهبرداری وب تبدیل کنید.
آیا میتوانم یک فایل KML را در Google Maps باز کنم؟
بله! در Google Maps، به مسیر 'Saved' -> 'Maps' -> 'Create Map' (Google My Maps) بروید و روی 'Import' کلیک کنید تا فایل KML خود را آپلود نمایید.
جفتهای تبدیل مرتبط با KML
تبدیل بردارهای GeoJSON به Google KML، آرایههای مختصات JSON سبکوزن را به اسناد XML ساختاریافته و متناسب با Google Earth و Google Maps ترجمه میکند.
تبدیل نمادگذاری XML جغرافیایی Google KML به فرمت برداری GeoJSON به مرورگرهای وب مدرن و کتابخانههای نقشهبرداری اجازه میدهد دادههای مکانی را بهصورت بومی و بدون نیاز به نرمافزارهای تخصصی دسکتاپ رندر کنند.
تبدیل دادههای مسیر GPS GPX به گوگل KML، دادههای خام نقاط و لاگهای مسیر را به فایلهای نشهگذاری جغرافیایی غنی طراحی شده برای نمایش در گوگل ارث تبدیل میکند.
تبدیل دادههای جغرافیایی KML گوگل به مسیر GPS در قالب GPX به شما امکان میدهد مسیرها و نقاط بین راهی فضایی را از گوگل ارث به دستگاههای GPS دستی اختصاصی و ردیابهای تناسب اندام منتقل کنید.