Thêm game tại WuGames.ioTài trợKhám phá kho game trình duyệt miễn phí — chơi ngay, không tải, không đăng ký.Chơi ngay

Xem GeoJSON - Xem & Kiểm tra GeoJSON

Công cụ xem GeoJSON miễn phí: kiểm tra cấu trúc RFC 7946 và hiển thị điểm, đường, đa giác trên bản đồ tương tác kèm hộp giới hạn WGS84.

Upload
Nhấp hoặc kéo file GeoJSON vào đây
Định dạng JSON hoặc GeoJSON

GeoJSON là gì?

GeoJSON là định dạng tiêu chuẩn mở để mã hóa cấu trúc dữ liệu địa lý sử dụng JSON (JavaScript Object Notation). Nó hỗ trợ nhiều loại hình học bao gồm điểm, đường, đa giác và các tập hợp nhiều phần của các loại này.

GeoJSON được sử dụng rộng rãi trong các ứng dụng bản đồ web, phần mềm GIS và dịch vụ dựa trên vị trí. Nó dễ đọc cho con người, dễ phân tích và được hỗ trợ bởi hầu hết các thư viện và công cụ bản đồ hiện đại.

Các tính năng chính của GeoJSON:

  • Định dạng đơn giản: Dễ đọc và viết, dựa trên JSON
  • Được hỗ trợ rộng rãi: Tương thích với Leaflet, OpenLayers, Google Maps, Mapbox
  • Dữ liệu phong phú: Có thể bao gồm thuộc tính và siêu dữ liệu cho mỗi đối tượng
  • Định dạng tiêu chuẩn: Đặc tả RFC 7946 đảm bảo khả năng tương tác
  • Các loại hình học: Điểm, Đường, Đa giác và các biến thể Multi- của chúng

GeoJSON là định dạng ưa thích để trao đổi dữ liệu không gian trên web, làm cho nó trở nên thiết yếu cho các ứng dụng bản đồ web hiện đại.

Cấu trúc GeoJSON

Một đối tượng GeoJSON có thể là một trong nhiều loại:

  • FeatureCollection: Một tập hợp các đối tượng Feature
  • Feature: Một đối tượng địa lý đơn lẻ với hình học và thuộc tính
  • Geometry: Một hình học (Point, LineString, Polygon, v.v.)

Ví dụ cấu trúc GeoJSON:

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": [105.8342, 21.0278]
      },
      "properties": {
        "name": "Hanoi",
        "population": 8000000
      }
    }
  ]
}

Mỗi đối tượng có thể có một đối tượng geometry xác định hình dạng và vị trí của nó, cộng với một đối tượng properties chứa bất kỳ dữ liệu bổ sung nào.

Các loại hình học trong GeoJSON

GeoJSON hỗ trợ các loại hình học sau:

  • Point: Vị trí đơn [kinh độ, vĩ độ]
  • LineString: Mảng hai hoặc nhiều vị trí tạo thành một đường
  • Polygon: Mảng các vòng tuyến tính (LineStrings đóng)
  • MultiPoint: Mảng tọa độ Point
  • MultiLineString: Mảng các mảng tọa độ LineString
  • MultiPolygon: Mảng các mảng tọa độ Polygon
  • GeometryCollection: Mảng các đối tượng geometry

Lưu ý: Tọa độ luôn theo thứ tự [kinh độ, vĩ độ], ngược với thứ tự thông thường vĩ độ, kinh độ.

Cách sử dụng phổ biến của GeoJSON

GeoJSON được sử dụng trong nhiều ứng dụng:

  • Bản đồ Web: Hiển thị các đối tượng địa lý trên bản đồ tương tác
  • Trực quan hóa dữ liệu: Bản đồ màu, bản đồ nhiệt, cụm điểm
  • Phân tích GIS: Nhập/xuất dữ liệu giữa các hệ thống GIS khác nhau
  • Dịch vụ vị trí: Lưu trữ và truy vấn dữ liệu không gian trong cơ sở dữ liệu
  • Dữ liệu mở: Chính phủ và tổ chức công bố bộ dữ liệu địa lý
  • Ứng dụng di động: Dữ liệu bản đồ ngoại tuyến và lớp phủ tùy chỉnh

GeoJSON so với các định dạng khác

So sánh với các định dạng địa lý khác:

  • vs Shapefile: GeoJSON dựa trên văn bản và thân thiện với web, Shapefile là nhị phân và yêu cầu nhiều file
  • vs KML: GeoJSON đơn giản hơn và nhanh hơn để phân tích, KML hỗ trợ nhiều tùy chọn style hơn
  • vs GPX: GeoJSON linh hoạt hơn cho nhiều hình học khác nhau, GPX chuyên dụng cho track GPS
  • vs TopoJSON: GeoJSON dễ sử dụng hơn, TopoJSON nhỏ gọn hơn cho bộ dữ liệu lớn

Chọn GeoJSON khi bạn cần một định dạng đơn giản, được hỗ trợ rộng rãi cho ứng dụng web và không yêu cầu các tính năng nâng cao như mã hóa cấu trúc liên kết.

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

Dán, tải lên, hoặc kéo-thả bất kỳ tài liệu GeoJSON RFC 7946 nào và công cụ hiển thị nó trên bản đồ Leaflet tương tác dùng nền OpenStreetMap. Point, LineString, Polygon, các biến thể Multi-, GeometryCollection, Feature và FeatureCollection đều được hỗ trợ. Bản đồ tự động thu phóng để vừa khít dữ liệu của bạn, bạn có thể nhấp bất kỳ feature nào để đọc thuộc tính của nó ở khung bên dưới, và phần tóm tắt hiển thị loại đối tượng, số lượng feature, bảng phân loại các kiểu hình học và hộp giới hạn của tập dữ liệu. Mọi thứ chạy hoàn toàn phía máy khách; không có dữ liệu nào được tải lên. Cách dùng điển hình: kiểm tra một bản xuất GeoJSON từ PostGIS, xem trước phản hồi API khi phát triển bản đồ web và kiểm tra nhanh khi làm sạch dữ liệu.

