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