Chuyển đổi KML sang GeoJSON

Việc chuyển đổi các tệp Google KML thành GeoJSON giúp biến đổi dữ liệu địa lý XML phân cấp thành định dạng vector JavaScript Object Notation gọn nhẹ phục vụ cho các bản đồ web hiện đại.

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

Trong lúc chờ tệp, bạn có thể chơi Code Rain

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.

So sánh định dạng & Thông số kỹ thuật

Thông số kỹ thuậtKMLGEOJSON
Loại MIMEapplication/vnd.google-earth.kml+xmlapplication/geo+json
Loạiký pháp XML địa lýJSON vector địa lý
Nénvăn bản XML (KMZ khi nén bằng ZIP)không có (văn bản JSON)
Thông số tiêu chuẩnOGC KML 2.3IETF RFC 7946
Chữ ký byte đầu tệp3C 3F 78 6D 6C ... 3C 6B 6D 6C (<kml)7B 22 74 79 70 65 22 3A 20 22 ({"type": ") JSON header

Tổng quan định dạng & Ứng dụng

Dữ liệu địa lý thường xuyên được luân chuyển giữa các công cụ bản đồ trên máy tính để bàn và các ứng dụng web. Google KML là định dạng tiêu chuẩn do Google Earth sử dụng, có cấu trúc gồm các điểm, đường thẳng và đa giác nằm trong một cây XML. Các trình duyệt web hiện đại cùng những thư viện bản đồ như Mapbox và Leaflet ưu tiên định dạng GeoJSON vì nó khớp trực tiếp với các cấu trúc dữ liệu nguyên bản của JavaScript. Các nhà phát triển và chuyên gia phân tích GIS thực hiện chuyển đổi KML sang GeoJSON nhằm tải các lớp phủ bản đồ lên trang web một cách nhanh chóng mà không cần đến phần mềm chuyên dụng trên máy tính. Các ứng dụng web xử lý dữ liệu JSON ngay lập tức so với việc phải phân tích cú pháp các tài liệu XML cồng kềnh. Khi người dùng tải một bản đồ web, tệp GeoJSON sẽ được cấp thẳng vào các công cụ kết xuất dạng vector. Quá trình chuyển đổi này loại bỏ hoàn hảo gánh nặng dịch các thẻ XML trong thời gian chạy. Nhờ vậy, bản đồ có thể hiển thị hàng nghìn đối tượng một cách mượt mà đồng thời bảo toàn độ chính xác tuyệt đối của tọa độ hình học.

Thông số kỹ thuật & Phân tích codec

Google KML sử dụng loại MIME application/vnd.google-earth.kml+xml và dựa trên cú pháp văn bản XML, hoặc một vùng chứa ZIP được gọi là KMZ khi nén lại. GeoJSON sử dụng loại MIME application/geo+json và bao gồm văn bản thuần túy không nén có cấu trúc như một đối tượng JSON. Các tệp KML thường bắt đầu bằng các byte khai báo XML tiêu chuẩn, trong khi các kho lưu trữ KMZ khởi đầu với các byte tiêu đề tệp cục bộ ZIP là 50 4B 03 04. Các tệp GeoJSON bắt đầu bằng ký tự ASCII '{' đại diện cho đối tượng JSON gốc. Quá trình chuyển đổi sẽ phân tích cú pháp cây tài liệu XML, trích xuất các mảng tọa độ cùng các thẻ siêu dữ liệu, sau đó ghi lại chúng thành các bộ sưu tập đối tượng JSON tuân thủ chuẩn RFC 7946 mà không làm suy giảm độ chính xác của tọa độ.

Khả năng tương thích hệ điều hành & trình duyệt

Cả hai định dạng hoạt động trên hầu hết hệ điều hành hiện đại như Windows, macOS, Linux, iOS và Android. GeoJSON chạy trực tiếp trên hầu hết trình duyệt web hiện đại như Chrome, Firefox, Safari và Edge vì trình duyệt tự phân tích JSON. Google KML cần phần mềm máy tính chuyên dụng như Google Earth hoặc công cụ chuyển đổi như QGIS để hiển thị đúng, vì trình duyệt web không tự hiển thị KML nếu thiếu thư viện phân tích cú pháp của bên thứ ba.

Thông tin hữu ích

Hãy luôn xác thực rằng tệp KML nguồn của bạn sử dụng hệ thống tọa độ địa lý WGS 84 trước khi tiến hành chuyển đổi sang GeoJSON nhằm phòng tránh các lỗi lệch vị trí không gian trên bản đồ web.

Câu hỏi thường gặp

Làm thế nào để chuyển đổi Google KML sang GeoJSON mà không làm giảm chất lượng?

Quá trình chuyển đổi hoàn toàn bảo toàn toán học đối với dữ liệu tọa độ. Cả hai định dạng đều lưu trữ tọa độ địa lý bằng hệ thống tham chiếu không gian WGS 84. Tuy nhiên, các quy tắc định dạng cụ thể trong KML như URL biểu tượng tùy chỉnh và chiều cao đùn đa giác phức tạp có thể không có điểm tương đương trực tiếp trong GeoJSON chuẩn và sẽ cần được tạo lại thủ công.

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

Google KML là ngôn ngữ dựa trên XML, thiết kế cho các ứng dụng xem Trái Đất, có cấu trúc nút phân cấp hỗ trợ kiểu dáng phong phú, góc nhìn camera và yếu tố 3D. GeoJSON là định dạng nhẹ dựa trên JSON, tối ưu cho API web và đồ họa vector, với cấu trúc phẳng gồm bộ sưu tập đối tượng, hình học và thuộc tính đơn giản.