Nó làm ba việc: kiểm tra đầu vào của bạn có đúng cấu trúc GeoJSON không (loại đúng, có mảng features cho FeatureCollection, mỗi Feature có hình học), định dạng/làm đẹp JSON, và hiển thị các hình học trên bản đồ Leaflet với OSM, kèm trình kiểm tra thuộc tính và hộp giới hạn được tính toán. Nó dùng kiểu mặc định của Leaflet (đường và đa giác màu xanh, dấu điểm màu cam) trên một nền bản đồ OpenStreetMap duy nhất. Nó không phân cụm hay đơn giản hóa tập dữ liệu lớn, không đọc thuộc tính Mapbox Simplestyle, không sửa chiều cuộn đa giác, không chuyển nền vệ tinh/địa hình/tối và không xuất ra KML, GPX, shapefile hay định dạng khác. Giữ danh sách tính năng trung thực là có chủ đích: những gì mô tả ở đây chính xác là những gì công cụ cung cấp.

Kinh-vĩ độ WGS84 (EPSG:4326), CRS duy nhất được RFC 7946 cho phép. Tọa độ phải là độ thập phân với kinh độ (X) trước và vĩ độ (Y) sau. Nếu dữ liệu của bạn ở CRS chiếu như UTM, Web Mercator (EPSG:3857), hay lưới quốc gia, hình học sẽ rơi vào sai vị trí trên nền bản đồ (thường gần 0,0 hoặc ngoài vùng nhìn thấy). Hộp giới hạn là cách nhanh nhất để phát hiện: nếu các giá trị nằm ngoài -180..180 kinh độ hoặc -90..90 vĩ độ thì dữ liệu của bạn không ở WGS84. Hãy chiếu lại nguồn sang WGS84 trước bằng QGIS, ogr2ogr hay bộ chuyển đổi tọa độ.

Vị trí GeoJSON được viết theo [kinh độ, vĩ độ] — X rồi tới Y — ngược với thứ tự [vĩ độ, kinh độ] mà người ta thường nói và nhiều API web chấp nhận. Vậy nên Hà Nội là [105.8342, 21.0278], không phải [21.0278, 105.8342]. Nếu bạn vô tình đảo chúng, các điểm của bạn xuất hiện ở sai bán cầu (ở đây là ngoài khơi Somalia gần xích đạo). Khi thứ gì đó hiển thị ở vị trí rõ ràng sai, điều đầu tiên cần kiểm tra là hoán đổi hai con số. Trình xem luôn hiểu số đầu tiên là kinh độ, theo RFC 7946.

Sau khi bạn bấm Hiển thị, khung tóm tắt hiển thị phạm vi tổng của tập dữ liệu dưới dạng Tây (kinh độ nhỏ nhất), Nam (vĩ độ nhỏ nhất), Đông (kinh độ lớn nhất) và Bắc (vĩ độ lớn nhất), kèm một mảng bbox RFC 7946 sao chép bằng một cú nhấp theo thứ tự [tây, nam, đông, bắc]. Bbox này là siêu dữ liệu GeoJSON được dùng lại nhiều nhất: dán nó vào fitBounds/setView của bản đồ, vào truy vấn PostGIS dưới dạng ST_MakeEnvelope(tây, nam, đông, bắc, 4326), hoặc vào yêu cầu WMS/WFS dưới dạng BBOX=tây,nam,đông,bắc. Nó được tính từ getBounds() của Leaflet trên toàn bộ hình học đã render, làm tròn tới sáu chữ số thập phân (độ chính xác khoảng 0,1 m).

Có. Toàn bộ GeoJSON được phân tích, kiểm tra, định dạng và hiển thị trong trình duyệt của bạn; không phần nào được tải lên máy chủ. Bạn có thể xác nhận trong tab mạng của công cụ phát triển trình duyệt: trong khi bạn tải và tương tác với dữ liệu, các yêu cầu đi ra duy nhất là cho tile nền OpenStreetMap, vốn chỉ tiết lộ bạn đang xem vùng bản đồ nào, không phải nội dung các feature của bạn. Điều đó khiến công cụ an toàn để xem xét dữ liệu vị trí nhạy cảm hoặc chưa công bố.

Việc kiểm tra xác minh cấu trúc mà RFC 7946 yêu cầu: đối tượng phải có loại được công nhận (Point, LineString, Polygon, các biến thể Multi-, GeometryCollection, Feature hay FeatureCollection); một FeatureCollection phải chứa mảng features, và mảng rỗng được báo là không có feature; mỗi mục trong FeatureCollection phải là Feature có hình học; một Feature phải có hình học; và một hình học rời phải có coordinates. Nếu phân tích thất bại hoàn toàn, bạn nhận thông báo JSON không hợp lệ thay vào đó — hãy chạy đầu vào qua nút Định dạng để tìm lỗi cú pháp, chẳng hạn dấu phẩy thừa hoặc khóa không đặt trong dấu nháy.
Xem GeoJSON - Xem & Kiểm tra GeoJSON — Công cụ xem GeoJSON miễn phí: kiểm tra cấu trúc RFC 7946 và hiển thị điểm, đường, đa giác trên bản đồ tương tác kèm hộp
Xem GeoJSON - Xem & Kiểm tra GeoJSON