Chuyển đổi GeoJSON sang KML

Chuyển đổi dữ liệu vectơ GeoJSON sang Google KML biến các mảng tọa độ JSON gọn nhẹ thành tài liệu XML có cấu trúc, phù hợp với Google Earth và Google Maps.

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ậtGEOJSONKML
Loại MIMEapplication/geo+jsonapplication/vnd.google-earth.kml+xml
LoạiJSON vector địa lýký pháp XML địa lý
Nénkhông có (văn bản JSON)văn bản XML (KMZ khi nén bằng ZIP)
Thông số tiêu chuẩnIETF RFC 7946OGC KML 2.3
Chữ ký byte đầu tệp7B 22 74 79 70 65 22 3A 20 22 ({"type": ") JSON header3C 3F 78 6D 6C ... 3C 6B 6D 6C (<kml)

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

Dữ liệu vectơ địa lý thường được thu thập và chia sẻ bằng GeoJSON vì các nhà phát triển web và thư viện bản đồ JavaScript xử lý dữ liệu này một cách tự nhiên. Tuy nhiên, phần mềm GIS máy tính để bàn như Google Earth và các ứng dụng quả địa cầu doanh nghiệp cũ yêu cầu Ngôn ngữ đánh dấu Keyhole, thường được gọi là KML. Việc dịch các định dạng này cho phép các nhà nghiên cứu hiện trường và nhà bản đồ xem các đa giác ranh giới được thu thập từ web, điểm đo đạc từ máy bay không người lái và các tuyến tài sản thành phố bên trong các quả địa cầu ảo mà không cần viết các tập lệnh tùy chỉnh. Việc chuyển dữ liệu từ GeoJSON sang KML cũng thu hẹp khoảng cách giữa các API web mã nguồn mở và các công cụ lập bản đồ hướng tới người tiêu dùng. Nhiều nhà quy hoạch dân sự thu thập dữ liệu bằng cách sử dụng các thư viện Leaflet hoặc Mapbox xuất ra các tệp GeoJSON. Khi các bên liên quan muốn xem xét các lớp chính xác đó trong môi trường máy tính để bàn 3D, việc chuyển đổi các thẻ hình học, thuộc tính kiểu dáng và thuộc tính siêu dữ liệu thành các nút XML đảm bảo rằng các yếu tố trực quan như biểu tượng, độ dày đường và màu tô hiển thị chính xác.

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

GeoJSON dùng loại MIME application/geo+json, biểu diễn điểm, đường và đa giác địa lý trong văn bản thuần JavaScript Object Notation (JSON). Định dạng này không có byte nhận diện nhị phân mà dựa vào dấu ngoặc ASCII hoặc UTF-8 tiêu chuẩn và cặp khóa-giá trị như "type": "FeatureCollection". Ngược lại, Google KML dùng loại MIME application/vnd.google-earth.kml+xml, cấu trúc các đối tượng không gian bằng thẻ XML như <Placemark>, <Point> và <Polygon>. Theo mặc định, cả hai định dạng đều không dùng nén mất dữ liệu ở cấp văn bản; có thể nén tệp KML thành kho lưu trữ KMZ bằng DEFLATE để gộp dữ liệu vector lớn và biểu tượng ảnh cục bộ.

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

Cả hai định dạng đều tải mượt mà trên các hệ điều hành hiện đại bao gồm Windows, macOS, Linux, iOS và Android. Các trình duyệt web hiện đại phân tích cú pháp nguyên bản các chuỗi GeoJSON bằng cách sử dụng các công cụ JavaScript tiêu chuẩn, trong khi Google KML yêu cầu các trình phân tích cú pháp chuyên dụng hoặc phần mềm bản đồ địa cầu chuyên dụng trên máy tính để bàn như Google Earth Pro. Các trình duyệt di động không thể hiển thị trực tiếp các tệp KML thô mà không có ứng dụng trợ giúp hoặc hiển thị trước ở phía máy chủ.

Thông tin hữu ích

Khi chuyển đổi các tập dữ liệu lớn với hàng ngàn đa giác phức tạp, hãy chia tệp GeoJSON nguồn của bạn thành các tệp theo khu vực nhỏ hơn trước khi xuất sang KML để ngăn ngừa sự cố sập bộ nhớ trong các ứng dụng lập bản đồ dành cho người dùng phổ thông.

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

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

Quá trình chuyển đổi này hoàn toàn không bị mất dữ liệu vì cả hai định dạng đều lưu trữ tọa độ vectơ bằng các giá trị vĩ độ và kinh độ số chính xác. Quá trình dịch ánh xạ các khóa GeoJSON tới các phần tử XML KML tương ứng mà không làm thay đổi độ chính xác của tọa độ, mặc dù các thuộc tính kiểu tùy chỉnh có thể yêu cầu ánh xạ thủ công nếu phần mềm đích đọc các thuộc tính phi tiêu chuẩn theo cách khác.

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

GeoJSON là một định dạng văn bản nhẹ được xây dựng trên cú pháp JSON, được thiết kế riêng cho các API lập bản đồ web và xử lý JavaScript. Google KML là một ngôn ngữ dựa trên XML được thiết kế cho Google Earth, cung cấp hỗ trợ tích hợp sẵn cho việc cố định độ cao 3D, điểm nhìn camera tùy chỉnh, hệ thống phân cấp thư mục lồng nhau và các biểu tượng được nhúng.