Google KML (.kml)

OGC Tiêu chuẩn

Ngôn ngữ đánh dấu Keyhole (KML) là tiêu chuẩn XML mở để biểu diễn chú thích và trực quan hóa địa lý, ban đầu được phát triển cho Keyhole Earth Viewer (Google Earth) và được tiêu chuẩn hóa bởi Open Geospatial Consortium (OGC).

Chuyển đổi GEOJSON sang KML

Trình chuyển đổi từ GEOJSON sang KML miễn phí trên trình duyệt. Chuyển đổi tệp ngay lập tức trên thiết bị của bạn.

Kiểm tra & Siêu dữ liệu

Các hệ điều hành và trình phân tích tệp nhận dạng tệp KML bằng cách kiểm tra chuỗi byte nhị phân đầu tệp:

Chọn hoặc thả tệp vào đây

Riêng tư - tệp không bao giờ rời khỏi thiết bị của bạn

Hoặc dán Ctrl+V
Cam kết bảo vệ quyền riêng tư, không truyền dữ liệu qua mạng: 0 byte được tải lên máy chủ bên ngoài. Toàn bộ quá trình xử lý diễn ra cục bộ trong hộp cát trình duyệt của bạn.

Chữ ký ở đầu tệp (mẫu byte nhận diện)

Các hệ điều hành và trình phân tích tệp nhận dạng tệp KML bằng cách kiểm tra chuỗi byte nhị phân đầu tệp:

CHỮ KÝ HEX (OFFSET 0):

3C 6B 6D 6C

BIỂU DIỄN ASCII: <kml

Tiêu chuẩn hóa: OGC KML 2.3 Standard

Thông số kỹ thuật

Kiến trúc ContainerNgôn ngữ đánh dấu trực quan hóa địa lý dựa trên XML, định nghĩa Điểm đánh dấu, Lớp phủ mặt đất, Mô hình 3D và phối cảnh máy ảnh
NénVăn bản XML không nén (nén bằng ZIP thành tệp .kmz)
Thứ tự byteLuồng văn bản UTF-8 / Unicode
Không gian màuChuỗi màu thập lục phân AABBGGRR
Kênh & Cấu trúcĐiểm đánh dấu, đường đi, đa giác, mô hình tòa nhà 3D, lớp phủ ảnh và đường đi của máy ảnh trong tour
Kích thước tối đaTọa độ WGS 84: kinh độ, vĩ độ, độ cao (tính bằng mét so với mực nước biển)
Độ trong suốtHỗ trợ độ trong suốt alpha trong chuỗi màu AABBGGRR và lớp phủ PNG
Truyền phát & Tăng dầnNetworkLink hỗ trợ cập nhật truyền phát động từ máy chủ địa lý từ xa

Ma trận so sánh kỹ thuật: KML so với các đối thủ

Thuộc tính kỹ thuậtKML (Hiện tại)GEOJSONGPXKMZ
Camera 3D & Tham quanĐầy đủ độ nghiêng và hướng camera, cùng các tour bay qua địa điểmKhông có (thuộc tính hình học phẳng)Theo dõi độ caoĐầy đủ độ nghiêng camera và các tour bay qua địa điểm
Định dạng đóng góiTài liệu XML dạng văn bản thuần túyTài liệu JSON dạng văn bản thuần túyTài liệu XML dạng văn bản thuần túyLưu trữ ZIP chứa doc.kml
Định dạng màu sắcAABBGGRR (Alpha-Xanh lam-Xanh lục-Đỏ)Tiêu chuẩn CSS / HexKhông cóAABBGGRR
Đích đến chínhGoogle Earth & GIS 3DBản đồ web (Mapbox, Leaflet)Theo dõi thể dục Garmin & GPSLưu trữ độc lập Google Earth

Các dạng hỏng thường gặp và hướng dẫn khôi phục bằng mã hex

Lỗi Google Earth: 'Lỗi phân tích cú pháp ở dòng X: thẻ không khớp'.

Nguyên nhân gốc rễ: Thẻ XML chưa đóng hoặc ký tự và (&) chưa được thoát trong HTML mô tả bong bóng.

Khắc phục: Sửa cú pháp XML và bọc mô tả trong <![CDATA[...]]> bằng công cụ Sửa KML của File2File.app.

