Google KML (.kml)

OGC มาตรฐาน

Keyhole Markup Language (KML) คือมาตรฐาน XML แบบเปิดสำหรับการแสดงคำอธิบายประกอบทางภูมิศาสตร์และการแสดงภาพ ซึ่งเดิมพัฒนาขึ้นสำหรับ Keyhole Earth Viewer (Google Earth) และสร้างมาตรฐานโดย Open Geospatial Consortium (OGC)

แปลง GEOJSON เป็น KML

ตัวแปลงจาก GEOJSON เป็น KML ฟรีในเบราว์เซอร์ แปลงไฟล์ได้ทันทีบนอุปกรณ์ของคุณ

ตรวจสอบไฟล์และข้อมูลเมตา

ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ KML โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:

เลือกหรือวางไฟล์ที่นี่

เป็นส่วนตัว - ไฟล์จะไม่ออกจากอุปกรณ์ของคุณ

หรือวาง Ctrl+V
รับประกันความเป็นส่วนตัวโดยไม่มีการส่งข้อมูลผ่านเครือข่าย: อัปโหลด 0 ไบต์ไปยังเซิร์ฟเวอร์ภายนอก การประมวลผลทั้งหมดเกิดขึ้นภายในแซนด์บ็อกซ์ของเบราว์เซอร์ของคุณ

ลายเซ็นส่วนหัวระดับไบต์

ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ KML โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:

ลายเซ็น HEX (OFFSET 0):

3C 6B 6D 6C

การแสดงผลรูปแบบ ASCII: <kml

มาตรฐาน: OGC KML 2.3 Standard

ข้อมูลจำเพาะทางเทคนิค

สถาปัตยกรรมคอนเทนเนอร์ไวยากรณ์แสดงภาพภูมิศาสตร์แบบ XML ที่กำหนด Placemarks, GroundOverlays, โมเดล 3D และมุมมองกล้อง
การบีบอัดข้อความ XML แบบไม่บีบอัด (บีบอัดด้วย ZIP เป็นไฟล์ .kmz)
การจัดลำดับไบต์สตรีมข้อความ UTF-8 / Unicode
พื้นที่สีสตริงสีเลขฐานสิบหก AABBGGRR
ช่องสัญญาณและโครงสร้างPlacemarks, เส้นทาง, รูปหลายเหลี่ยม, โมเดลอาคาร 3D, ภาพซ้อนทับ และเส้นทางกล้องทัวร์
ขนาดสูงสุดพิกัด WGS 84: ลองจิจูด, ละติจูด, ระดับความสูง (หน่วยเป็นเมตรเหนือระดับน้ำทะเล)
ความโปร่งใสรองรับความโปร่งใสแบบอัลฟาในสตริงสี AABBGGRR และภาพซ้อนทับ PNG
การสตรีมและแบบโปรเกรสซีฟNetworkLinks รองรับการอัปเดตสตรีมแบบไดนามิกจากเซิร์ฟเวอร์ภูมิสารสนเทศระยะไกล

ตารางเปรียบเทียบทางเทคนิค: KML กับคู่แข่ง

คุณลักษณะทางเทคนิคKML (ปัจจุบัน)GEOJSONGPXKMZ
กล้อง 3 มิติและการทัวร์เอียงกล้อง ทิศทาง และทัวร์บินผ่านเต็มรูปแบบไม่มี (คุณสมบัติเรขาคณิตแบนราบ)การติดตามระดับความสูงเอียงกล้องและทัวร์บินผ่านเต็มรูปแบบ
รูปแบบไฟล์เอกสาร XML แบบข้อความธรรมดาเอกสาร JSON แบบข้อความธรรมดาเอกสาร XML แบบเพลนเท็กซ์ไฟล์เก็บถาวร ZIP ที่มี doc.kml
รูปแบบสีAABBGGRR (อัลฟา-น้ำเงิน-เขียว-แดง)มาตรฐาน CSS / Hexไม่มีAABBGGRR
ปลายทางหลักGoogle Earth และ 3D GISเว็บแมป (Mapbox, Leaflet)การติดตามการออกกำลังกายด้วย Garmin และ GPSไฟล์เก็บถาวร Google Earth แบบสแตนด์อโลน

รูปแบบความเสียหายทั่วไปและคู่มือการกู้คืน Hex

ข้อผิดพลาด Google Earth: 'Parse error at line X: mismatched tag'.

สาเหตุหลัก: แท็ก XML ที่ไม่ได้ปิดหรือเครื่องหมายแอมเพอร์แซนด์ที่ไม่ได้หลีกเลี่ยงใน HTML คำอธิบายบอลลูน

การกู้คืน: ซ่อมแซมไวยากรณ์ XML และครอบคำอธิบายด้วย <![CDATA[...]]> โดยใช้ File2File.app KML Repair

การวิเคราะห์ความปลอดภัยและเวกเตอร์การโจมตีตัวแยกวิเคราะห์

ไฟล์ KML รองรับ NetworkLinks และบอลลูนคำอธิบาย HTML ซึ่งสามารถทริกเกอร์ XXE, SSRF หรือ Cross-Site Scripting (XSS) ได้

เวกเตอร์การโจมตีที่ทราบ

  • Server-Side Request Forgery (SSRF) ผ่านแท็ก <NetworkLink> ที่เป็นอันตรายซึ่งส่งคำขอไปยังปลายทางภายในอินทราเน็ตซ้ำ ๆ
  • การโจมตีแบบ XSS ผ่าน HTML ในแท็ก <description> ที่ไม่ได้กรอง ซึ่งทำงานในหน้าต่างคำอธิบายของ Google Earth บนเดสก์ท็อปหรือเว็บ
  • XML External Entity (XXE) injection ระหว่างการประมวลผล KML อัตโนมัติ

