Skip to content

Trình chuyển đổi GPX sang GeoJSON

Chuyển đổi tệp GPX (GPS Exchange Format) sang GeoJSON để sử dụng trong bản đồ web. Hoàn hảo cho đường đi GPS, tuyến đường đi bộ, đường đạp xe và điểm dừng từ thiết bị GPS và ứng dụng thể dục.

GPX là gì?

GPX (GPS Exchange Format) là định dạng dựa trên XML để trao đổi dữ liệu GPS giữa các thiết bị và ứng dụng. Đây là định dạng tiêu chuẩn được sử dụng bởi:

  • Thiết bị GPS: Garmin, TomTom, Magellan
  • Ứng dụng thể dục: Strava, Komoot, AllTrails, Ride with GPS
  • Ứng dụng di động: Ứng dụng theo dõi GPS, ứng dụng đi bộ đường dài
  • Máy bay không người lái: Nhật ký đường bay
  • Phần mềm bản đồ: QGIS, ArcGIS, Google Earth

Các loại dữ liệu GPX

Tệp GPX có thể chứa ba loại dữ liệu:

  • Điểm dừng (<wpt>): Các điểm quan tâm riêng lẻ (POI) với tọa độ, tên, mô tả và độ cao
  • Tuyến đường (<rte>): Các đường đi được lên kế hoạch với các điểm dừng theo thứ tự, thường dùng để điều hướng
  • Đường đi (<trk>): Các đường đi được ghi lại với dấu thời gian, hiển thị chuyển động thực tế theo thời gian

Cách chuyển đổi

  1. Tải lên tệp .gpx của bạn (kéo và thả hoặc duyệt)
  2. Xem trước GeoJSON đã chuyển đổi trên bản đồ
    • Điểm dừng xuất hiện dưới dạng Điểm
    • Tuyến đường xuất hiện dưới dạng LineStrings
    • Đường đi xuất hiện dưới dạng LineStrings (mỗi đoạn là một LineString)
  3. Tải xuống tệp GeoJSON

Chi tiết chuyển đổi

Những gì được chuyển đổi

Điểm dừng → Điểm

  • Tọa độ: Vĩ độ, kinh độ
  • Độ cao: Lưu trữ trong thuộc tính
  • Tên & Mô tả: Được giữ nguyên
  • Thời gian: Dấu thời gian ISO 8601
  • Biểu tượng: Loại biểu tượng/điểm đánh dấu
  • Phần mở rộng: Dữ liệu GPX tùy chỉnh

Tuyến đường → LineStrings

  • Điểm tuyến đường: Tọa độ theo thứ tự
  • Tên tuyến đường: Thuộc tính của đối tượng
  • Hồ sơ độ cao: Dữ liệu độ cao từng điểm
  • Mô tả: Siêu dữ liệu tuyến đường

Đường đi → LineStrings

  • Đoạn đường đi: Mỗi đoạn trở thành một LineString
  • Dấu thời gian: Thời gian từng điểm tọa độ
  • Hồ sơ độ cao: Dữ liệu độ cao
  • Tên đường đi: Thuộc tính của đối tượng
  • Tốc độ/Nhịp tim: Nếu có trong phần mở rộng

Định dạng tọa độ

  • GPX sử dụng: Vĩ độ, Kinh độ (WGS84)
  • GeoJSON sử dụng: [Kinh độ, Vĩ độ] (WGS84)
  • Chuyển đổi tự động xử lý việc hoán đổi thứ tự tọa độ

Dữ liệu độ cao

Độ cao từ thẻ GPX <ele> được giữ nguyên trong thuộc tính đối tượng:

  • Điểm dừng: properties.elevation
  • Tuyến đường/Đường đi: Mảng độ cao tương ứng với các điểm tọa độ

