Kiểm tra và Sửa GeoJSON

Công cụ kiểm tra và sửa lỗi GeoJSON miễn phí. Xác thực cú pháp GeoJSON, phát hiện lỗi và tự động sửa các vấn đề phổ biến.

clearXóapasteDán
Upload
Kéo thả file GeoJSON vào đây
hoặc nhấp để chọn file

Công cụ kiểm tra và sửa GeoJSON là gì?

Công cụ kiểm tra và sửa GeoJSON là công cụ trực tuyến miễn phí giúp xác thực file GeoJSON, phát hiện lỗi phổ biến và tự động sửa các vấn đề. Nó đảm bảo dữ liệu GeoJSON của bạn tuân thủ tiêu chuẩn và sẵn sàng sử dụng trong các ứng dụng bản đồ.

Xác thực GeoJSON rất quan trọng cho các ứng dụng bản đồ web. GeoJSON không hợp lệ có thể gây lỗi hiển thị, sự cố ứng dụng hoặc hành vi không mong muốn trong các thư viện như Leaflet, Mapbox và OpenLayers.

Công cụ này không chỉ xác thực GeoJSON của bạn mà còn cung cấp khả năng sửa chữa tự động, sửa các vấn đề phổ biến như tọa độ trùng lặp, thứ tự sai và hình học bị biến dạng.

Lỗi GeoJSON phổ biến

Công cụ kiểm tra này phát hiện và sửa các vấn đề sau:

  • Thiếu hoặc sai thuộc tính 'type'
  • Định dạng hoặc thứ tự tọa độ không chính xác
  • Tọa độ ngoài giới hạn hợp lệ (-180 đến 180, -90 đến 90)
  • Tọa độ trùng lặp hoặc thừa
  • Vòng đa giác chưa đóng
  • Thứ tự đa giác sai (quy tắc bàn tay phải)
  • Thuộc tính trống hoặc null
  • Cấu trúc Feature hoặc FeatureCollection không hợp lệ

Cách sử dụng công cụ kiểm tra GeoJSON

Sử dụng công cụ kiểm tra rất đơn giản:

  • Dán dữ liệu GeoJSON hoặc tải file .geojson lên
  • Nhấp Kiểm tra để tìm lỗi
  • Xem kết quả kiểm tra và các vấn đề phát hiện
  • Chọn tùy chọn sửa để tự động sửa các vấn đề
  • Nhấp Sửa & Kiểm tra để tạo GeoJSON đã sửa
  • Tải xuống GeoJSON đã sửa hoặc sao chép để sử dụng

Công cụ cung cấp thông báo lỗi chi tiết cho biết chính xác vấn đề gì và nó xảy ra ở đâu trong cấu trúc GeoJSON của bạn.

Khả năng sửa chữa

Chức năng sửa có thể tự động sửa:

  • Xóa tọa độ liên tiếp trùng lặp trong LineStrings và Polygons
  • Làm sạch tọa độ thừa bằng Turf.js cleanCoords
  • Sửa thứ tự đa giác theo quy tắc bàn tay phải (ngoài cùng theo chiều kim đồng hồ, lỗ ngược chiều)
  • Xóa đối tượng thuộc tính trống hoặc giá trị null
  • Giới hạn tọa độ trong phạm vi hợp lệ (-180 đến 180 kinh độ, -90 đến 90 vĩ độ)
  • Tự động đóng vòng đa giác chưa đóng

Sau khi sửa, công cụ sẽ xác thực lại GeoJSON để đảm bảo tất cả các vấn đề đã được giải quyết.

Ứng dụng và trường hợp sử dụng

Công cụ kiểm tra này hữu ích cho:

  • Xác thực GeoJSON trước khi sử dụng trong ứng dụng production
  • Gỡ lỗi tạo GeoJSON từ cơ sở dữ liệu hoặc API
  • Làm sạch file GeoJSON do người dùng tải lên
  • Đảm bảo tính tương thích GeoJSON giữa các thư viện bản đồ khác nhau
  • Sửa vấn đề độ chính xác tọa độ và điểm thừa
  • Chuẩn bị GeoJSON để lưu trữ và truyền tải hiệu quả

Tiêu chuẩn xác thực GeoJSON

