Công cụ chuyển đổi GeoJSON sang Google KML
Chuyển đổi các vectơ GeoJSON thành Google KML dịch các mảng tọa độ JSON nhẹ thành các tài liệu XML có cấu trúc được thiết kế riêng cho Google Earth và Google Maps.
So sánh định dạng & Thông số kỹ thuật
| Thông số kỹ thuật | GEOJSON | KML |
|---|---|---|
| Kiểu MIME | application/geo+json | application/vnd.google-earth.kml+xml |
| Loại | geographic vector JSON | geographic XML notation |
| Nén | none (JSON text) | XML text (KMZ when ZIP compressed) |
| Thông số chuẩn | IETF RFC 7946 | OGC KML 2.3 |
| Phần đầu Magic Bytes | 7B 22 74 79 70 65 22 3A 20 22 ({"type": ") JSON header | 3C 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 sử dụng loại MIME application/geo+json, đại diện cho các điểm, đường và đa giác địa lý bên trong văn bản thuần túy Ký hiệu đối tượng JavaScript (JSON). Nó không chứa byte phép thuật nhị phân, thay vào đó dựa vào dấu ngoặc vuông ASCII hoặc UTF-8 tiêu chuẩn và các cặp khóa-giá trị như "type": "FeatureCollection". Ngược lại, Google KML sử dụng loại MIME application/vnd.google-earth.kml+xml, cấu trúc các đặc điểm không gian bên trong các thẻ XML như <Placemark>, <Point> và <Polygon>. Mặc dù không định dạng nào sử dụng nén mất dữ liệu nguyên bản ở cấp độ văn bản, các tệp KML có thể được nén thành các kho lưu trữ KMZ bằng cách sử dụng nén DEFLATE tiêu chuẩn để bó dữ liệu vectơ nặng và các biểu tượng hình ảnh cục bộ lại với nhau.
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 trái đất máy tính để bàn chuyên dụng 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ợ帮助 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 đồ của người tiêu dùng.
So sánh định dạng & Thông số kỹ thuật
Một tệp vectơ GeoJSON tiêu chuẩn 5 megabyte truyền trong khoảng 0,05 giây qua kết nối Cáp quang 1 Gbps, khoảng 0,4 giây qua mạng di động 5G tiêu chuẩn và khoảng 1 giây qua kết nối 4G LTE điển hình.
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.