Phân tích bảo mật và các đường tấn công nhằm vào bộ phân tích cú pháp

Các tệp KML hỗ trợ NetworkLinks và bong bóng mô tả HTML có thể kích hoạt XXE, SSRF hoặc Cross-Site Scripting (XSS).

Các véc-tơ tấn công đã biết

  • Giả mạo yêu cầu phía máy chủ (SSRF) thông qua các thẻ <NetworkLink> độc hại thăm dò các điểm cuối trên mạng nội bộ.
  • Tiêm XSS thông qua HTML không được làm sạch bên trong các thẻ <description> được thực thi trong các bong bóng Earth trên máy tính để bàn hoặc web.
  • Tiêm thực thể bên ngoài XML (XXE) trong quá trình xử lý KML tự động.

Biện pháp phòng thủ tốt nhất: Tắt tính năng tìm nạp mạng bên ngoài và làm sạch nội dung HTML của bong bóng bằng DOMPurify.

Nguồn gốc lịch sử và các cột mốc

2008Open Geospatial Consortium (OGC) thông qua KML 2.2 làm Tiêu chuẩn Địa lý Quốc tế chính thức.
2005Google mua lại Keyhole Inc., đổi thương hiệu Keyhole Earth Viewer thành Google Earth và phổ biến KML trên toàn cầu.
2001Keyhole Inc. tạo ra KML để chú thích hình ảnh vệ tinh 3D.

Ưu điểm & Lợi ích chính

  • Trực quan hóa Trái Đất 3D phong phú: ngoài các điểm, định dạng còn xác định góc camera 3D, hướng, độ nghiêng, độ cao và các tour bay qua địa điểm.
  • Khả năng hỗ trợ KML tùy thuộc vào ứng dụng; các tính năng được hỗ trợ khác nhau giữa công cụ GIS và bản đồ trên máy tính.
  • Liên kết NetworkLink có thể lấy tài nguyên KML được liên kết; việc làm mới tùy thuộc vào cài đặt tài liệu và trình xem.

Hạn chế & Nhược điểm kỹ thuật

  • Cú pháp XML dài dòng dẫn đến kích thước tệp lớn hơn so với các định dạng nhỏ gọn như GeoJSON.
  • Màu sắc sử dụng thứ tự thập lục phân AABBGGRR phi truyền thống (Alpha-Xanh lam-Xanh lục-Đỏ) thay vì RGBA tiêu chuẩn.
  • Các tính năng 3D phức tạp (Chuyến tham quan, Mô hình) hiếm khi được hỗ trợ trên các nền tảng bản đồ web nhẹ.

Thông tin kỹ thuật thú vị

  • Keyhole Inc. được đặt theo tên của các vệ tinh gián điệp trinh sát KH (Keyhole) lịch sử do Hoa Kỳ phóng trong Chiến tranh Lạnh.
  • Trong KML, các giá trị màu được viết ngược lại thành AABBGGRR: hai ký tự đầu tiên là Alpha, tiếp theo là Xanh lam, sau đó là Xanh lục, rồi đến Đỏ.
  • Kho lưu trữ KMZ chứa ít nhất một tệp KML và có thể kèm các tệp hỗ trợ. doc.kml là tên thường dùng cho tệp chính, nhưng cũng được phép dùng tên khác.

Các câu hỏi kỹ thuật thường gặp

Sự khác biệt giữa KML và KMZ là gì?

KML là một tệp văn bản thuần túy XML. KMZ là một tệp ZIP đã nén chứa tệp KML bên cạnh các biểu tượng bản đồ tùy chỉnh, kết cấu hoặc hình ảnh lớp phủ 3D.

Làm cách nào để chuyển đổi KML sang GeoJSON?

Bạn có thể chuyển đổi tệp Google Earth KML thành GeoJSON sạch để lập bản đồ web chỉ với một cú nhấp chuột bằng File2File.app trực tiếp trên trình duyệt của bạn.

Tôi có thể mở tệp KML trong Google Maps không?

Có! Trong Google Maps, hãy chuyển đến 'Đã lưu' -> 'Bản đồ' -> 'Tạo bản đồ' (Google My Maps) và nhấp vào 'Nhập' để tải lên tệp KML của bạn.