Công cụ này xác thực theo đặc tả GeoJSON chính thức (RFC 7946):

  • Loại hình học đúng: Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon, GeometryCollection
  • Định dạng tọa độ hợp lệ: [kinh độ, vĩ độ] hoặc [kinh độ, vĩ độ, độ cao]
  • Giới hạn tọa độ: kinh độ [-180, 180], vĩ độ [-90, 90]
  • Vòng đa giác: tọa độ đầu và cuối phải giống nhau (vòng đóng)
  • Thứ tự: vòng ngoài theo chiều kim đồng hồ, vòng trong ngược chiều
  • Thuộc tính Feature: phải là object (có thể trống hoặc null)

Tuân theo các tiêu chuẩn này đảm bảo GeoJSON của bạn hoạt động chính xác trên tất cả các triển khai tuân thủ.

Về Công cụ Kiểm Tra & Sửa GeoJSON

Công cụ Kiểm tra & Sửa GeoJSON kiểm tra mọi tài liệu GeoJSON theo chuẩn RFC 7946, đánh dấu các lỗi cấu trúc, vấn đề hình học và metadata, rồi tự động sửa những lỗi phổ biến nhất - tọa độ trùng lặp liên tiếp, thuộc tính Feature rỗng, vòng polygon chưa đóng, thứ tự tọa độ sai lệch và hình học null thừa. Phù hợp cho chuyên viên GIS làm sạch dữ liệu khảo sát, lập trình viên bản đồ web gỡ lỗi nguồn tile, kỹ sư dữ liệu xây pipeline không gian và bất kỳ ai xuất từ QGIS, ArcGIS hay script tự viết muốn file nạp sạch sẽ trong Leaflet, Mapbox hoặc Turf.js mà không gặp bất ngờ. Xem thêm Địa Chỉ Sang Tọa ĐộGeohash Encoder Decoder.

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

Nó xác thực đầu vào của bạn dựa trên RFC 7946 (đặc tả GeoJSON), kiểm tra rằng đối tượng gốc là FeatureCollection, Feature, hoặc Geometry; rằng mọi hình học có chính xác cấu trúc cần thiết cho loại đã khai báo (tọa độ Point có độ dài 2 hoặc 3, LineString ít nhất 2 vị trí, vòng Polygon được khép kín và định hướng đúng); và tọa độ rơi vào phạm vi WGS84 hợp lệ (kinh độ ±180, vĩ độ ±90). Nó cũng kiểm tra tên thuộc tính là chuỗi, trường bbox là mảng độ dài 4 hoặc 6, và thành viên crs vắng mặt (RFC 7946 cấm chúng; chỉ EPSG:4326 được phép).

Các sửa chữa tự động phổ biến gồm: khép kín các vòng Polygon có tọa độ đầu và cuối không khớp; đảo ngược các vòng ngoài bị đảo (RFC 7946 yêu cầu vòng ngoài ngược chiều kim đồng hồ và lỗ theo chiều kim đồng hồ); hiệu chỉnh thứ tự cuộn với quy tắc bàn tay phải; ép buộc tọa độ chuỗi thành số; loại bỏ thuộc tính thừa hoặc cuối không được đặc tả cho phép; làm phẳng MultiPoint/MultiLineString/MultiPolygon một-phần-tử sang đối tác không-multi; và loại bỏ thành viên crs bị cấm. Mỗi sửa chữa được báo cáo với đường dẫn của phần tử bị ảnh hưởng để bạn xem xét thay đổi trước khi chấp nhận.

RFC 7946 yêu cầu các vòng ngoài của Polygon được cuộn ngược chiều kim đồng hồ khi nhìn từ trên (quy tắc bàn tay phải, cùng quy ước được OGC Simple Features dùng) và các vòng trong (lỗ) được cuộn theo chiều kim đồng hồ. Quy ước này quan trọng vì thuật toán điểm-trong-đa-giác và một số bộ render (đáng chú ý là Mapbox GL và deck.gl) dựa vào nó để quyết định bên nào là bên trong. Nếu dữ liệu của bạn được xuất bởi công cụ dùng quy ước ngược lại (một số shapefile ESRI cũ), lỗ có thể render thành đặc và bên trong đa giác có thể render thành trong suốt. Công cụ sửa chữa định hướng lại tất cả vòng theo thứ tự tuân thủ RFC.