Các trường hợp sử dụng phổ biến

  • Dữ liệu thể dục: Chuyển đổi xuất từ Strava, Garmin hoặc Fitbit để phân tích tuyến đường
  • Tuyến đường đi bộ: Chia sẻ bản đồ đường mòn với người không sử dụng GPS
  • Đường đạp xe: Hiển thị tuyến đường đạp xe trên bản đồ web
  • Đường bay máy bay không người lái: Phân tích đường bay và điểm dừng
  • Geocaching: Chuyển đổi tọa độ geocache để lập bản đồ
  • Nghiên cứu thực địa: Dữ liệu khảo sát GPS sang GeoJSON
  • Nhật ký du lịch: Hình dung các chuyến đi và hành trình

Cấu trúc đầu ra

Ví dụ điểm dừng

json
{
  "type": "Feature",
  "geometry": {
    "type": "Point",
    "coordinates": [-74.0060, 40.7128]
  },
  "properties": {
    "name": "New York City",
    "desc": "The Big Apple",
    "elevation": 10,
    "time": "2025-10-28T10:00:00Z",
    "sym": "city"
  }
}

Ví dụ đường đi

json
{
  "type": "Feature",
  "geometry": {
    "type": "LineString",
    "coordinates": [
      [-110.0000, 45.0000],
      [-110.0010, 45.0010],
      [-110.0020, 45.0020]
    ]
  },
  "properties": {
    "name": "Hiking Trail",
    "desc": "Mountain hiking route",
    "elevations": [1500, 1520, 1550],
    "times": ["2025-10-28T08:00:00Z", "2025-10-28T08:15:00Z", "2025-10-28T08:30:00Z"],
    "coordinateProperties": {
      "times": ["2025-10-28T08:00:00Z", "2025-10-28T08:15:00Z", "2025-10-28T08:30:00Z"]
    }
  }
}

Tại sao chuyển đổi sang GeoJSON?

  • Tiêu chuẩn web: Hoạt động với Leaflet, Mapbox, OpenLayers
  • Định dạng đơn giản hơn: JSON dễ phân tích hơn XML
  • Hiệu suất tốt hơn: Phân tích và hiển thị nhanh hơn
  • Thân thiện với nhà phát triển: Dễ kiểm tra, chỉnh sửa và thao tác
  • Tương thích rộng hơn: Nhiều công cụ hỗ trợ GeoJSON

Mẹo

Nhiều đường đi: Tệp GPX với nhiều đường đi sẽ tạo các đối tượng LineString riêng biệt cho mỗi đoạn đường đi.

Dấu thời gian: Cho phép phân tích tốc độ, nhịp độ và thời gian bằng cách giữ dữ liệu thời gian.

Hồ sơ độ cao: Sử dụng mảng độ cao để tạo biểu đồ độ cao.

Tệp lớn: Đối với các đường đi rất dài (10.000+ điểm), hãy cân nhắc đơn giản hóa hình học sau khi chuyển đổi.

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

Những ứng dụng nào xuất tệp GPX? Strava, Garmin Connect, Komoot, AllTrails, Ride with GPS, MapMyRun, Runkeeper và hầu hết các thiết bị GPS.

Tôi có mất dữ liệu độ cao không? Không—độ cao được giữ nguyên trong mảng properties.elevations (đối với đường đi/tuyến đường) hoặc properties.elevation (đối với điểm dừng).

Tôi có thể chuyển đổi nhiều tệp GPX cùng lúc không? Có! Tải lên nhiều tệp và tải xuống tất cả dưới dạng tệp ZIP.

Dữ liệu GPS của tôi có được tải lên không? Không—tất cả quá trình chuyển đổi diễn ra trong trình duyệt của bạn. Tệp của bạn không bao giờ rời khỏi thiết bị.

Hệ tọa độ nào mà GPX sử dụng? GPX luôn sử dụng WGS84 (EPSG:4326), giống như GeoJSON, vì vậy không cần chuyển đổi phép chiếu.

Làm thế nào để tôi lấy tệp GPX từ Strava?

  1. Đi đến hoạt động của bạn trên Strava
  2. Nhấp vào biểu tượng cờ lê (hoặc ba dấu chấm)
  3. Chọn "Export GPX"

Xem thêm