Lộ trình đào tạo TTS Lập trình GIS
LỘ TRÌNH ĐÀO TẠO THỰC TẬP SINH LẬP TRÌNH GIS – 3 THÁNG (12 TUẦN)
1. Mục tiêu đào tạo:
Có thể xây dựng hoàn chỉnh một ứng dụng WebGIS từ BE PostGIS + GeoServer đến FE OpenLayers, Leafmap + Angular, bao gồm: quản trị CSDL không gian, phân tích dữ liệu GIS, biên tập dữ liệu qua web, dựng API và deploy sản phẩm online.
2. Thời gian tổng: 12 tuần – 3 tháng
Hình thức: Lý thuyết + Thực hành + Bài tập + Demo hàng tuần + Dự án cuối khóa
Công cụ cần cài đặt
- GeoServer 2.25
· PostgreSQL + PostGIS 16x
- QGIS
- VS Code + Git
- Node.js, Python 3
- Angular CLI
3. Lộ trình chi tiết theo tuần:
Tuần 1 – 2: Module 1 – Làm quen với CSDL GIS (Geodatabase)
Nội dung:
- Point, Line, Polygon và các loại Geometry
- Phân biệt dữ liệu không gian với dữ liệu thuộc tính thông thường
- Cấu trúc dữ liệu GIS (GeoJSON, Shapefile, GeoPackage)
Mục tiêu: Hiểu rõ các thành phần cơ bản của dữ liệu GIS.
Tài liệu tham khảo:
- https://www.igismap.com/gis-tutorial-basic-spatial-elements-points-lines-and-polygons/
- QGIS Training Manual – Vector Data
Bài tập: Phân tích cấu trúc file *.geojson và *.json chứa dữ liệu GIS.
Đánh giá: Nộp báo cáo phân tích dữ liệu mẫu + demo trong QGIS.
Tuần 3 – 4: Module 2 – Hệ thống quản trị CSDL GIS (PostGIS & GeoServer) (9 ngày)
Nội dung:
- Cài đặt và cấu hình PostgreSQL + PostGIS
- Quản trị CSDL GIS local
- Cài đặt GeoServer, publish layer từ PostGIS
- Quản trị CSDL GIS online (cơ bản)
Mục tiêu: Thành thạo thiết lập và quản trị CSDL GIS, publish dịch vụ.
Tài liệu tham khảo:
- PostGIS Official Workshop: https://postgis.net/workshops/postgis-intro/
- GeoServer Getting Started & Tutorials: https://docs.geoserver.org/latest/en/user/gettingstarted/
Bài tập thực hành:
- Thiết lập CSDL Postgres + PostGIS
- Import dữ liệu GIS vào PostGIS
- Kết nối và publish layer lên GeoServer
Đánh giá: Có CSDL Geodatabase hoạt động trên PostGIS và publish được ít nhất 3 layer trên GeoServer.
Tuần 5 – 7: Module 3 – Phân tích CSDL GIS (12 ngày)
Nội dung:
- Tạo lập, lưu trữ và truy vấn dữ liệu GIS (SQL Spatial)
- Import / Export dữ liệu
- Dựng API cơ bản gọi dữ liệu từ GeoServer
Mục tiêu: Sử dụng mã nguồn mở để phân tích và truy vấn dữ liệu không gian.
Tài liệu tham khảo:
- PostGIS Documentation (các hàm ST_*)
- Introduction to PostGIS (Harvard CGA)
Bài tập thực hành:
- Import dữ liệu lớn vào PostgreSQL/PostGIS
- Đẩy dữ liệu lên GeoServer
- Xây dựng API (Node.js hoặc Python) để gọi dữ liệu từ GeoServer
Đánh giá: Xem được dữ liệu trên GeoServer qua API và thực hiện được các truy vấn không gian cơ bản.
Tuần 8 – 9: Module 4 – Làm việc với mã nguồn mở OpenLayers (10 ngày)
Nội dung:
- Giới thiệu OpenLayers
- Hiển thị bản đồ, thêm layer từ GeoServer (WMS/WFS)
- Tương tác và biên tập dữ liệu (point, line, polygon)
Mục tiêu: Xây dựng giao diện WebGIS tương tác với dữ liệu từ GeoServer.
Tài liệu tham khảo:
- OpenLayers Official Tutorials: https://openlayers.org/doc/tutorials/
- https://openlayers.org/
Bài tập thực hành:
- Dựng giao diện WebGIS: xem, chỉnh sửa, biên tập point/line/polygon
- Gọi dịch vụ WMS/WFS từ GeoServer
Đánh giá: Sản phẩm WebGIS cơ bản với OpenLayers có chức năng biên tập dữ liệu.
Tuần 10: Module 5 – Làm việc với mã nguồn mở Leafmap (7 ngày)
Nội dung:
- Giới thiệu Leafmap (Python-based)
- Trực quan hóa dữ liệu trực tiếp từ PostGIS
- Biên tập và hiển thị dữ liệu không gian
Mục tiêu: Xây dựng WebGIS nhanh chóng kết nối trực tiếp với PostGIS.
Tài liệu tham khảo:
- Leafmap Official Tutorials: https://leafmap.org/tutorials/ (đặc biệt notebook PostGIS)
- https://leafmap.org/
Bài tập thực hành:
- Dựng giao diện WebGIS với Leafmap: xem, chỉnh sửa point/line/polygon
- Gọi dữ liệu trực tiếp từ PostgreSQL/PostGIS
Đánh giá: Sản phẩm trải nghiệm với Leafmap kết nối PostGIS.
Tuần 11: Module 6 – Dựng dịch vụ WebGIS với Angular (5 ngày) Nội dung:
- Giới thiệu Angular framework
- Tích hợp OpenLayers hoặc Leafmap vào Angular
- Xây dựng giao diện chuyên nghiệp
Mục tiêu: Hoàn thiện ứng dụng WebGIS bằng framework frontend.
Tài liệu tham khảo:
- Angular Official Tutorials: https://angular.dev/tutorials
- Hướng dẫn tích hợp OpenLayers với Angular (các ví dụ 2025-2026)
Bài tập thực hành:
- Tích hợp map (OpenLayers/Leafmap) vào dự án Angular
- Deploy sản phẩm WebGIS
Đánh giá: Sản phẩm Angular có map và chức năng cơ bản.
Tuần 12: Dự án cuối khóa & Tổng kết Nội dung:
- Xây dựng WebGIS hoàn chỉnh cho một chủ đề thực tế (ví dụ: Bản đồ quy hoạch Hà Nội, Quản lý điểm du lịch, hoặc Hệ thống theo dõi môi trường).
- Tích hợp PostGIS + GeoServer + OpenLayers/Leafmap + Angular.
- Thêm chức năng xem, biên tập dữ liệu, API và deploy online (Vercel/Netlify hoặc server công ty).
Mục tiêu: Áp dụng toàn bộ kiến thức vào một sản phẩm thực tế.
Đánh giá: Trình bày dự án + demo online + báo cáo kỹ thuật + source code trên GitHub.
Tài liệu bổ sung chung:
- Group Facebook: “Cộng đồng GIS Việt Nam” và “WebGIS Việt Nam”
- GitHub repo cá nhân để quản lý toàn bộ code