Kinh tuyến đối ngang là đường kinh độ ở ±180 độ, nơi bán cầu đông và tây gặp nhau. Một LineString hoặc Polygon vượt qua nó có thể được mã hóa theo hai cách: như một feature đơn có kinh độ nhảy từ +179 đến -179 (mà hầu hết bộ render sẽ vẽ thành đường quấn toàn bộ địa cầu), hoặc như MultiLineString/MultiPolygon với hình học bị chia tại kinh tuyến đối ngang. RFC 7946 khuyến nghị dạng chia để tránh render quấn quanh. Trình xác thực đánh dấu bất kỳ feature nào có hộp giới hạn trải dài hơn 180 độ kinh độ, và sửa chữa có thể hoặc chia hình học tại kinh tuyến đối ngang hoặc để nguyên với cảnh báo.

Công cụ tuân theo RFC 7946 (tháng 6 năm 2016), tiêu chuẩn GeoJSON hiện hành. Các bản nháp cũ hơn và biến thể như đặc tả 2008, GeoJSON-T (phần mở rộng thời gian), và GeoJSON-LD (phần mở rộng dữ liệu liên kết) được hỗ trợ một phần qua phân tích chế độ lỏng: feature với thành viên nước ngoài được chấp nhận nhưng đánh dấu cảnh báo, và thuộc tính thời gian được đi qua không thay đổi. Thành viên CRS từ bản nháp 2008 được chấp nhận nhưng báo cáo là không hợp lệ theo RFC 7946, với tùy chọn loại bỏ tự động. Đối với TopoJSON (định dạng liên quan nhưng khác biệt), dùng bộ chuyển đổi TopoJSON riêng.

Nguyên nhân phổ biến: (1) vĩ độ và kinh độ bị hoán đổi, vô hại về mặt hình học nhưng render sai quốc gia; (2) tọa độ ở CRS chiếu như UTM (thường giá trị hàng triệu) chưa bao giờ được chiếu lại sang WGS84; (3) giá trị DMS chưa chuyển sang độ thập phân; (4) độ cao bị đặt nhầm nơi kinh độ hoặc vĩ độ nên ở. Trình xác thực hiển thị mỗi giá trị ngoài phạm vi với chỉ số feature và đường dẫn thuộc tính để bạn sửa dữ liệu nguồn. Sau khi sửa, chạy lại trình xác thực cho đến khi bạn thấy không có lỗi trước khi triển khai tệp sang bản đồ sản xuất.

Đối với tệp dưới 50 MB, xác thực và sửa chữa hoàn thành trong vài giây. Giữa 50 và 200 MB, mong đợi 10 đến 60 giây và sử dụng bộ nhớ đáng chú ý trên thiết bị dưới 4 GB RAM. Trên 200 MB, bạn nên chia tệp theo vùng hoặc chạy trình xác thực phía máy chủ như jsonschema với lược đồ GeoJSON, hoặc dùng ogr2ogr -f GeoJSON -t_srs EPSG:4326 để xác thực và chiếu lại trong một lần. Trình xác thực dựa trên trình duyệt dùng phân tích JSON Streaming khi có thể (khoảng 30 phần trăm nhanh hơn phân tích DOM đầy đủ trên tệp lớn), nhưng áp lực heap vẫn là yếu tố giới hạn trên phần cứng tiêu dùng.

Có. Công cụ có thể xuất báo cáo xác thực dưới dạng tài liệu JSON với một mục mỗi lỗi hoặc cảnh báo, gồm đường dẫn JSON-pointer đến phần tử vi phạm. Bạn có thể nối điều này vào pipeline CI bằng cách chạy cùng thư viện xác thực (gói npm mã nguồn mở @placemarkio/check-geojson hoặc geojson-validation) và làm hỏng build khi có lỗi nào. Đối với bản đồ sản xuất, chúng tôi khuyến nghị chính sách hai-giai-đoạn: cảnh báo được chấp nhận nhưng được ghi log, lỗi chặn triển khai. Điều này bắt được sự trôi dạt được giới thiệu bởi xuất dữ liệu thượng nguồn, đặc biệt khi nhà cung cấp bên thứ ba cập nhật lược đồ của họ mà không thông báo.
Kiểm tra và Sửa GeoJSON — Công cụ kiểm tra và sửa lỗi GeoJSON miễn phí. Xác thực cú pháp GeoJSON, phát hiện lỗi và tự động sửa các vấn đề phổ biến
Kiểm tra và Sửa GeoJSON