blog.dopana

Back

GeoLibre là nền tảng GIS cloud-native, mã nguồn mở, miễn phí — chạy trên web, desktop (Windows/macOS/Linux), Android và ngay trong Jupyter Notebook.

Không cần cài server. Không cần đăng ký tài khoản. Mở trình duyệt là dùng được.

Tổng Quan#

GeoLibre được xây dựng bởi opengeos (Q. Wu), với tech stack hiện đại:

LayerTechnology
FrontendReact + TypeScript
Map engineMapLibre GL JS
3D renderingdeck.gl
Spatial SQLDuckDB-WASM Spatial
Desktop & MobileTauri v2
LicenseMIT

Điểm đặc biệt: toàn bộ xử lý GIS chạy trong trình duyệt — không cần backend, không cần database riêng.

Chạy Ở Đâu?#

🌐 Web Browser#

Mở https://geolibre.app — đầy đủ tính năng, không cài gì.

💻 Desktop App#

Tải installer cho Windows (.msi), macOS (.dmg), Linux (.deb/.AppImage). App desktop dùng Tauri v2 — bundle chỉ vài MB, nhẹ hơn Electron 20 lần.

📱 Android#

Native Android app trên Google Play — cảm ứng đầy đủ, responsive với mọi kích thước màn hình.

📓 Jupyter Notebook#

Python package tích hợp GeoLibre ngay trong notebook — dùng cho phân tích và visualization.

Tech Stack#

MapLibre GL JS#

Map engine mặc định — hỗ trợ 2D, 3D, style vector/raster tiles, basemaps từ OpenFreeMap, Protomaps, EOX Sentinel-2 cloudless, và cả planetary basemaps cho Mặt Trăng, Sao Hỏa, Sao Thủy, Venus, Titan, Pluto…

DuckDB-WASM Spatial#

Máy chủ SQL spatial chạy trong trình duyệt. GeoLibre dùng DuckDB-WASM để:

  • Load local vector files (GeoJSON, GeoParquet, GeoPackage, Shapefile, KML, GPX…)
  • Chạy SQL spatial queries trực tiếp trên dữ liệu
  • Client-side vector tiling cho layer lớn
  • Export kết quả ra nhiều định dạng
-- Chạy SQL spatial ngay trong trình duyệt
SELECT
  name,
  ST_Area(geom) AS area,
  ST_Centroid(geom) AS center
FROM loaded_layer
WHERE ST_Within(geom, ST_GeomFromText('POLYGON((...))'))
ORDER BY area DESC
LIMIT 100;
sql

deck.gl#

3D rendering engine cho:

  • 3D Tiles (Cesium 3D Tiles, ArcGIS I3S)
  • Point clouds, heatmaps, arc layers
  • 3D building extrusion
  • Gaussian splats

Tauri v2#

Framework cho desktop và mobile (thay vì Electron):

  • Bundle size: vài MB (vs Electron ~200MB)
  • Rust backend cho file system, native dialogs, system tray
  • Mobile support: iOS và Android

Tính Năng Nổi Bật#

700+ Công Cụ Geoprocessing#

Toàn bộ chạy trong trình duyệt — không cần kết nối server:

  • Buffer, clip, intersect, union, dissolve
  • Slope, aspect, hillshade, contour
  • Raster calculator, reclassify, zonal statistics
  • Network analysis, Voronoi, Delaunay
  • Spatial join, attribute join

SQL Workspace#

SQL editor tích hợp DuckDB-WASM Spatial:

  • Autocomplete cho tables, columns, SQL keywords
  • Query history
  • Add results to map hoặc export
  • Kết hợp DuckDB + PGlite (PostGIS in-browser) + Apache Sedona

3D & Planetary#

// Load 3D Tiles
const tileset = await add3DTiles({
  url: 'https://example.com/tileset.json',
  height: 100,
  color: [255, 0, 0, 200],
});
typescript
  • 3D city models (NYC buildings colored by construction era)
  • Planetary basemaps: Moon, Mars, Mercury, Venus, Pluto…
  • Per-project ellipsoid — distance/area/scale đo đúng theo thiên thể

Style & Symbology#

Style engine mạnh mẽ, tương thích với QGIS và Mapbox:

FeatureMô tả
Symbology typesSingle, categorized, graduated, rule-based, expression
DiagramsPie, donut, bar charts trên features
LabelsData-defined label engine với đầy đủ placement controls
Import/ExportOGC SLD, QGIS QML, Mapbox GL JSON
Color rampsInline preview gradient swatches
HeatmapPoint heatmap + clustering renderers
Raster stylingPseudocolor, RGB band combination, colormaps

Legend Panel#

Tự động sinh legend từ visible layers:

  • Per-class rows cho graduated, categorized, rule-based
  • Gradient bars cho heatmap và raster colormaps
  • Proportional-symbol size ramps
  • Edit mode: rename, hide, reorder, collapse
  • Export JSON — save với project, share với Print Layout

Data Integrations#

Kết nối trực tiếp đến nhiều nguồn dữ liệu:

  • Cloud: Planetary Computer, Earth Engine, Overture Maps
  • Web services: WMS, WFS, WMTS, ArcGIS FeatureServer, OGC API
  • Local: GeoJSON, Shapefile, GeoPackage, KML, GPX, MBTiles, PMTiles
  • Raster: COG, GeoTIFF, NetCDF/HDF (kerchunk), Zarr
  • 3D: 3D Tiles, I3S, glTF/GLB, Gaussian splats
  • CAD: DXF/DWG, Esri File Geodatabase (.gdb)

Multi-Map & Timelapse#

  • Multi-map grid: so sánh basemaps, layers, time steps side by side
  • CesiumJS 3D globe trong một pane (camera-synced)
  • Timelapse: animate annual cloudless basemaps (EOX Sentinel-2, NASA GIBS)

Wikipedia Knowledge Cards#

Click vào địa điểm trên map — hiển thị Wikipedia summary ngay lập tức.

So Sánh Với GIS Truyền Thống#

QGISGeoLibreGoogle Earth Engine
Cài đặt~1GBWeb / ~5MB appKhông cài
ServerCầnKhôngCần (Google)
Cloud-native
Trong trình duyệt❌ (code editor)
JupyterPluginBuilt-inAPI
Offline✅ (desktop)
3DPluginBuilt-in (deck.gl)
SQL Spatial✅ (DuckDB + PGlite)
GiáMiễn phíMiễn phí (MIT)Free tier
Mobile✅ (Android)

Cách Bắt Đầu#

Web (không cần cài)#

Mở https://geolibre.app → Bắt đầu dùng ngay
text

Desktop#

Tải installer từ geolibre.app:

# Hoặc chạy từ source
git clone https://github.com/opengeos/GeoLibre.git
cd GeoLibre
npm install
npm run desktop:dev
bash

Android#

Google Play → “GeoLibre” → Install

Jupyter#

pip install geolibre-jupyter
bash

Kết Luận#

GeoLibre là bước tiến mới cho GIS open-source:

  • Cloud-native: chạy trong trình duyệt, không cần server
  • Cross-platform: web, desktop, Android, Jupyter
  • 700+ công cụ geoprocessing — xử lý local, không gửi dữ liệu đi đâu
  • Tech stack hiện đại: MapLibre + DuckDB-WASM + deck.gl + Tauri
  • MIT license: tự do sử dụng, modify, distribute

Nếu bạn làm việc với dữ liệu không gian địa lý — từ phân tích đơn giản đến 3D city modeling, từ planetary mapping đến real-time weather — GeoLibre là công cụ đáng để thử.

Tài liệu tham khảo#