3 điểm bởi GN⁺ 2024-11-20 | 2 bình luận | Chia sẻ qua WhatsApp
  • OpenStreetMap (OSM) đã cung cấp raster tile trong suốt 20 năm lịch sử của mình. Các tile này được render theo các quy tắc và kiểu dáng được định nghĩa sẵn, nên người dùng nhận được các ảnh PNG tĩnh
  • Gần đây, OSM đã bắt đầu cung cấp vector tile theo định dạng Mapbox Vector Tiles (MVT). Nhờ đó người dùng có thể điều chỉnh kiểu dáng và quy tắc render, đồng thời trích xuất thông tin cơ bản của từng tile. Hình ảnh hiển thị sắc nét hơn và có thể chuyển đổi ngôn ngữ của nhãn
  • Các vector tile mới của OSM có thể mở ra khả năng cung cấp những kiểu dáng được cộng đồng tinh chỉnh chi tiết hơn
  • Trang web chính của OSM vẫn cung cấp raster tile, nhưng bản demo web của vector tile mới có thể hoạt động trên hầu hết điện thoại và thiết bị desktop

Môi trường làm việc của tôi

  • Tôi đang sử dụng CPU Intel Core i9-14900K, với 8 nhân hiệu năng cao và 16 nhân hiệu quả, tổng cộng 32 luồng và 32MB bộ nhớ đệm L2.
  • Tôi đang dùng 96GB RAM DDR5 và SSD Crucial T700 4TB NVMe M.2, đồng thời chạy Ubuntu 22 LTS trên Windows 11 Pro.
  • Tôi sử dụng GPU Nvidia GTX 1080 để có hỗ trợ driver tốt hơn trên Windows, và chủ yếu dùng Windows để sử dụng ArcGIS Pro.

Cài đặt các thành phần cần thiết

  • Tôi dự định dùng Python và một vài công cụ để trực quan hóa dữ liệu của OSM.
  • Tôi dự định dùng DuckDB và các extension của nó để phân tích dữ liệu.

Vector tile của OSM trong QGIS

  • Có thể xem vector tile của OSM trong QGIS, và có thể thêm tile bằng cách thiết lập stylesheet.
  • Ngay cả khi không có stylesheet, QGIS vẫn có thể render dữ liệu vector, nhưng màu sắc sẽ được chọn ngẫu nhiên.
  • Có thể có vấn đề với việc render icon, nhưng trong các công cụ khác thì hoạt động tốt.

Vector tile của OSM trong Leafmap

  • Có thể thiết lập Jupyter Notebook và dùng Leafmap để render vector tile.
  • Bài viết render lại khu vực xung quanh Burj Khalifa, và các icon POI được hiển thị đúng cách.

Dữ liệu chuẩn bị cho phân tích

  • Có thể tải xuống một tile cụ thể và chuyển đổi nó thành tệp JSON để phân tích trong DuckDB.
  • Có thể trích xuất dữ liệu POI và mở nó trong DuckDB.
  • Dữ liệu cung cấp các trường cho phép đánh giá mức độ được điền đầy của dataset.

2 bình luận

 
GN⁺ 2024-11-20
Ý kiến trên Hacker News
  • Có ý kiến cho rằng tile vector gây cảm giác khó hiểu. Tile vector không cung cấp được mức độ chi tiết như tile raster gốc

    • Tile raster bao gồm nhiều POI, đường cao tốc, khác biệt màu sắc, sân thể thao, tòa nhà và tên khu vực, v.v.
    • Tile vector thiếu những chi tiết này, đồng thời cũng có vấn đề render sai
    • Đã thử nhiều kiểu style và trình tạo vector, nhưng vẫn không đạt được mức độ chi tiết như tile raster OSM
    • Style vector mang lại khả năng zoom và pan mượt mà, nhưng nếu muốn xem dữ liệu bản đồ thực tế thì vẫn chưa đủ
    • Có thể khó hiển thị cùng mức chi tiết do giới hạn tính toán
    • Có ý kiến mong OpenStreetMap mô phỏng style raster tốt hơn
  • Thật thú vị khi thấy cộng đồng mã nguồn mở xây dựng dần các tính năng tile bản đồ vector

    • Khi làm việc với web GIS vào khoảng năm 2018, bản đồ vector streaming của Google/Apple rất hấp dẫn
    • Sau đó, các công nghệ cốt lõi đã xuất hiện trong mã nguồn mở, và cả các giải pháp hosting miễn phí cũng ra đời
    • Hiện nay có thể dùng bản đồ cung cấp lớp vector rất tốt miễn phí
  • Có vấn đề font tiếng Ả Rập không được render đúng trong phiên bản vector

    • Văn bản bị render từ trái sang phải, các ký tự không nối liền mà bị tách rời
  • Có câu hỏi liệu điều này có giúp giảm chi phí vận hành bản đồ dựa trên OSM hay không

    • Có thể là vì vector tiêu tốn ít lưu trữ/băng thông hơn và cần ít CPU hơn cho việc render
  • Có kỳ vọng rằng hình ảnh sẽ sắc nét hơn và có thể thay đổi ngôn ngữ của nhãn

    • Khi kích thước nhãn thay đổi, bố cục bản đồ có thể bị ảnh hưởng
    • Nếu nhãn lớn hơn, chúng có thể che khuất hoặc chồng lấn lên nhiều phần của bản đồ
  • Giới thiệu OpenFreeMap — hosting tile vector OpenStreetMap miễn phí

  • Marble.kde.org đã tự triển khai lớp OSM vector streaming của riêng mình trong 9 năm

    • Việc tải dữ liệu bản đồ cấp quốc gia dung lượng lớn từng là vấn đề về không gian lưu trữ
    • Hy vọng các tiêu chuẩn sẽ được thiết lập và cải thiện
  • Hoan nghênh bước phát triển mới này và kỳ vọng vào bản đồ tốt hơn

    • Mục "my workstation" có vẻ không liên quan đến bài viết
  • Có ý kiến tự hỏi liệu OSMAnd và OrganicMaps có hợp tác để tạo ra ứng dụng bản đồ FOSS tối ưu hay không

  • Đánh giá cao độ phản hồi nhanh của bản đồ mặc định dựa trên raster

    • Việc zoom in/out trên OSM nhanh hơn Google/Apple/Yandex/Bing Maps
    • Nhờ bản đồ dựa trên vector mà OSM có thể được sử dụng ở các quốc gia dùng nhiều hệ chữ viết khác nhau