🌍 BÁCH KHOA TOÀN THƯ GIS

Trung tâm điều hành và phân phối dữ liệu không gian - KOKOBELLC

Dữ liệu gốc luôn an toàn tại máy tính: my-gis-data/data/

PHƯƠNG THỨC 1: Vercel Native (File < 100MB)

Nhỏ gọn & Nhanh

Sử dụng khi bạn có các file GeoTIFF hoặc GeoJSON nhỏ (đã được cắt từ QGIS hoặc GEE chia phần). File đẩy thẳng lên GitHub và Vercel tự động load.

Bước 1: Đẩy dữ liệu lên mạng (Terminal)
git add .
git commit -m "Cap nhat file nho len Vercel"
git push
Bước 2: Cấu hình bắt buộc (vercel.json)

File vercel.json phải nằm ở thư mục gốc để Geoblaze đọc được Pixel từ Vercel Server:

{
  "headers": [
    {
      "source": "/(.*)",
      "headers": [
        { "key": "Access-Control-Allow-Origin", "value": "*" },
        { "key": "Access-Control-Allow-Methods", "value": "GET, HEAD, OPTIONS" },
        { "key": "Access-Control-Expose-Headers", "value": "Accept-Ranges, Content-Encoding, Content-Length, Content-Range" }
      ]
    }
  ]
}

PHƯƠNG THỨC 2: Siêu Máy Chủ Cloudflare R2 (File > 100MB)

Chuyên nghiệp & Tốc độ cao

Sử dụng cho file siêu nét 30m toàn quốc. Lách luật 100MB của GitHub. Tốc độ load cực nhanh nhờ CDN Châu Á.

Bước 1: Upload thủ công

Kéo thả file .tif vào Bucket my-gis-data trên giao diện web Cloudflare R2. Mở tính năng Public Development URL.

Bước 2: Cài đặt Bùa chú CORS Policy (Cực kỳ quan trọng)

Chép đúng cấu trúc JSON này vào mục CORS Policy trên Cloudflare để mở khóa kỹ thuật "Range Request" cho Geoblaze:

[
  {
    "AllowedOrigins": ["https://my-gis-data.vercel.app", "http://localhost:3000"],
    "AllowedMethods": ["GET", "HEAD"],
    "AllowedHeaders": ["*"],
    "ExposeHeaders": ["Content-Length", "Content-Range", "Accept-Ranges", "ETag"],
    "MaxAgeSeconds": 3600
  }
]

PHƯƠNG THỨC 3: Automation & Backup (Khuyên Dùng)

An Toàn 100% & Rảnh Tay

Cơ chế này thực hiện cùng lúc 2 việc: Đẩy code và file nhỏ lên GitHub để sao lưu, đồng thời bắn file lớn lên Cloudflare R2 để chạy Web.

Lưu ý: Máy tính cần cài đặt AWS CLI và đăng nhập bằng API Token của Cloudflare R2 trước khi dùng lệnh này.
Cấu hình File package.json

Thêm script sau. Khi bạn gõ npm run deploy, hệ thống tự động làm mọi thứ:

"scripts": {
  "start": "node build.js",
  "sync-r2": "aws s3 sync ./data s3://my-gis-data --endpoint-url https://[THAY_ID_CUA_BAN].r2.cloudflarestorage.com",
  "deploy": "npm run sync-r2 && git add . && git commit -m 'Auto Backup & Deploy' && git push"
}

📦 Danh sách Dữ liệu trên Máy Tính (Local Data)

Đây là các file đang nằm trong thư mục data/. Click Copy để lấy link cho vào code.