گوگل KML (.kml)

OGC استاندارد

زبان نشانه‌گذاری کی‌هول (KML) استاندارد باز XML برای بیان حاشیه‌نویسی و تجسم جغرافیایی است که در ابتدا برای نرم‌افزار Keyhole Earth Viewer (گوگل ارث) توسعه یافته و توسط کنسرسیوم ملی جغرافیایی فضایی (OGC) استانداردسازی شده است.

تبدیل GEOJSON به KML

مبدل رایگان GEOJSON به KML درون مرورگر. فایل‌ها را فورا روی دستگاه خود تبدیل کنید.

بررسی و فراداده

سیستم‌عامل‌ها و تحلیلگرهای فایل، فایل‌های KML را با بررسی توالی بایت‌های دودویی ابتدایی شناسایی می‌کنند:

انتخاب یا رها کردن فایل‌ها در اینجا

تبدیل ۱۰۰٪ خصوصی در مرورگر - فایل‌ها هرگز دستگاه شما را ترک نمی‌کنند

یا جای‌گذاری کنید Ctrl+V
تضمین حریم خصوصی بدون انتقال شبکه: صفر بایت به سرورهای خارجی آپلود می‌شود. تمام پردازش‌ها به صورت محلی در سندباکس مرورگر شما انجام شد.

امضای هدر در سطح بایت (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 (فعلی)GEOJSONGPXKMZ
دوربین سه‌بعدی و تورشیب کامل دوربین، جهت‌گیری و تورهای پروازیهیچ‌کدام (ویژگی‌های هندسی مسطح)ردیابی ارتفاع و بلندیشیب کامل دوربین و تورهای پروازی
فرمت بسته‌بندیسند متنی 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.

بهترین روش‌های پدافندی:

تاریخچه و نقاط عطف

2008کنسرسیوم فضای جغرافیایی آزاد (OGC) نسخه KML 2.2 را به عنوان استاندارد رسمی بین‌المللی جغرافیایی فضایی تصویب می‌کند.
2005شرکت گوگل شرکت Keyhole Inc. را خریداری کرده و Keyhole Earth Viewer را به Google Earth تغییر نام می‌دهد و KML را در سراسر جهان همگانی می‌کند.
2001شرکت Keyhole Inc. فرمت 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 خود را آپلود نمایید.