แนวทางปฏิบัติที่ดีที่สุดในการป้องกัน: ปิดการดึงข้อมูลจากเครือข่ายภายนอก และกรองเนื้อหา HTML ในหน้าต่างคำอธิบายด้วย DOMPurify

ประวัติความเป็นมาและเหตุการณ์สำคัญ

2008Open Geospatial Consortium (OGC) นำ KML 2.2 มาใช้เป็นมาตรฐานภูมิสารสนเทศระหว่างประเทศอย่างเป็นทางการ
2005Google เข้าซื้อกิจการ Keyhole Inc. และรีแบรนด์ Keyhole Earth Viewer เป็น Google Earth พร้อมทั้งทำให้ KML แพร่หลายไปทั่วโลก
2001Keyhole Inc. สร้าง KML ขึ้นมาเพื่อใส่คำอธิบายประกอบภาพถ่ายดาวเทียม 3 มิติ

ข้อได้เปรียบและจุดเด่นสำคัญ

  • แสดงโลกสามมิติได้ละเอียด: กำหนดทั้งจุด มุมกล้องสามมิติ ทิศทาง มุมก้มเงย ความสูง และเส้นทางบินชมพื้นที่
  • การรองรับ KML ขึ้นอยู่กับแอปพลิเคชัน โดยเครื่องมือ GIS และแผนที่บนเดสก์ท็อปรองรับฟีเจอร์แตกต่างกัน
  • ลิงก์ NetworkLink สามารถดึงทรัพยากร KML ที่เชื่อมโยงได้ การรีเฟรชขึ้นอยู่กับการตั้งค่าเอกสารและโปรแกรมดู

ข้อจำกัดทางเทคนิคและข้อควรพิจารณา

  • ไวยากรณ์ XML ที่ยาวทำให้ขนาดไฟล์ใหญ่กว่ารูปแบบที่กะทัดรัดอย่าง GeoJSON
  • สีใช้ลำดับเลขฐานสิบหก AABBGGRR (Alpha-Blue-Green-Red) ที่ไม่เป็นไปตามมาตรฐาน RGBA ทั่วไป
  • ฟีเจอร์ 3 มิติที่ซับซ้อน (ทัวร์, โมเดล) แทบจะไม่ได้รับการรองรับบนแพลตฟอร์มการทำแผนที่เว็บที่มีน้ำหนักเบา

เกร็ดความรู้ทางเทคนิคที่น่าสนใจ

  • Keyhole Inc. ตั้งชื่อตามดาวเทียมสอดแนมประวัติศาสตร์ KH (Keyhole) ที่สหรัฐอเมริกาปล่อยขึ้นสู่อวกาศในช่วงสงครามเย็น
  • ใน KML ค่าสีจะถูกเขียนกลับด้านเป็น AABBGGRR: สองตัวอักษรแรกคือ Alpha ตามด้วย Blue, Green และ Red ตามลำดับ
  • คลัง KMZ มีไฟล์ KML อย่างน้อยหนึ่งไฟล์ และอาจมีไฟล์ประกอบ ชื่อไฟล์หลักที่ใช้กันทั่วไปคือ doc.kml แต่สามารถใช้ชื่ออื่นได้

คำถามทางเทคนิคที่พบบ่อย

ความแตกต่างระหว่าง KML และ KMZ คืออะไร

KML เป็นไฟล์ข้อความเพลนเท็กซ์ (Plain text) XML ส่วน KMZ เป็นไฟล์ ZIP ที่ถูกบีบอัดซึ่งมีไฟล์ KML พร้อมกับไอคอนแผนที่ เท็กซ์เจอร์ หรือภาพซ้อนทับ 3 มิติที่กำหนดเอง

แปลง KML เป็น GeoJSON ได้อย่างไร?

แปลงไฟล์ KML จาก Google Earth เป็น GeoJSON สำหรับทำแผนที่บนเว็บได้ในคลิกเดียวด้วย File2File.app ในเบราว์เซอร์

เปิดไฟล์ KML ใน Google Maps ได้หรือไม่?

ได้ ใน Google Maps ไปที่ 'บันทึกแล้ว' (Saved) -> 'แผนที่' (Maps) -> 'สร้างแผนที่' (Create Map - Google My Maps) แล้วคลิก 'นำเข้า' (Import) เพื่ออัปโหลดไฟล์ KML

คู่การแปลงไฟล์ KML ที่เกี่ยวข้อง

GEOJSON เป็น KML

การแปลงข้อมูลเวกเตอร์ GeoJSON เป็น Google KML จะแปลงชุดพิกัด JSON ขนาดกะทัดรัดให้เป็นเอกสาร XML ที่มีโครงสร้าง ซึ่งออกแบบมาสำหรับ Google Earth และ Google Maps

KML เป็น GEOJSON

การแปลงไฟล์ Google KML เป็น GeoJSON จะเปลี่ยนข้อมูลภูมิศาสตร์แบบ XML ที่มีโครงสร้างลำดับชั้น ให้เป็นข้อมูลเวกเตอร์ JavaScript Object Notation น้ำหนักเบา สำหรับแผนที่เว็บสมัยใหม่

GPX เป็น KML

การแปลงข้อมูล GPS Track GPX เป็นรูปแบบ Google KML ช่วยให้แสดงบันทึกการติดตามกิจกรรมกลางแจ้งดิบใน Google Earth และแอปพลิเคชันแผนที่เว็บที่กำหนดเองได้ทันที

KML เป็น GPX

การแปลงมาร์กอัปภูมิศาสตร์ Google KML เป็น GPS Track GPX จะปรับข้อมูลแผนที่เฉพาะรูปแบบให้เป็นข้อมูลจุดอ้างอิงและแทร็กที่รองรับอย่างแพร่หลาย