Đề tài nghiên cứu Xây dựng hệ tìm kiếm tri thức thông tin địa lý các đề tài khoa học về GIS đã được thực hiện trong thời gian từ tháng 032018 đến tháng 072018. Mục tiêu của đề tài là áp dụng hệ tri thức để xây dựng công cụ tìm kiếm kết hợp cho hệ thống WebGIS về các bài báo khoa học của các hội thảo GIS để hỗ trợ giáo dục, cung cấp các thông tin thuộc tính và không gian của các đề tài khoa học GIS đã được nghiên cứu, báo cáo. Người dùng hướng đến là đối tượng nghiên cứu về GIS. Phương pháp xây dựng của đề tài là sử dụng công nghệ mã nguồn mở, để tối ưu vấn đề kinh phí thực hiện nghiên cứu mà vẫn đảm bảo các yêu cầu đề ra. Trong đó, tìm hiểu về hệ cơ sở tri thức để tiến xây dựng hệ thống dữ liệu. Kết hợp ngôn ngữ lập trình Python, HTML, CSS, Javascript và các công cụ PostgreSQLPostGIS, Visual Studio Code xây dựng web trên máy chủ Geoserver. Đề tài nghiên cứu đã đạt được các kết quả sau: Hoàn thành việc thiết kế và xây dựng cơ sở dữ liệu về các đề tài, bài báo được trình bày tại các hội thảo GIS toàn quốc trên hệ quản trị cơ sở dữ liệu PostgresSQLPostGIS. Hoàn thành việc thiết kế chức năng và thiết kế giao diện trang WebGIS với công cụ tìm kiếm và quản lý hệ thống các đề tài, bài báo. Xây dựng trang web có công cụ tìm kiếm với các công cụ tương tác và quản lý bài viết.
Trang 1i
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NÔNG LÂM THÀNH PHỐ HỒ CHÍ MINH
KHÓA LUẬN TỐT NGHIỆP
XÂY DỰNG HỆ TÌM KIẾM TRI THỨC THÔNG TIN ĐỊA LÝ
CÁC ĐỀ TÀI KHOA HỌC VỀ GIS
Họ tên sinh viên: TRẦN TUẤN KHOA Ngành: Hệ thống Thông tin Địa lý Niên khóa: 2014 – 2018
Trang 2ii
Tp Hồ Chí Minh, tháng 07/2018
XÂY DỰNG HỆ TÌM KIẾM TRI THỨC THÔNG TIN ĐỊA LÝ
CÁC ĐỀ TÀI KHOA HỌC VỀ GIS
Tác giả TRẦN TUẤN KHOA
Khóa luậnđược đệ trình để đáp ứng yêu cầu cấp bằng Kĩ sư ngành Hệ thống Thông tin Địa lý
Giáo viên hướng dẫn Thầy Khưu Minh Cảnh
Tp Hồ Chí Minh, tháng 07/2018
Trang 3Tôi xin tỏ lòng biết ơn chân thành đến:
Quý thầy cô trường Đại học Nông Lâm TP HCM đã tận tình dạy và truyền đạt những kiến thức quý báu cho tôi trong thời gian học tập và thực hiện
đề tài
Th.S Khưu Minh Cảnh (Trung tâm Ứng dụng Hệ thống Thông tin Địa lý
TP HCM) thầy đã tận tình hướng dẫn, giúp đỡ tôi trong suốt quá trình thực hiện đề tài
Gia đình và bạn bè luôn động viên giúp đỡ và tạo điều kiện thuận lợi cho tôi trong quá trình học tập, cũng như trong lúc thực hiện đề tài
Trần Tuấn Khoa
Khoa Môi trường và Tài nguyên Trường Đại học Nông Lâm TP HCM
Số điện thoại: 0933306100 Email: trantuankhoabc@gmail.com
Trang 4iv
TÓM TẮT
Đề tài nghiên cứu "Xây dựng hệ tìm kiếm tri thức thông tin địa lý các đề tài khoa học về GIS" đã được thực hiện trong thời gian từ tháng 03/2018 đến tháng 07/2018 Mục tiêu của đề tài là áp dụng hệ tri thức để xây dựng công cụ tìm kiếm kết hợp cho
hệ thống WebGIS về các bài báo khoa học của các hội thảo GIS để hỗ trợ giáo dục, cung cấp các thông tin thuộc tính và không gian của các đề tài khoa học GIS đã được nghiên cứu, báo cáo Người dùng hướng đến là đối tượng nghiên cứu về GIS
Phương pháp xây dựng của đề tài là sử dụng công nghệ mã nguồn mở, để tối ưu vấn đề kinh phí thực hiện nghiên cứu mà vẫn đảm bảo các yêu cầu đề ra Trong đó, tìm hiểu về hệ cơ sở tri thức để tiến xây dựng hệ thống dữ liệu Kết hợp ngôn ngữ lập trình Python, HTML, CSS, Javascript và các công cụ PostgreSQL/PostGIS, Visual Studio Code xây dựng web trên máy chủ Geoserver
Đề tài nghiên cứu đã đạt được các kết quả sau:
Hoàn thành việc thiết kế và xây dựng cơ sở dữ liệu về các đề tài, bài báo được trình bày tại các hội thảo GIS toàn quốc trên hệ quản trị cơ sở dữ liệu PostgresSQL/PostGIS
Hoàn thành việc thiết kế chức năng và thiết kế giao diện trang WebGIS với công
cụ tìm kiếm và quản lý hệ thống các đề tài, bài báo
Xây dựng trang web có công cụ tìm kiếm với các công cụ tương tác và quản lý bài viết
Trang 5v
MỤC LỤC
LỜI CẢM ƠN iii
TÓM TẮT iv
MỤC LỤC v
DANH MỤC VIẾT TẮT viii
DANH MỤC BẢNG BIỂU ix
DANH MỤC HÌNH ẢNH 1
CHƯƠNG 1 MỞ ĐẦU 3
1.2 Mục tiêu nghiên cứu 4
1.3 Đối tượng và phạm vi nghiên cứu 4
CHƯƠNG 2 TỔNG QUAN TÀI LIỆU 5
2.1 Thông tin chung về hội thảo GIS 5
2.1.1 Mục tiêu chung của hội thảo 6
2.2 Tổng quan hệ tri thức 6
2.2.1 Các khái niệm [1] 6
2.2.2 Tiếp nhận, biểu diễn tri thức 7
2.2.3 Xây dựng các hệ cơ sở tri thức 7
2.3 Tổng quan khai thác dữ liệu 9
2.3.1 Khái niệm 9
2.3.2 Các bước của quá trình khai thác dữ liệu 10
2.3.3 Những nhóm bài toán của khai thác dữ liệu 11
Trang 6vi
2.3.4 Những lợi thế và thách thức của khai thác dữ liệu 12
2.4 Công nghệ nền tảng 13
2.4.1 WebGIS 13
2.5 Phần mềm PostgreSQL [4] 14
2.6 Phần mềm Postgis [5] 15
2.7 Phần mền mã nguồn mở Geoserver [6] 16
2.8 Thư viện Leaflet [7] [8] 16
2.9 Ngôn ngữ lập trình Python/Flask [9] [10] 17
2.10 Tình hình nghiên cứu liên quan đến vấn đề nghiên cứu 17
2.10.1 Trên thế giới 17
2.10.2 Trong nước 17
3.1 Dữ liệu 18
3.2 Phương pháp 20
3.3 Thiết kế cơ sở dữ liệu 20
3.3.1 Thiết kế mô hình cơ sở dữ liệu 20
3.2.2 Thiết kế mô hình cơ sở dữ liệu luận lý 23
3.2.3 Thiết kế mô hình cơ sở dữ liệu mức vật lý 23
3.3 Xây dựng Cơ Sở Dữ Liệu 26
3.3.1 Xây dựng CSDL 26
3.4 Xây dựng hệ thống WebGIS 29
3.4.1 Thiết kế hệ thống 29
Trang 7vii
3.4.2 Thiết kế giao diện trang web 30
3.5 Thiết kế chức năng của trang web 34
CHƯƠNG 4 KẾT QUẢ NGHIÊN CỨU 37
4.1 Giao diện trang web 37
4.1.1 Giao diện tìm kiếm 37
4.1.2 Giao diện đăng nhập 38
4.1.3 Giao diện đăng kí 39
4.2 Kết quả của các chức năng tìm kiếm 39
4.2.1.Tìm kiếm theo tinh thành phố 39
4.2.2.Tìm kiếm theo chủ đề: 41
4.2.3 Tìm kiếm theo phần mềm: 42
4.2.4 Kết luận 43
CHƯƠNG 5: KẾT LUẬN VÀ KIẾN NGHỊ 44
5.1 Kết quả 44
5.2 Kiến nghị 44
PHỤ LỤC 1: QUY TRÌNH ĐƯA DỮ LIỆU VÀO POSTGRESQL 46
PHỤ LỤC 2: QUY TRÌNH XÂY DỰNG WEBMAP 47
PHỤ LỤC 3: KHAI THÁC CƠ SỞ DỮ LIỆU BẰNG PHẦN MỀM POSTGRESSQL52 PHỤ LỤC 4 : QUÁ TRÌNH XÂY DỰNG CHỨC NĂNG TÌM KIẾM 62
TÀI LIỆU THAM KHẢO 67
Trang 8viii
DANH MỤC VIẾT TẮT
API Application Programming Interface
Trang 9ix
DANH MỤC BẢNG BIỂU
Bảng 2.1 Tiếp nhận, biểu diễn tri thức 7
Bảng 2.2 Các loại tri thức 8
Bảng 2.3 Các hệ tri thức phân loại theo ứng dụng 9
Bảng 3.1 Kiểu dữ liệu thuộc tính thực thể KHU VUC 24
Bảng 3.2 Kiểu dữ liệu thuộc tính thực thể BAIBAO 24
Bảng 3.3 Kiểu dữ liệu thuộc tính thực thể CONGCU 25
Trang 101
DANH MỤC HÌNH ẢNH
Hình 2.1 Địa điểm các hội thảo GIS đã tổ chức 5
Hình 3.1 Bảng phân loại dữ liệu trong Excel 19
Hình 3.2 Sơ đồ phương pháp nghiên cứu 20
Hình 3.3 Sơ đồ mô tả sơ lượt một số thực thể ER chính 22
Hình 3.4 Tạo database mới 26
Hình 3.5 Kết nối cơ sở dữ liệu 27
Hình 3.6 Import dữ liệu vào 28
Hình 3.7 Dữ liệu sau khi Import 28
Hình 3.8 Sơ đồ chức năng hệ thống WebGIS 30
Hình 3.9 Mô tả Sitemap của trang web 31
Hình 3.10 Mô tả mô hình UML 32
Hình 3.11 Mô tả giao diện trang 33
Hình 3.12 Mô tả giao diện trang đăng nhập 33
Hình 3.13 Mô tả giao diện trang tìm kiếm 34
Hình 4.1 Giao diện Timeline 37
Hình 4.2 Giao diện trang tìm kiếm 38
Hình 4.3 Giao diện đăng nhập 38
Hình 4.4 Giao diện đăng ký 39
Hình 4.5 Tìm kiếm theo Tỉnh thành phố 40
Hình 4.6 Kết quả tìm kiếm theo chủ đề 40
Hình 4.7 Tìm kiếm theo chủ đề 41
Hình 4.8 Kết quả tìm kiếm theo chủ đề 41
Hình 4.9 Tìm kiếm theo phần mềm 42
Hình 4.10 Kết quả tìm kiếm theo phần mền 42
Trang 112
Hình 1 Câu lệnh trong Excel 46
Hình 2 Kết quả import dữ liệu vào PostgreSQL thành công 46
Hình 3 Giao diện Geoserver 47
Hình 4 Các bước tạo Workspace 48
Hình 5 Các bước tạo Stores 48
Hình 6 Điền các thông số 49
Hình 7 Thao tác tạo Style 50
Hình 8 Hiển thị đối tượng tỉnh thành 50
Hình 9 Hiển thị đối tượng quận huyện 51
Hình 10 Kết quả truy vấn theo bài báo và chủ đề 53
Hình 11 Kết quả truy vấn theo tên công cụ 54
Hình 12 Kết quả truy vấn theo năm 55
Hình 13 Kết quả truy vấn tương ứng theo tỉnh 56
Hình 14 Kết quả truy vấn công cụ theo chủ đề 57
Hình 15 Kết quả truy vấn bằng ký tự bất kỳ 58
Hình 16 Kết quả truy vấn bằng giá trị kỹ thuật 59
Hình 17 Kết quả truy vấn bài báo 60
Hình 18 Kết quả truy vấn bài báo và tỉnh 61
Trang 123
CHƯƠNG 1 MỞ ĐẦU 1.1 Tính cấp thiết của đề tài
Hệ thống thông tin địa lý (GIS) là một hệ thống thông tin áp dụng cho dữ liệu địa
lý, có khả năng hỗ trợ thông tin cho người lập quyết định trên cơ sở khai thác khả năng truy vấn, thống kê, tổng hợp thông tin liên quan đến vị trí, ứng dụng của GIS ngày càng được phổ biến rộng rãi trên toàn thế giới và dần trở thành nền tảng công nghệ khó có thể thay thế
Sự phát triển GIS tại Việt Nam trong những năm qua được thể hiện qua con số
ấn tượng với hàng trăm cơ sở nghiên cứu, trung tâm ứng dụng, các cơ quan, ban ngành
sử dụng GIS như một công cụ hỗ trợ ra quyết định, trên 30 trường đại học, cao đẳng đào tạo các chuyên ngành liên quan đến GIS
Các cuộc Hội thảo “Ứng dụng GIS toàn quốc” từ năm 2009 cho đến nay, liên tục được các trường đại học, các viện nghiên cứu trên khắp cả nước thay phiên nhau đăng cai tổ chức Đây là nơi để các nhà khoa học trong và ngoài nước có cơ hội công bố kết quả nghiên cứu, trao đổi và thảo luận về các vấn đề liên quan đến ứng dụng GIS trong các lĩnh vực khác nhau, đồng thời xây dựng hợp tác trong thời gian tới nhằm nâng cao năng lực ứng dụng GIS ở Việt Nam Mặc dù đã được tổ chức qua nhiều năm và số lượng các nghiên cứu ngày càng tăng, tuy nhiên việc tiếp cận với các nghiên cứu trên đối với nhiều đối tượng không tham gia hội vẫn còn nhiều hạn chế, chỉ những người tham gia hội thảo mới có thể tiếp cận với các nghiên cứu trên thông qua tài liệu (sách) trong hội thảo Vì thế hầu hết các đối tượng không tham gia Hội thảo (sinh viên, các nhà khoa học ở xa,…) khó có thể tiếp cận với các nghiên cứu trên
Với sự phát triển mạng Internet như hiện nay, công nghệ GIS cho phép chia sẻ thông tin thông qua Internet bằng cách kết hợp GIS và Website để tạo thành WebGIS WebGIS đang ngày càng phát triển và phổ biến cho việc cung cấp thông tin dưới dạng thông tin thuộc tính kết hợp với thông tin không gian đến với người dùng thông qua mạng Internet WebGIS có thể hỗ trợ tốt cho việc cung cấp thông tin các nghiên cứu
Trang 134
của hội thảo đến các nhà khoa học, sinh viên một cách nhanh chóng và tốt hơn mà không cần phải tham gia hội thảo, từ đó hỗ trợ việc tìm kiếm các nghiên cứu hiệu quả hơn
Từ các lý do trên, đề tài “Xây dựng hệ tìm kiếm tri thức thông tin địa lý các đề tài khoa học về GIS”
1.2 Mục tiêu nghiên cứu
Mục tiêu chung:
Xây dựng trang WebGIS cung cấp các thông tin về vị trí, năm, bài báo, tác giả, đơn vị công tác,… của các hội thảo để phục vụ việc tìm kiếm các đề tài nghiên cứu một cách tốt hơn
Mục tiêu cụ thể:
Tìm hiểu, phân tích các bài báo khoa học của trong các hội thảo
Thiết kế cơ sở dữ liệu về các bài báo khoa học
1.3 Đối tượng và phạm vi nghiên cứu
Đề tài tập trung nghiên cứu trong phạm vi sau:
Đối tượng nghiên: là các bài báo khoa học trong sách Kỷ yếu hội thảo
Phạm vi nghiên cứu: phạm vi nghiên cứu đề tài giới hạn trong Hội thảo GIS năm
2015
Trang 14để đồng tổ chức cùng với trường đại học ở các tỉnh thành sau:
Hình 2.1 Địa điểm các hội thảo GIS đã tổ chức
Đại học Nông Lâm TPHCM (2010)
Trường Đại học Sư Phạm Đại học Đà Nẵng (2011)
Trường Đại học Tài nguyên và Môi trường TP HCM (2012)
Trường Đại học Nông nghiệp 1 Hà Nội (2013)
Trường Đại học Cần Thơ (2014)
Trường Đại học Khoa học Tự nhiên Đại học Quốc gia Hà Nội (2015) Tiếp theo đó, năm 2016 Đại học Huế đăng cai tổ chức hội thảo "Ứng dụng GIS toàn quốc 2016"
Trang 156
Tiếp đến Hội thảo “Ứng dụng GIS toàn quốc 2017” đã được tổ chức tại Trường Đại học Quy Nhơn và cũng như các lần hội thảo trước đó, Hội thảo "Ứng dụng GIS toàn quốc 2018" dự kiến sẽ tổ chức vào ngày 27 tháng 10 năm 2018 tại Viện Địa lý Tài nguyên TPHCM, Viện Hàn lâm Khoa học Công nghệ Việt Nam, với chủ đề
“Hướng tới đô thị thông minh”
2.1.1 Mục tiêu chung của hội thảo
Trao đổi về những kết quả nghiên cứu ứng dụng GIS, Viễn thám trong thời gian qua và thảo luận hướng nghiên cứu, hợp tác và phát triển các nghiên cứu khoa học liên quan đến GIS trong thời gian tới
Nâng cao năng lực ứng dụng GIS, Viễn thám trong nghiên cứu khoa học, quản lý nhà nước, giáo dục và phát triển cộng đồng tại Việt Nam
2.2 Tổng quan hệ tri thức
2.2.1 Các khái niệm [1]
Tri thức: là sự hiểu biết về một lĩnh vực của chủ đề
Hệ thống dựa trên tri thức: là hệ thống phần mềm, trong đó các tri thức về lĩnh vực bài toán được cô lập và lưu trữ trong cơ sở tri thức, được xử lý, đánh giá nhờ thành phần giải vấn đề độc lập với bài toán
Cơ sở tri thức: là thành phần chính bên cạnh phần giải vấn đề trong hệ thống dựa trên tri thức
Công nghệ tri thức: là những phương pháp dùng để tiếp nhận, biểu diễn tri thức, xây dựng các hệ cơ sở tri thức và khám phá tri thức (hay bao gồm tất cả các hoạt động
đi kèm theo vòng đời của một hệ thống dựa trên tri thức) Được xem như là một nhánh nghiên cứu của trí tuệ nhân tạo, phân tích tri thức lĩnh vực, chuyển nó thành những mô hình tính toán và đưa vào máy tính phục vụ những nhu cầu cần thiết
Trang 167
2.2.2 Tiếp nhận, biểu diễn tri thức
Bảng 2.1 Tiếp nhận, biểu diễn tri thức
Tiếp nhận thụ động Tiếp nhận chủ
động
Biểu diễn tri thức
Gián tiếp: những tri thức
để có thêm tri thức mới
Logic mệnh đề và logic vị từ
Hệ luật dẫn Đối tượng – thuộc tính – giá trị Mạng ngữ nghĩa
Frame Script
2.2.3 Xây dựng các hệ cơ sở tri thức
Các hệ cơ sở tri thức có 2 chức năng tách biệt nhau, trường hợp đơn giản có hai khối: khối tri thức và khối điều khiển
2.2.3.1 Khối tri thức (cơ sở tri thức)
Hệ cơ sở tri thức đóng: được xây dựng với một số “tri thức lĩnh vực” ban đầu
và sử
Hệ cơ sở tri thức mở: là những hệ cơ sở tri thức tiên tiến hơn, nó có khả năng
bổ sung tri thức trong quá trình hoạt động, khám phá
Hệ cơ sở tri thức kết hợp: bao gồm sự kết hợp giữa hệ đóng và hệ mở, hệ kết hợp giữa cơ sở tri thức và cơ sở dữ liệu, hay giữa các hệ cơ sở tri thức với nhau Các hệ cơ sở tri thức kết hợp thường phát triển mạnh dựa trên tri thức liên ngành
2.2.3.2 Khối điều khiển (động cơ suy diễn)
Để tiến hành các suy diễn nhằm tạo ra các tri thức mới dựa trên các sự kiện, tri thức cung cấp từ ngoài vào và tri thức có sẵn trong hệ cơ sở tri thức Hai kiểu suy diễn chính trong động cơ suy diễn là suy diễn tiến và suy diễn lùi
Trang 178
Bảng 2.2 Các loại tri thức Loại tri thức
Ví dụ
Tri thức thủ tục: diễn tả cách giải quyết vấn
đề, cho biết phương hướng thực hiện các
hoạt động
Các luật, các chiến lược, các thủ tục như
giải phương trình bậc hai, xây nhà, đăng ký kết hôn
Tri thức mô tả (hay tri thức khai báo): cho
biết một vấn đề được thấy như thế nào, gồm
các khẳng định đơn giản, nhận giá trị chân
lý đúng sai
Các khái niệm, các đối tượng, các sự kiện
như mặt trời mọc ở phương Đông
Tri thức meta (hay siêu tri thức): diễn tả tri
thức về tri thức, giúp chọn lựa tri thức thích
hợp trong số các tri thức khi giải vấn đề
Tri thức về các dạng tri thức khác và cách
sử dụng chúng như áp dụng kinh dịch vào
việc xây nhà và sẽ chọn được hướng thích hợp
Tri thức may rủi (hay tri thức heuristic):
diễn tả luật may rủi, cung cách may rủi dẫn
dắt quá trình lập luận, đây là tri thức nông
cạn do không bảo đảm tính chính xác, khoa
học và nó xuất phát từ những kinh nghiệm,
từ tri thức giải các vấn đề quá khứ
Các luật may rủi
Tri thức cấu trúc: diễn tả các cấu trúc của tri
thức, cấu trúc thể hiện qua cách tổ chức, mô
hình về các tri thức
Các tập luật, các quan hệ khái niệm, khái niệm về quan hệ giữa các đối tượng
Trang 189
2.2.3.4 Các hệ tri thức phân loại theo ứng dụng
Bảng 2.3 Các hệ tri thức phân loại theo ứng dụng
Các hệ tri thức phân loại theo ứng dụng
Hệ giải quyết vấn đề Hệ hỗ trợ định danh Hệ dự báo, chuẩn
Giống các hệ hỗ trợ ra quyết định với tính ngoại suy
Các hệ thống có gắn với cơ sở tri thức Các
hệ thống này thường ứng dụng trong công nghiệp, trong điều khiển tự động hóa, thường là những hệ thống thời gian
2.3 Tổng quan khai thác dữ liệu
2.3.1 Khái niệm
Khai thác dữ liệu là một khái niệm ra đời vào những năm cuối của thập kỷ 80
Nó bao hàm một loạt các kỹ thuật nhằm phát hiện ra các thông tin có giá trị tiềm ẩn trong các tập dữ liệu lớn (các kho dữ liệu) Về bản chất, khai thác dữ liệu liên quan đến việc phân tích các dữ liệu và sử dụng các kỹ thuật để tìm ra các mẫu hình có tính chính quy (regularities) trong tập dữ liệu
Năm 1989, Fayyad, PiatestskyShapiro và Smyth đã dùng khái niệm Phát hiện tri thức trong cơ sở dữ liệu (Knowledge Discovery in Database – KDD) để chỉ toàn bộ quá trình phát hiện các tri thức có ích từ các tập dữ liệu lớn Trong đó, khai thác dữ liệu là
Trang 1910
một bước đặc biệt trong toàn bộ tiến trình, sử dụng các giải thuật đặc biệt để chiết xuất
ra các mẫu (pattern) (hay các mô hình) từ dữ liệu
Khai thác dữ liệu là quá trình khảo sát và phân tích một khối lượng lớn các dữ liệu được lưu trữ trong các cơ sở dữ liệu, kho dữ liệu…để từ đó trích xuất ra các thông tin quan trọng, có giá trị tiềm ẩn bên trong
2.3.2 Các bước của quá trình khai thác dữ liệu
Bước 1: Xác định mục tiêu bài toán
Cũng giống như bất kỳ một dự án thông thường nào, bước đầu tiên trong quá trình khai thác dữ liệu đó là phải xác định rõ ràng được mục tiêu, nhiệm vụ của bài toán Đồng thời bên cạnh đó là sự phân công trách nhiệm ở một mức
độ nào đó nhằm đảm bảo dự án được triển khai một cách có hiệu quả
Bước 2: Thu thập dữ liệu
Sau khi xác định được mục tiêu của bài toán, ta tiến hành thu thập các dữ liệu liên quan Dữ liệu có thể được thu thập từ nhiều nguồn: các CSDL của các xử
lý giao dịch trực tuyến, từ các kho dữ liệu…
Sau khi thu thập được các dữ liệu, ta có thể tiến hành chọn lọc các mẫu tiêu biểu để làm giảm độ lớn của dữ liệu
Bước 3: Làm sạch dữ liệu và chuyển đổi dữ liệu
Xử lý các dữ liệu bị thiếu: Có rất nhiều nguyên nhân của việc dữ liệu thiếu
Ví dụ: khách hàng đôi khi không điền đẩy đủ thông tin bắt buộc Giải pháp:
bỏ qua mẫu dữ liệu nếu nhiều thuộc tính thiếu giá trị; Dùng hằng số thay thế, thường là giá tị trung bình của các mẫu tỏng cùng một lớp với mẫu có giá trị thiếu; Dữ liệu không nhất quán: Dữ liệu có thể không nhất quán với nhau trong các bản ghi của một số giao dịch Một số có thể sửa lại theo cách thủ công
Chuyển đổi kiểu dữ liệu: mục đích đưa dữ liệu về dạng phù hợp với thuật toán khai thác
Bước 4: Xây dựng mô hình
Trang 2011
Đối với mỗi bài toán trong khai thác dữ liệu đều có nhiều mô hình để giải quyết, mỗi mô hình được xây dựng dựa trên một thuật toán hoặc kết hợp một vài thuật toán với nhau Chúng ta nên thử giải quyết bài toán bằng nhiều mô hình khác nhau rồi tiến hành so sánh lựa chọn, tìm ra mô hình tối ưu nhất, thích hợp với bài toán
Bước 5: Đánh giá mô hình, đánh giá mẫu
Các mẫu đưa ra có dễ hiểu không?
Các mẫu đưa ra có tiềm năng sử dụng không?
Bước 6: Báo cáo
Mục tiêu của bước này là đưa tri thức tìm kiếm được vào sử dụng
2.3.3 Những nhóm bài toán của khai thác dữ liệu
Phân loại: là tổ chức dữ liệu trong các lớp cho trước, còn được gọi là học có quan sát Phân loại sử dụng các nhãn lớp cho trước để sắp xếp các đối tượng Trong đó
có một tập huấn luyện gồm các đối tượng đã được kết hợp với nhãn cho trước
Phân cụm: hay còn gọi là phân đoạn Điểm khác với bài toán phân loại là ở đây các nhãn lớp chưa biết và không có tập huấn luyện Các đối tượng được phân loại dựa trên các thuộc tính tương đồng giữa chúng
Bài toán phân tích luật kết hợp: Phân tích luật kết hợp khám phá ra các luật kết hợp thể hiện mối liên kết giữa các thuộc tính dữ liệu thường xuất hiện cùng nhau trong các tập dữ liệu
Trang 21để phân lớp dựa trên một tập huấn luyện và giá trị thuộc tính của đối tượng
Phân tích chuỗi được sử dụng để tìm ra các mẫu trong một loạt các giá trị hay trạng thái rời rạc Phân tích chuỗi và phân tích luật kết hợp giống nhau ở chỗ chúng đều phân tích tập hợp các đối tượng hay trạng thái
Phân tích độ lệch: còn được gọi là phát hiện điểm biên Điểm biên là những đối tượng dữ liệu mà không tuân theo các đặc tính, hành vi chung Ứng dụng quan trọng nhất của bài toán là kiểm tra xác nhận thẻ tín dụng Chưa có một kỹ thuật chuản cho bài toán này Nó còn đang là chủ đề mở hiện đang tiếp tục nghiên cứu
2.3.4 Những lợi thế và thách thức của khai thác dữ liệu
Phương pháp học máy: đây là phương pháp có nhiều đóng góp cho bài toán phân lớp, nhận dạng Tuy nhiên, phương pháp học máy chủ yếu được
áp dụng trong các CSDL ít biến động, đầy đủ, tập dữ liệu không quá lớn Trên thực tế, CSDL thường không đầy đủ, biến đổi liên tục Trong trường hợp này người ta sử dụng khai thác dữ liệu
Phương pháp thống kê: mặc dù thống kê là nền tảng của lý thuyết khai thác dữ liệu nhưng có thể thấy rõ những tồn tại của phương pháp này mà khai thác dữ liệu đã giải quyết được:
Các phương pháp thống kê hoạt động hoàn toàn theo dữ liệu, nó không
sử dụng tri thức sẵn có về lĩnh vực
Trang 22 Những hạn chế của các thuật toán: Hầu hết các thuật toán đều khá là tổng quát, nó sinh ra nhiều luật Mặc dù các luật sinh ra đa số đều hữu ích nhưng ta vẫn phải đo độ đáng quan tâm của các mẫu nên vẫn cần sự can thiệp của các chuyên gia nghiệp vụ
2.4.1.2 Kiến trúc của WebGIS [3]
WebGIS hoạt động theo mô hình Client – server giống như hoạt động của
một Website thông thường, vì thế hệ thống WebGIS cũng có kiến trúc 3 tầng điển hình của một ứng dụng Web thông dụng Kiến trúc 3 tầng gồm có 3 thành phần cơ bản đại diện: Client, Application Server và Data Server
Tầng trình bày thường là các trình duyệt web như Fire Fox, Chrome có chức năng hiển thị, gửi yêu cầu đến Web Sever và nhận kết quả trả về từ Web Sever để hiển thị
Tầng giao dịch thường được tích hợp trong một Web Server nào đó, ví dụ như Tomcat, Apache, Internet Information Server, nhiệm vụ chính của nó
Trang 23Tầng dữ liệu là nơi lưu trữ các dữ liệu bao gồm cả dữ liệu không gian và phi không gian Các dữ liệu này được tổ chức lưu trữ bởi các hệ quản trị cơ sở
dữ liệu như PostgreSQL/PostGIS, Microsoft SQL Server 2008, MySQL, Oracle
2.4.1.3 Nguyên lý hoạt động
Client gửi yêu cầu của người sử dụng đến Web Sever Web Sever nhận yêu cầu của người dùng gửi đến từ phía Client, phân tích yêu cầu nhận được Nếu yêu cầu liên quan đến dữ liệu thì Web Sever sẽ chuyển tiếp yêu cầu đến Data Sever Data Sever nhận yêu cầu từ Web Sever, tiến hành truy vấn dữ liệu cần thiết và trả dữ liệu về cho Web Sever Web Sever nhận về kết quả xử lý, khi có được dữ liệu phù hợp với yêu cầu của Client thì Web Sever sẽ trả thông tin về cho trình duyệt web theo giao diện được cài đặt sẵn
2.4.1.4 Ứng dụng của WebGIS
Khả năng phân phối thông tin rộng rãi trên toàn cầu
Người dùng Internet có thể truy cập đến các ứng dụng GIS mà không phải mua phần mềm
Đối với phần lớn người dùng không có kinh nghiệm về GIS thì việc sử dụng WebGIS sẽ đơn giản hơn việc sử dụng các ứng dụng GIS khác
WebGIS cho phép thêm các chức năng GIS chạy trên cơ sở mạng như thương mại,chính phủ, giáo dục Nhiều ứng dụng loại này chạy trên mạng cục bộ như một phương tiện phân phối và sử dụng dữ liệu địa lý không gian ( geospatial data)
Hiện nay trên thế giới có rất nhiều công nghệ WebGIS như công nghệ MapServer, GeoServer, ESRI, Mapinfo…
2.5 Phần mềm PostgreSQL [4]
Trang 2415
PostgresSQL là một hệ quản trị CSDL quan hệ đối tượng có nguồn gốc từ dự án Ingres tại trường Đại Học Berkeley của Đức vào năm 1986 Với PostGIS thành phần mở rộng của PostgresSQL giúp cho PostgresSQL có khả năng lưu trữ các dữ liệu địa lý như điểm, đường, vùng……
Các tính năng của PostgresSQL:
Hướng đối tượng: trong PostgresSQL mỗi bảng được định nghĩa như một lớp
Mã nguồn mở: Có một số lượng lớn người dùng và phát triển PostgresSQL
Kiểu dữ liệu: PostgresSQL hỗ trợ nhiều kiểu dữ liệu khác nhau như: string, boolean, text, varchar, number, đặc biệt là kiểu dữ liệu geometry giúp cho việc truy vấn các đối tượng shapefile (*.shp) được thực hiện dễ dàng và nhanh chóng Ngoài ra, PostgreSQL cũng hỗ trợ nhiều kiểu dữ liệu thông dụng khác
2.6 Phần mềm Postgis [5]
Postgis là phần mở rộng của PostgresSQL dùng để quản lý dữ liệu không gian Postgis hỗ trợ các phép truy vấn và phân tích không gian hoàn toàn bằng dòng lệnh SQL
Postgis là một module mở rộng bổ sung vào PostgreSQL hỗ trợ quản lý dữ liệu không gian
Postgis hỗ trợ lưu trữ dữ liệu không gian, các hàm phân tích không gian như: Crosses (), Touches (), Intersection (), Union ()…
GeoServer là phần mềm mã nguồn mở được bắt đầu bởi một tổ chức phi lợi nhuận The Open Planning Project (TOPP) nhằm mục đích hỗ trợ việc cung cấp, chia sẻ, chỉnh sửa dữ liệu thông tin địa lý trên môi trường Internet GeoServer có khả năng kết nối với các nguồn CSDL thông qua hầu hết các hệ quản trị cơ sở dữ liệu phổ biến như: PostgreSQL/PostGIS, Microsoft SQL Server 2008, MySQL,… hoặc các tập tin dữ liệu không gian như Shapfile, GeoTiff,… Được thiết kế trên cơ sở chuẩn của Hiệp hội không gian địa lý mở (OGC), Geoserver cung cấp các tính năng chuẩn về hiển thị và
Trang 252.7 Phần mền mã nguồn mở Geoserver [6]
GeoServer là một máy chủ mã nguồn mở được viết bằng Java cho phép người dùng xem và chỉnh sửa dữ liệu không gian địa lý Sử dụng các tiêu chuẩn mở được quy định bởi Hiệp hội không gian địa lý mở (OGC), GeoServer linh hoạt trong việc tạo bản
đồ và chia sẻ dữ liệu GeoServer được xây dựng bởi tổ chức phi lợi nhuận có tên The Open Planning Project (TOPP), là một dự án cộng đồng được phát triển và hỗ trợ bởi nhiều tổ chức khác nhau trên toàn thế giới nhằm mục đích hỗ trợ việc xử lý thông tin không gian địa lý với chất lượng cao, đơn giản trong sử dụng GeoServer là sự phối hợp các chuẩn hoạt động của Open Geospatial Consortium (OGC), Dịch vụ bản đồ (WMSWeb Map Service), Web Feature Service (WFS) GeoServer là thành phần nền tảng của Geospatial Web
2.8 Thư viện Leaflet [7] [8]
Leaflet là một thư viện JavaScript mã nguồn mở cung cấp các tương tác với bản
đồ, thân thiện với các thiết bị di động Chỉ nặng khoảng 38 KB của JS, nó có tất cả các tính năng lập bản đồ mà hầu hết các nhà phát triển đều cần Leaflet được thiết kế đơn giản, hiệu quả Nó hoạt động hiệu quả trên tất cả các nền tảng di động và máy tính, có thể được mở rộng với nhiều plugin, có API đẹp, dễ sử dụng và được tài liệu hóa và mã nguồn đơn giản, cung cấp đầy đủ các tính năng để tương tác với bản đồ
Trang 2617
2.9 Ngôn ngữ lập trình Python/Flask [9] [10]
Python là một ngôn ngữ lập trình thông dịch được tạo ra vào cuối những năm
1980 Nó được xem là ngôn ngữ có cú pháp rõ ràng, cấu trúc dễ hiểu, thuận tiện cho người mới tiếp xúc lập trình web, có thể sử dụng với nhiều mục đích khác nhau và là ngôn ngữ lập trình phổ biến hàng đầu hiện nay Cấu trúc Python cho phép người sử dụng viết mã lệnh với số lần gõ phím tối thiểu Ngoài ra, nó tạo kiểu động và dùng cơ chế cấp phát bộ nhớ tự động, tốc độ xử lý nhanh, chế độ tương tác cho phép người sử dụng tương tác sửa lỗi các đoạn mã, thư viện phong phú cho phép tích hợp với nhiều phần mềm
Flask là một Framework của Python để chạy các ứng dụng web Nó nhỏ gọn, có thể tạo nhanh một trang web để thử nghiện các ý tưởng một cách nhanh chóng, phong phú, với kích thước file nhỏ thuận tiện việc truyền tải dữ liệu qua Internet
2.10 Tình hình nghiên cứu liên quan đến vấn đề nghiên cứu
2.10.1 Trên thế giới
Tại Italy năm 2002, M A Brovelli và D Magni đã nghiên cứu xây dựng webGIS trên nền MapServer và PostGIS cung cấp các chức năng tương tác, truy vấn thông tin bản đồ phục vụ cho ngành khảo cổ
Puyam S Singh, Dibyajyoti Chutia và Singuluri Sudhakar sử dụng PostgresSQL, PostGIS, PHP, Apache và MapServer phát triển một WebGIS mã nguồn mở hỗ trợ việc
ra quyết định, chia sẽ thông tin về tài nguyên thiên nhiên ở Ấn Độ năm 2012
2.10.2 Trong nước
Năm 2006, Trần Quốc Vương đã thiết kế xây dựng WebGis phục vụ du lịch thành phố Đà Nẵng theo chuẩn OGC, xây dựng máy chủ cung cấp dịch vụ Web (WFS), cung cấp các tính năng tương tác trên bản đồ như phóng to, thu nhỏ, xem toàn phần, dịch chuyển theo hướng, tìm kiếm thông tin thuộc tính, xem các đối tượng trên bản đồ tuy nhiên chưa phóng to đến vị trí đối tượng khi người dùng kích chọn
Trang 2718
Năm 2010, Nguyễn Quang Tuấn, Hà Văn Hành, Trương Đình Trọng và Lê Thái Sơn đã ứng dụng WebGIS (công nghệ theo chuẩn OpenGIS) để xây dựng hệ thống thông tin du lịch của tỉnh Quảng Trị (QUANGTRI – TOURMAP) cung cấp công cụ quản lý, cập nhật thông tin bản đồ, tin tức cho các nhà quản lý; hỗ trợ công cụ tìm kiếm đia điểm, tìm đường và hiển thị bản đồ, truy vấn nhanh thông tin bản đồ cho người sử dụng
Trang 28Quá trình thu thập, phân tích dữ liệu được thực hiện:
Tiến hành phân loại các bài báo theo nhóm như chủ đề nghiên cứu, năm, khu vực nghiên cứu, đơn vị công tác, công cụ, phần mềm
Sau khi phân loại, dữ liệu nhận được là dữ liệu về các đề tài nghiên cứu dạng
*.xlsx bao gồm các bảng thông tin về bài báo, nhóm chủ đề, công cụ, kỹ thuật, phần mềm, đơn vị hành chính (quy trình tạo các bảng dữ liệu thuộc tính được trình bày ở Phụ lục 1.)
Dữ liệu về không gian là ranh giới hành chính Việt Nam dạng shapefile *.shp
Dữ liệu này được cung cấp bởi Cộng đồng GIS Việt
Sau khi phân loại và tiến hành phân tích có thể xác định được các đối tượng dự kiến quản lý là:
Khu vực nghiên cứu
Phương pháp nghiên cứu
Đề tài nghiên cứu
Hình 3.1 Bảng phân loại dữ liệu trong Excel
Trang 29lý
Thiết kế cơ
sở dữ liệu mức vật lý
3.2 Phương pháp
Hình 3.2 Sơ đồ phương pháp nghiên cứu 3.3 Thiết kế cơ sở dữ liệu
Quá trình thiết kế cơ sở dữ liệu theo 3 bước như sau:
3.3.1 Thiết kế mô hình cơ sở dữ liệu
Mô hình liên kết thực thể (ER) được dùng để xây dựng mô hình dữ liệu ở mức ý niệm Mô hình ER được mô tả theo các thực thể có các thuộc tính và mối liên kết giữa các thực thể trong một môi trường Thực thể là những đối tượng chính mà ta thu thập thông tin xoay quanh chúng Thực thể thường chỉ người, một nơi chốn, một biến cố và một khái niệm nào đó Thuộc tính là đặc tính của thực thể Mối liên kết diễn tả sự kết hợp giữa một hay nhiều thực thể với nhau
Trang 3021
Trong đề tài này, thực thể là các đối tượng về khu vực nghiên cứu và có mối quan hệ với bài báo như năm, tác giả, chủ đề, các đối tượng phương pháp nghiên cứu như kỹ thuật, công cụ, phần mền…
Các đối tượng quản lý bao gồm:
Thông tin về khu vực nghiên cứu: mã tỉnh thành phố, tên quận huyện
Thông tin về bài báo: mã bài báo, năm, tên bài báo, tác giả , đơn vị công tác, trang bắt đầu, trang kết thúc
Thông tin về các đối tượng phương pháp nghiên cứu: mã đối tượng, tên công cụ, kỹ thuật, phần mềm
Mối quan hệ giữa các thực thể:
Một khu vực có thể có một hoặc nhiều bài báo
Một bài báo có thể nghiên cứu một hoặc nhiều khu vực
Một bài báo có thể có một hoặc nhiều phương pháp
Một đối tượng là phương pháp có thể có ở nhiều bài báo khác nhau Sau khi phân tích các mối quan hệ, ta có lược đồ liên kết thực thể như hình:
Trang 3122
Hình 3.3 Sơ đồ mô tả sơ lượt một số thực thể ER chính
Trang 3223
3.2.2 Thiết kế mô hình cơ sở dữ liệu luận lý
Sau khi phân tích và có mô hình liên kết thực thể ER, ta có mô hình dữ liệu quan hệ như sau:
Thực thể KHUVUC: khóa chính là code_tinh KHUVUC(code_tinh, name_tinhname_vung, geom)
Thực thể BAIBAO: khóa chính là baibao_id, khóa ngoại là mabaibao
BAIBAO( baibao_id, mabaibao, nam, tacgia, donvi, tenbai, nhom, trangbatdau, trangketthuc)
Thực thể liên kết DONVIHANHCHINH(dvhc_id, code_tinh, mabaibao, code_huyen, code_xa) Mối liên kết DONVIHANHCHINH sẽ liên kết thực thể KHUVUC và thực thể BAIBAO với nhau
Thực thể CONGCU: khóa chính là tools_id CONGCU(tools_id, makythuat1, tenkythuat, nhomkythuat, phanloai)
CHITIETKYTHUAT (kythuat_id, mabaibao, kythuatchinh,kythuatchitiet, makythuat, kythuatthucap)
Thực thể liên kết CHITIETKYTHUAT: với khóa chính là kythuat_id và mabaibao dùng để liên kết thực thể BAIBAO và thực thể CONGCU với nhau
3.2.3 Thiết kế mô hình cơ sở dữ liệu mức vật lý
Thuộc tính của các thực thể được mô tả kèm theo kiểu dữ liệu được mô tả ở các bảng dưới đây:
Bảng thông tin tỉnh/thành phố (KHUVUC) gồm có các thuộc tính gid, code_tinh, name_tinh, name_vung, geomtry
Trang 3324
Bảng 3.1 Kiểu dữ liệu thuộc tính thực thể KHU VUC
Thuộc tính Kiểu dữ liệu Mô tả
code_tinh varchar(254) Mã tỉnh
name_tinh varchar(75) Tên tỉnh
name_vung varchar(75) Tên vùng
Bảng thông tin bài báo (BAIBAO) gồm các thuộc tính baibao_id, mabaibao, nam, tacgia, donvi, tenbai, nhom, trangbatdau, trangketthuc
Bảng 3.2 Kiểu dữ liệu thuộc tính thực thể BAIBAO
Thuộc tính Kiểu dữ liệu Mô tả
baibao_id integer Mã đối tượng
trangbatdau integer Trang bắt đầu
trangketthuc integer Trang kết thúc
Trang 3425
Bảng thông tin về các đối tượng tiện ích (CONGCU) gồm các thuộc tính tools_id, makythuat1, tenkythuat, nhomkythuat, phanloai
Bảng 3.3 Kiểu dữ liệu thuộc tính thực thể CONGCU
Thuộc tính Kiểu dữ liệu Mô tả
makythuat1 text
Mã kỹ thuạt
nhomkythuat text Nhóm kỹ thuật
Trang 35 Sau khi cài PostgreSQL và PostGIS, mở chương trình pgAdmin
Nhấp đúp chuột vào PostgreSQL để Connect sẽ hiện ra 1 form để điền username và password Điền các thông tin rồi nhấn OK để connect
Tạo database: Chuột phải vào Database, chọn New Database
Đặt tên cho Database Trong tab Definition, mục Template chọn postgis_23_sample > OK Database mới đã được tạo
Hình 3.4 Tạo database mới
Để Import dữ liệu shapefile vào database, ta sử dụng công cụ PostGIS Shapefile Import/Export Manager Công cụ này được cài đặt sẵn khi cài PostGIS Chọn View Connection Details để nhập thông tin đăng nhập vào PostGIS, đăng nhập Username là postgres, Password là pasword lúc cài đặt phần mềm, Server Host là Localhost 5432, Database là tên database mới tạo trong PostgresSQL
Trang 3627
Hình 3.5 Kết nối cơ sở dữ liệu
Tiếp theo, để đưa dữ liệu vào database, chọn Add File sau đó tìm đường dẫn đến shapefile cần thêm rồi click OK để thêm shapefile vào danh sách Cuối cùng nhấp Import để đưa shapefile được chọn vào CSDL
Trang 3728
Hình 3.6 Import dữ liệu vào
Sau khi import xong, cơ sở dữ liệu đã được tạo
Hình 3.7 Dữ liệu sau khi Import
Trang 38và người dùng đăng nhập (được phép đăng tải bài)
Người quản trị (Admin) là người được truy cập toàn bộ hệ thống thông qua chức năng đăng nhập, quản lý thông tin và quản lý đối tượng người dùng
Khách (người dùng không đăng nhập) là những người truy cập vào hệ thống mà không cần đăng nhập, có thể xem bản đồ và tìm kiếm thông tin
Người dùng đăng nhập có thể là tác giả hoặc người có thông tin về bài báo thông qua chức năng đăng nhập, có thể xem bản đồ, tìm kiếm thông tin và đăng thông tin, chỉnh sửa, xóa thông tin về bài báo
Trang 3930
Hình 3.8 Sơ đồ chức năng hệ thống WebGIS 3.4.2 Thiết kế giao diện trang web
Sitemap (sơ đồ của một trang web) là tập tin văn bản có chứa tất cả các đường dẫn
của một trang web, hướng dẫn cho các công cụ tìm kiếm thu thập thông tin của trang web
một cách hiệu quả và cập nhật những thay đổi trên trang web, như là thêm một trang mới
hoặc thay đổi trang web hiện tại
Sitemap của trang web dự kiến của đề tài có 2 phần:
Phần trang web hiển thị tìm kiếm
Trang 4031
Hình 3.9 Mô tả Sitemap của trang web
Ngôn ngữ mô hình hóa thống nhất (Unified Modeling Language UML) là một ngôn ngữ mô hình gồm các ký hiệu đồ họa mà các phương pháp hướng đối
tượng sử dụng để thiết kế các hệ thống thông tin một cách nhanh chóng
Đối với người dùng không đăng nhập, họ có thể tìm kiếm, xem bản đồ Đối với người dùng đăng nhập, ngoài việc xem bản đồ, tìm kiếm thì còn có thể đăng
các bài báo Khi người dùng tìm kiếm, sẽ truy cập đến CSDL để cho ra kết quả
các thông tin thuộc tính và thông tin không gian hiển thị lên bản đồ về vị trí của
bài báo