luận văn về các giải pháp bản đồ trực tuyến và ứng dụng
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Ngành: Công nghệ thông tin
Cán bộ hướng dẫn : TS Nguyễn Hải Châu
HÀ NỘI - 2008
Trang 3TÓM TẮT KHÓA LUẬN
GIS-Geography Information System(Hệ thống thông tin địa lý) ra đời và được phát triển mạnh trong những năm gần đây Cùng với sự bùng nổ về công nghệ của Internet, GIS cũng đã phát triển công nghệ cho phép chia sẻ thông tin thông qua mạng toàn cầu bằng cách kết hợp GIS và Web Bên cạnh đó, xu hướng chia sẻ dữ liệu, phát triển phần mềm trên công nghệ mã nguồn mở cũng được quan tâm ở các nước đang phát triển vì nhiều lợi ích mà nó mang lại Vì thế, việc nghiên cứu ứng dụng trên cơ sở
mã nguồn mở sẽ mang lại khả năng chia sẻ thông tin địa lý rộng rãi cho các ngành
Nội dung chính của đề tài là nghiên cứu nền tảng công nghệ GIS, từ đó đưa ra các giải pháp về bản đồ trực tuyến, khả năng xây dựng ứng dụng bản đồ trên cơ sở mã nguồn mở và từ đó xây dựng website bản đồ trực tuyến về các địa điểm du lịch trên thành phố Hà Nội
Khóa luận được chia thành các phần chính sau:
Mở đầu: Đặt vấn đề và đưa ra mục tiêu nghiên cứu
Chương 1: Giới thiệu về bản đồ, nghiên cứu về công nghệ GIS và ứng dụng
công nghệ GIS trên nền web
Chương 2: Tìm hiểu một số giải pháp về bản đồ trực tuyến, đi xâu nghiên
cứu giải pháp sử dụng phần mền mã nguồn mở MapServer
Chương 3: Xây dựng ứng dụng bản đồ trực tuyến phục vụ nhu cầu du lịch
thành phố Hà Nội
Kết luận: Kết quả đạt được và định hướng phát triển trong tương lai
Trang 4LỜI CẢM ƠN
Lời đầu tiên cho em được cảm ơn chân thành tới thầy Nguyễn Hải Châu, người
đã trực tiếp hướng dẫn tận tình và đóng góp những ý kiến quý báu trong suốt quá trình
em làm khóa luận tốt nghiệp này
Em xin cảm ơn và gửi những lời chúc tốt đẹp nhất đến các thầy cô giáo trường Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội, đã tận tâm truyền đạt những kiến thức quý báu làm nền tảng để em bước vào đời
Cuối cùng, em xin được cảm ơn gia đình, bạn bè và người thân đã giúp đỡ em,
là chỗ dựa tinh thần vững chắc giúp em hoàn thành tốt khóa luận tốt nghiệp này
Người thực hiện
NGUYỄN ĐỨC PHUƠNG
Trang 5
MỤC LỤC
DANH MỤC CÁC HÌNH VẼ 8
DANH MỤC BẢNG 10
MỘT SỐ KHÁI NIỆM VÀ THUẬT NGỮ 11
MỞ ĐẦU 12
1 Đặt vấn đề 12
2 Nội dung và mục tiêu nghiên cứu 13
CHƯƠNG 1: GIỚI THIỆU VỀ CÔNG NGHỆ GIS TRÊN NỀN WEB 14
1.1 Giới thiệu về bản đồ 14
1.2 Các phương pháp biểu diễn bản đồ 14
1.2.1 Phân loại bản đồ 14
1.2.2 Các thành phần của bản đồ 15
1.2.3 Độ chính xác của bản đồ 16
1.2.4 Các chú giải trên bản đồ 16
1.2.5 Phương pháp thể hiện thông tin trên bản đồ 18
1.2.6 Sự khái quát hóa và sự phóng đại 19
1.3 Công nghệ GIS trên nền Web 19
1.4 Sơ đồ hoạt động của ứng dụng GIS trên nền Web 20
1.5 Dữ liệu về GIS 21
1.5.1 Các khái niệm cơ bản 21
1.5.2 Các dạng dữ liệu của GIS 24
1.5.3 Mô hình thông tin không gian 24
1.5.4 Mô hình thông tin phi không gian 30
CHƯƠNG 2: CÁC GIẢI PHÁP BẢN ĐỒ TRỰC TUYẾN 33
2.1 Một số giải pháp bản đồ trực tuyến 33
2.1.1 MapBender 33
2.1.2 MapGuide Open Source 33
2.1.3 OpenLayers 34
2.2 Phần mềm mã nguồn mở MapServer 34
2.2.1 Giới thiệu về Mapserver 34
2.2.2 Thành phần và mô hình xử lý của Mapserver 36
2.2.3 Tìm hiểu Mapfile 39
Trang 62.2.4 Xử lý kết nối các loại dữ liệu 48
CHƯƠNG 3: XÂY DỰNG WEBSITE BẢN ĐỒ TRỰC TUYẾN VỀ CÁC ĐỊA ĐIỂM DU LỊCH TRÊN THÀNH PHỐ HÀ NỘI 52
3.1 Phân tích 52
3.1.1 Hiện trạng và nhu cầu của thông tin 52
3.1.2 Phân tích hệ thống và định hướng công nghệ 52
3.2 Thiết kế 53
3.2.1 Thiết kế kiến trúc 53
3.2.2 Thiết kế cơ sở dữ liệu 54
3.2.3 Thiết kế chức năng 64
3.2.4 Thiết kế giao diện 66
3.3 Xây dựng 70
3.3.1 Xây dựng máy chủ cung cấp dữ liệu 70
3.4 Cài đặt và thử nghiệm 70
KẾT LUẬN 72
1 Kết quả đạt được 72
2 Hướng phát triển đề tài 72
PHỤ LỤC 73
Phụ lục 1: Một số giao diện người dùng người dùng 73
Phụ lục 2: Giao diện quản trị 79
TÀI LIỆU THAM KHẢO 81
Trang 7DANH MỤC CÁC HÌNH VẼ
Hình 1: Bản đồ dạng đường nét 14
Hình 2: Bản đồ dạng ảnh 15
Hình 3: Sơ đồ hoạt động của WebGIS 20
Hình 4: Số liệu vector được biểu thị dưới dạng điểm (Point) .25
Hình 5: Số liệu vector được biểu thị dưới dạng đường 26
Hình 6: Số liệu vector được biểu thị dưới dạng vùng (Polygon) 26
Hình 7: Một số khái niệm trong cấu trúc cơ sở dữ liệu bản đồ .27
Hình 8: Sự biểu thị kết quả bản đồ dưới dạng Raster 29
Hình 9: Sự chuyển đổi dữ liệu giữa raster và vector 30
Hình 10: Sơ đồ hoạt động của Mapserver 36
Hình 11: Quy trình xử lý của Mapserver 38
Hình 12: Mô hình đối tượng trong Mapfile 39
Hình 13: Chồng xếp các Layer 39
Hình 14: Danh sách font sử dụng 40
Hình 15: Thứ tự được vẽ các Layer 43
Hình 16: Mô hình 3 tầng trong thiết kế kiến trúc 53
Hình 17: Quan hệ giữa thực thể Phường/Xã và Quận/Huyện 55
Hình 18: Quan hệ giữa thực thể Đường giao thông và Bảo tàng 55
Hình 19: Quan hệ giữa thực thể Đường giao thông và Khách sạn 55
Hình 20: Quan hệ giữa thực thể Đường giao thông và Nhà hàng 55
Hình 21: Quan hệ giữa thực thể Đường giao thông và Di tích danh lam 56
Hình 22: Quan hệ giữa thực thể Đường giao thông và Công ty lữ hành 56
Hình 23: Quan hệ giữa thực thể Quận/Huyện và Bảo tàng 56
Hình 24: Quan hệ giữa thực thể Quận/Huyện và Khách sạn 56
Hình 25: Quan hệ giữa thực thể Quận/Huyện và Nhà hàng 56
Hình 27: Quan hệ giữa thực thể Phường/Xã và Bảo tàng 57
Hình 28: Quan hệ giữa thực thể Phường/Xã và Khách sạn 57
Hình 29: Quan hệ giữa thực thể Phường/Xã và Nhà hàng 57
Hình 30: Quan hệ giữa thực thể Phường/Xã và Di tích danh lam 57
Hình 31: Quan hệ giữa thực thể Phường/Xã và Công ty lữ hành 58
Hình 32: Lược đồ mô tả các thực thể và mối quan hệ giữa các thực thể 63
Hình 33: Sơ đồ các chức năng 64
Hình 34: Sơ đồ quản trị 66
Trang 8Hình 36: Giao diện trang chủ 68
Hình 37: Giao diện Danh sách bảo tàng 68
Hình 38: Giao diện chi tiết bảng tàng 69
Hình 39: Giao diện bản đồ 69
Trang 9DANH MỤC BẢNG
Bảng 1: Các phương pháp thể hiện bản đồ 18
Bảng 2: Bảng lớp dữ liệu không gian 59
Bảng 3: Chi tiết bảng Quản trị 59
Bảng 4: Chi tiết bảng bảo tàng 60
Bảng 5: Chi tiết bảng Công ty lữ hành 60
Bảng 6: Chi tiết bảng Danh lam 61
Bảng 7: Chi tiết bảng khách sạn 61
Bảng 8: Chi tiết bảng Nhà hàng 62
Bảng 9: Chi tiết bảng Quận 62
Bảng 10: Chi tiết bảng Phường 62
Bảng 11: Chi tiết bảng Đường giao thông 63
Bảng 12: Kết quả kiểm thử 71
Trang 10MỘT SỐ KHÁI NIỆM VÀ THUẬT NGỮ
Thuật ngữ Từ tiếng Anh Định nghĩa tiếng Việt
API Application Program Interface Giao diện lập trình ứng
dụng
CGI Common Gateway Interface Chuẩn để kết nối chương
trình ứng dụng với Web server
dạng dữ liệu địa lý[15] GIS Geography Information System Hệ thống thông tin địa lý
Sử dụng công nghệ này là một công nghệ dựa trên máy tính để xây dựng bản
đồ, phân tích và xử lý các đối tượng tồn tại và các sự kiện xảy ra trên trái đất GML Geography Markup Language Ngôn ngữ đặc tả về dữ liệu
địa lý
OGC Open Geospatial Consortium Là tổ chức tập hợp các nhà
phát triển nghiên cứu đưa
ra các chuẩn cho hệ địa lý SDE Spatial Database Enginee Cơ sở dữ liệu không gian
tập trung
Trang 11MỞ ĐẦU
1 Đặt vấn đề
Mục đích của mạng Internet, như những người tiền sáng lập và đặt nền móng cho nó công bố là phổ cập tri thức toàn cầu Người sử dụng dù ở bất kỳ đâu, đều có thể truy cập, khai thác những gì cần cho công việc trong kho tàng tri thức chung nhân loại
Bản đồ học là một ngành của khoa học tự nhiên, cũng chịu sự chi phối đó Mặt khác, mọi thông tin trong tất cả các lĩnh vực cuộc sống, ngành khoa học, kinh tế, xã hội cũng đều gắn với các yếu tố không gian địa lý
Những yếu tố đó đã gắn kết, trở thành xu hướng tất yếu cho mọi ngành, mọi nghề, cho các nhà kinh doanh vô hình chung, mỗi chủ thể đều tiến tới xây dựng hệ quản trị cơ sở dữ liệu (GIS) của mình để quảng bá, giao dịch Mọi hệ GIS đều cần có nền là dữ liệu địa lý Cũng có thể vì lý do này, mà các phần mềm về dữ liệu địa lý nền trở nên rất đa dạng Các phần mềm dữ liệu địa lý nền này hoạt động được trên mạng Internet, tạm gọi là Web bản đồ trực tuyến
Hiện nay, có rất nhiều giải pháp bản đồ trực tuyến được các nhà phát triển đưa
ra như Mapbender, MapBuilder, MapGuide Open Source, MapServer, OpenLayers, chúng đều là các phần mềm mã nguồn mở hỗ trợ xây dựng các ứng dụng về bản đồ trên nền web
Du lịch là một trong những dịch vụ mang lại thú vui, sự thư giãn cho con người,
là nơi mà con người khám phá ra vẻ đẹp thiên nhiên, vẻ đẹp về văn hóa, những phong tục tập quán, vẻ đẹp về truyền thống văn hóa ở những vùng đất khác nhau, nhất là trong thời đại công nghiệp như hiện nay Để có một chuyến du lịch thuận lợi, thoải mái thì những thông tin liên quan đến địa điểm du lịch, các thông tin về dịch vụ do các công ty du lịch cung cấp là điều mà bất cứ người đi du lịch nào cũng cần phải biết trước Hiện nay, với cuộc sống bận rộn, người đi du lịch có thể có các thông tin bằng việc truy cập các trang web thông qua mạng internet
Trong những năm gần đây, GIS đã được ứng dụng rất nhiều trong các ngành khoa học có liên quan đến dữ liệu không gian Với khả năng quản lý, chia sẻ các ứng dụng thông tin địa lý qua mạng internet/intranet Bằng việc kết hợp GIS và web để tạo thành WebGIS, người đi du lịch sẽ truy cập được các thông tin du lịch kết hợp với các bản đồ động để có được cái nhìn trực quan về các địa điểm mà mình sẽ đến thông qua
Trang 12trình duyệt web mà không cần phải học sử dụng các phần mềm GIS Bên cạnh đó, nếu kết hợp xây dựng WebGIS trên phần mềm mã nguồn mở thì sẽ có được các lợi ích mà phần mềm mã nguồn mở mang lại như chi phí đầu tư về phần mềm giảm, tận dụng được các thành quả ý tưởng chung của cộng đồng, tính chất an toàn cao
2 Nội dung và mục tiêu nghiên cứu
Nghiên cứu về công nghệ GIS, ứng dụng công nghệ GIS trên nền Web, đưa ra các giải pháp về bản đồ trực tuyến, từ đó xây dựng website bản đồ trực tuyến về các địa điểm du lịch trên thành phố Hà Nội dựa trên nền sản phẩm mã nguồn mở MapServer
Trang 13CHƯƠNG 1: GIỚI THIỆU VỀ CÔNG NGHỆ GIS
TRÊN NỀN WEB 1.1 Giới thiệu về bản đồ
Bản đồ là một mô hình các thực thể và hiện tượng trên trái đất, trong đó thực thể được thu nhỏ, các hiện tượng được khái quát hóa để thể hiện được trên mặt phẳng
vẽ Bản đồ chứa các thông tin về vị trí và các tính chất của vật thể, hiện tượng mà nó trình bày
Thế giới thực rất rộng lớn và phức tạp để chúng ta có thể bao quát được Nếu một phần không gian được chọn với một tỉ lệ nhỏ hơn thực tế thì chúng ta có thể thấy được cấu trúc và dạng của phần không gian đó dễ hơn nhiều và từ đó có thể thấy thấu đáo được khu vực nghiên cứu và đưa ra quyết định đúng đắn
Thông thường bản đồ là một mô hình theo tỉ lệ, nghĩa là tỉ lệ của khoảng cách trên tỉ lệ với khoảng cách trên thực tế sẽ bằng nhau với mọi vị trí trên bản đồ, trong một khu vực rộng lớn được chiếu trên bản đồ với một tỉ lệ nhỏ thì tỉ lệ này cũng có một sai số nhỏ
Về thực chất bản đồ là một hệ thống về không gian Chúng ta có thể xem bản
đồ và tìm thấy các thông tin trên bản đồ
1.2 Các phương pháp biểu diễn bản đồ
1.2.1 Phân loại bản đồ
Bản đồ có 2 dạng chính
Dạng đường nét
Hình 1: Bản đồ dạng đường nét
Trang 14Dạng ảnh
Hình 2: Bản đồ dạng ảnh Bản đồ đường nét dùng các kí hiệu, nét vẽ để thể hiện thông tin một cách tóm lược về khu vực thể hiện, chủ yếu được vẽ bằng thủ công với sự trợ giúp của máy tính
Bản đồ ảnh thường là những hình chụp ngoài thực địa từ trên cao, người ta thường vẽ thêm đường nét để nhấn mạnh các thực thể vào trong bản đồ ảnh Bản đồ dạng này có ưu điểm là vẽ nhanh, miêu tả được những địa hình mà dùng nét vẽ thì khó thể hiện được(Ví dụ ao hồ, sa mạc ) Tuy nhiên bản đồ này thường gặp khó khăn trong việc giải đoán các thực thể trên bản đồ
1.2.2 Các thành phần của bản đồ
Thành phần của bản đồ liên quan đến mục đích sử dụng của nó Các thành phần của bản đồ là:
• Thành phần chính: Là phần chủ đề của bản đồ, ví dụ như địa lý, địa chất, dân
số Đối với bản đồ địa hình, thành phần chính là tất cả thông tin được vẽ bao gồm cả tên của các vùng
• Thành phần thứ hai(Bản đồ nền): Đối với bản đồ chủ đề, thành phần này này là
phần địa hình, bao gồm lưới tọa độ
• Thành phần phụ trợ(Thông tin chú thích, tỉ lệ): Là các thông tin như chú thích,
tỉ lệ, tiêu đề
Trang 15¾ Công cụ và độ ổn định của vật liệu được sử dụng trong việc vẽ bản đồ
• Chính xác về chủ đề: Độ chính xác về chủ đề liên quan đến thông tin chủ đề
được thể hiện, độ chính xác này ảnh hưởng bởi:
¾ Thu thập thông tin thuộc tính: chất lượng của dữ liệu thống kê và phương pháp thống kê
¾ Việc chuyển đổi dữ liệu: Một phần của vùng đôi khi được thể hiện cho toàn vùng
• Chính xác về cách thể hiện: Sự xuất hiện của các biểu tượng trên bản đồ rất
quan trọng, nếu dùng sai biểu tượng thì có thể đánh lạc hướng của người sử dụng hay làm mờ ranh giới giữa các vùng
1.2.4 Các chú giải trên bản đồ
Ngôn ngữ bản đồ cũng là một loại ngôn ngữ, nó có các chức năng chính sau:
- Dạng có cấu trúc gợi nhớ đối tượng
- Kí hiệu chứa một nội dung về số lượng, chất lượng, cấu trúc của đối tượngcần thể hiện trên bản đồ
- Kí hiệu trên bản đồ phản ánh vai trò của đối tượng trong không gian và vị trí tương quan của nó với yếu tố khác
Hệ thống kí hiệu quy ước bản đồ:
Trên bản đồ ta sử dụng các dạng đồ họa, mầu sắc, các loại chữ và con số Các
kí hiệu trên bản đồ thường được thể hiện dưới dạng:
- Kí hiệu điểm (Point)
Trang 16- Kí hiệu diện tích(Polygon).
- Kí hiệu tượng hình
- Kí hiệu hình học
- Kí hiệu chữ
Trang 171.2.5 Phương pháp thể hiện thông tin trên bản đồ
Bảng 1: Các phương pháp thể hiện bản đồ
Phương
pháp
Đối tượng dùng Cách thể hiện
Thông tin thể hiện
mối liên quan của các đặc trưng của hiện tượng vào trong biên của hiện tượng đó
Đường đẳng
trị
Dạng điểm Nối các điểm có cùng
chỉ số về số lượng của hiện tượng trên bản đồ
Các đối tượng có cùng số lượng của hiện tượng
Kí hiệu
đường
chuyển động
Dạng tuyến hoặc dạng vector
Vẽ các mũi tên để thể hiện sự di chuyển
Thể hiện sự di chuyển của các đối tượng trên bản đồ
hiện tượng
Thể hiện sự phân tán của hiện tượng trên một vùng
Biểu đồ định
vị
Dạng điểm Tạo biểu đồ tương
quan (dạng tròn, dạng cột) giữa các đặc trưng
Đặc điểm phân bố,
số lượng, chất lượng, cấu trúc
Trang 181.2.6 Sự khái quát hóa và sự phóng đại
Vì bản đồ là sự thu nhỏ của thế giới thực, nên ta không thể trình bày một cách chính xác, do đó người ta thường dùng những kỹ thuật sau đây để thể hiện bản đồ:
- Khái quát hóa là sự lựa chọn và đơn giản hóa sự thể hiện của thực thể trên bản đồ theo một tỉ lệ và mục đích thích hợp nhằm giúp cho bản đồ dễ đọc
- Sự phóng đại là kỹ thuật nhằm phóng kích thước vật cần thể hiện to hơn tỉ lệ thực của nó nhằm giúp cho bản đồ dễ đọc hay nhằm nhấn mạnh vật thể đó
Sự khái quát hóa yêu cầu những chú ý đến các yếu tố sau:
• Sự lựa chọn: Mục tiêu của bản đồ là yếu tố chính để lựa chọn thực thể
nên vẽ trên bản đồ, sự lựa chọn thường liên quan đến tỉ lệ bản đồ
• Sự đơn giản hóa: Các thực thể phải được thể hiện trên bản đồ nhưng quá
nhỏ hay quá phức tạp mà không trình bày được chi tiết nếu không bỏ bớt hay đơn giản hóa Tỉ lệ là yếu tố tham gia chính
• Lược bỏ: Để duy trì tính dễ đọc và sạch sẽ của bản đồ, một vài thực thể
sẽ không được thể hiện, ngay cả nó rõ ràng Tỉ lệ vẫn là yếu tố ảnh hưởng chính nhưng yếu tố địa hình và tự nhiên cũng quan trọng
Mối quan hệ giữa sự khái quát hóa và sự phóng đại rất gần, thực ra chính sự phóng đại hóa là sự khái quát hóa Ví dụ trong trường hợp bản đồ đường sá tỉ lệ 1/50000, nếu ta vẽ đúng tỉ lệ con đường rộng 10m thì nét vẽ đường này chỉ rộng 0.2mm cho tất cả các đoạn rẽ hay xoắn, nhưng trong bản đồ chúng ta phải thể hiện nét
vẽ 1mm, tuy nhiên với nét vẽ này chúng ta vẫn không thể hiện chính xác được các đoạn rẽ và xoắn
1.3 Công nghệ GIS trên nền Web
Công nghệ GIS trên nền Web(hay còn gọi là WebGIS) là hệ thống thông tin địa lý phân tán trên một mạng các máy tính để tích hợp, trao đổi các thông tin địa lý trên mạng Internet Trong cách thực hiện việc phân tích GIS, dịch vụ này giống như kiến trúc Client-Server của web Xử lý thông tin địa lý được chia thành các nhiệm vụ ở phía Server và phía Client Điều này cho phép người dùng có thể truy xuất, thao tác và nhận kết quả từ việc khai thác dữ liệu GIS từ trình duyệt web của họ mà không phải mất tiền cho phần mềm GIS Một Client tiêu biểu là trình duyệt web và phía server bao gồm một Web Server cung cấp một chương trình phần mềm ứng dụng GIS trên web Client
Trang 19thường yêu cầu một ảnh bản đồ hay vài xử lý thông tin địa lý qua web đến server ở xa, server chuyển yêu cầu thành mã nội bộ và gọi những chức năng về GIS bằng cách chuyển tiếp yêu cầu đến phần mềm ứng dụng GIS Phần mềm này trả về kết quả, sau
đó kết quả lại được định dạng lại cho việc trình bày bởi trình duyệt hay những hàm từ
bộ nhúng (plug-in) hoặc java applet Server sau đó trả về kết quả cho client để hiển thị, hoặc gửi dữ liệu và các công cụ phân tích đến client để dùng ở phía client
Phần lớn sự chú ý gần đây là tập trung vào sự phát triển của các chức năng GIS trên internet Công nghệ GIS trên nền web có tiềm năng lớn trong công việc làm cho thông tin địa lý trở nên hữu dụng và sẵn sàng tới số lượng lớn người sử dụng trên thế giới Thách thức lớn của công nghệ này là để tạo ra một hệ thống phần mềm không phục thuộc vào nền tảng (platform) và chạy trên chuẩn giao thức mạng TCP/IP có nghĩa là khả năng chúng chạy trên bất kì trình duyệt web của bất kì máy tính nào nối mạng internet Đối với vấn đề này, các phần mềm GIS phải được thiết kế lại để trở thành ứng dụng GIS trên nền web theo các kỹ thuật mạng internet
1.4 Sơ đồ hoạt động của ứng dụng GIS trên nền Web
Hình 3: Sơ đồ hoạt động của WebGIS Khi có yêu cầu phát sinh, máy khách(Client) gửi yêu cầu đến máy chủ web (WebServer) Nếu yêu cầu có liên quan đến bản đồ, WebServer chuyển yêu cầu đó đến cho một công cụ xử lý, ví dụ như MapServer(Một công cụ xử lý sẽ được trình bày ở chương 2) Tại MapServer, yêu cầu sẽ được phân loại và tùy thuộc vào loại yêu cầu
mà MapServer gọi đến chương trình thực thi để thực hiện Chương trình thực thi trên MapServer truy cập vào cơ sở dữ liệu để lấy dữ liệu Trong quá trình truy cập, chương trình thực thi tham chiếu đến tệp tin cấu hình bản đồ (config_mapfile) Dữ liệu lấy về
sẽ được chuyển về WebServer, WebServer tham chiếu đến tệp tin mẫu (html template)
Trang 202 Khi sử dụng hế số dấu phẩy động để tính độ chính xác thì tính bằng số chữ
số ở bên phải dấu chấm thập phân trong số đó Ví dụ, số 56.78 có tỉ lệ là 2
Map Unit (Đơn vị bản đồ)
Đơn vị đo lường chuẩn trên mặt đất vi dụ như: feet, miles, meters, kilometers trong tọa độ của không gian mà dữ liệu đã lưu trữ
Projection(Hệ quy chiếu hay phép chiếu)
Là phương pháp mô tả lại bề mặt cong của trái đất trên bề mặt phẳng Thông thường nó đòi hỏi phải có hệ thống toán học để chuyển đổi các lưới kinh độ và vĩ độ của trái đất trên mặt phẳng Có thể hình dung giống như chuyển đổi quả cầu trong suốt với một bóng đèn ở tâm sẽ in ra các đường kinh độ và vĩ độ trên trang giấy Thông thường trang giấy bao giờ cũng phẳng và nơi tiếp xúc với quả cầu hoặc khuôn dạng trong hình nón hay hình trụ và toàn bộ quả cầu Mọi hệ quy chiếu bản đồ đều làm biến dạng khoảng cách, hình hài, phương hướng và sự kết hợp của những yếu tố đó
Coordinate system (Hệ tọa độ)
Điểm reference frameworkđược đặt lên trên bề mặt của khu vực để thiết kế vị trí của điểm bên trong nó Hệ thống bao gồm sự thiết lập các điểm, đường thẳng và bề mặt; thiết lập các luật, sử dụng định nghĩa vị trí của điểm trong không gian hai hoặc ba chiều Hệ thống tọa độ Đề Các và hệ tọa độ địa lý sử dụng trên bề mặt trái đất là những ví dụ phổ biến về hệ tọa độ
X, Y Coordinate (Tọa độ X, Y)
Cặp giá trị biểu diễn khoảng cách từ gốc tọa độ (0,0) kéo dài ra hai hướng, theo chiều ngang trục (x) biểu diễn Đông-Tây, theo chiều thẳng đứng trục (y) biểu diễn Bắc-Nam Trên bản đồ, tọa độ x, y dùng để biểu diễn vị trí của chúng được tìm thấy trên bề mặt cầu trái đất
Trang 21 Spatial Reference (Quy chiếu không gian)
Hệ thống tọa độ sử dụng để lưu trữ tập dữ liệu không gian (Dataset) Với mỗi Feature Class và feature dataset nằm trong cơ sở dữ liệu geodatabase Spatial Reference cũng bao gồm cả giới hạn không gian
Feature Class (Lớp đặc trưng)
Là tập hợp các đặc trưng địa lý có cùng kiểu hình học (như điểm, đường thẳng,
đa giác), các thuôc tính giống nhau, và cùng hệ quy chiếu không gian (Spatial
Reference) Feature Class có thể đứng một mình độc lập trong cơ sở dữ liệu
geodatabase hoặc cũng có thể nằm trong shapefiles hoặc feature dataset khác Feature Class cho phép các tính năng đồng nhất được nhóm lại trong một đơn vị riêng với mục đích lưu trữ Ví dụ: đường cao tốc, đường chính, đường phụ có thể nhóm lại thành
Feature Class kiểu “Đường-Line” với tên “roads” Trong geodatabase, Feature Class lưu trữ các nhãn chú thích (Diễn giải) và các chiều (Dimensions)
Layer(Lớp)
Là một thể hiện trực quan của dữ liệu địa lý trong bấy kỳ môi trường bản đồ số nào Nó là một phần hoặc là địa tầng của địa lý trong khu vực riêng Nó được biểu diễn dưới dạng các biểu tượng trên bản đồ giấy Trên bản đồ, đường, công viên quốc
gia, đường biên giới và sông là các ví dụ điển hình khác nhau về Layer
Feature(Đặc tính)
1 Một thể hiện biểu diễn đối tượng thế giới thực trên một bản đồ Feature có thể được thể hiện trong GIS như dữ liệu vector (điểm, đường, hoặc đa giác) hoặc như các phần tử trong định dạng dữ liệu raster Để được hiểu thị trong GIS, Feature đòi hỏi phải có thông tin về hình học (Geometry) và vị trí (Location)
2 Là nhóm các yếu tố không gian cùng thể hiện các thực thể thế giới thực Một Feature phức tạp được tạo thành từ một hay nhiều nhóm các đối tượng không gian Ví dụ: một tập các đối tượng đường thẳng với các yếu tố chung về đường sẽ biểu diễn mạng lưới một đường
Field (Trường)
1 Là một cột trong bảng, lưu trữ các giá trị cho thuộc tính đơn
2 Là nới trong một bản ghi cơ sở dữ liệu hoặc giao diện đồ họa người dùng, nơi mà dữ liệu có thể được nhập vào
Trang 22 Table (Bảng)
Dữ liệu được sắp xếp dưới dạng hàng hay cột Mỗi hàng biểu diễn một thực thể đơn, một bản ghi (Record), một thuộc tính (Feature) Mỗi cột biểu diễn một trường hoặc giá trị thuộc tính đơn Bảng phải chỉ ra rõ số cột nhưng có thể có nhiều hàng
Query (Truy vấn)
Là tính năng lựa chọn bản ghi từ cơ sở dữ liệu Query thường được viết bởi những câu điều kiện logic
Identify (Thông tin)
Khi áp dụng tính năng này lên một feature (bởi sự kiện Click vào nó) một cửa
sổ sẽ hiện ra với các thuộc tính của feature
Label (Nhãn)
Trong bản đồ, là dòng văn bản đặt bên trong hoặc ở gần một đối tượng bản đồ
(map feature) nhằm mô tả hoặc xác định nó
Symbol (Ký hiệu)
Một thể hiện bằng đồ họa của các đối tượng trên bản đồ giúp xác định và phân biệt nó với những đối tượng khác trên bản đồ Ví dụ: biểu tượng đường thẳng, điểm, hình biểu tượng, đa giác, dòng văn bản, dòng chú thích Một vài đặc tả để định nghĩa biểu tượng gồm: màu sắc, kích cỡ, góc, khuôn hình
Geometry (Hình học)
Các kí tự xuất hiện hoặc nhìn thấy của đối tượng địa lý được biểu diễn trên bản
đồ GIS sử dụng sự thay đổi của ba hình cơ bản để biểu diễn đối tượng vật lý: điểm, đường thẳng và đa giác
Spatial data (Dữ liệu không gian)
Thông tin về vị trí và hình dáng của các đối tượng địa lý và mối quan hệ giữa chúng, luôn được lưu trữ như tọa độ và đặc tính hình học (topology) của chùng
Attribute data (Dữ liệu thuộc tính)
1 Thông tin về các đối tượng địa lý trong GIS luôn luôn được lưu trữ trong một bảng và được liên kết với đối tượng bằng một đặc tính duy nhất Ví dụ: thuộc tính của dòng sông có thể bao gồm tên, chiều dài và độ sâu trung bình
2 Trong các tập dữ liệu raster, thông tin được kết hợp với mỗi giá trị duy nhất của các phần tử raster
Trang 233 Thông tin bản đồ chỉ ra rằngđối tượng được hiển thị như thế nào trên bản
đồ, và nhãn của nó như thế nào Thuộc tính bản đồ của dòng sông có thể bao gồm độ dày của đường thẳng, chiều dài của đường thẳng, màu và font
Database
Shapefile : Dữ liệu vector lưu trữ các định dạng về vị trí, hình thể, thuộc tính của đối tượng địa lý Một shapefile được lưu trữ trong một tập các file có quan hệ với
nhau và chứa một feature class
1.5.2 Các dạng dữ liệu của GIS
Một cơ sở dữ liệu của hệ thống thông tin địa lý có thể chia ra làm 2 loại số liệu
cơ bản: số liệu không gian và phi không gian Mỗi loại có những đặc điểm riêng và chúng khác nhau về yêu cầu lưu giữ số liệu, hiệu quả, xử lý và hiển thị Số liệu không gian là những mô tả số của hình ảnh bản đồ, chúng bao gồm toạ độ, quy luật và các ký hiệu dùng để xác định một hình ảnh bản đồ cụ thể trên từng bản đồ Hệ thống thông tin địa lý dùng các số liệu không gian để tạo ra một bản đồ hay hình ảnh bản đồ trên màn hình hoặc trên giấy thông qua thiết bị ngoại vi … Số liệu phi không gian là những diễn
tả đặc tính, số lượng, mối quan hệ của các hình ảnh bản đồ với vị trí địa lý của chúng Các số liệu phi không gian được gọi là dữ liệu thuộc tính, chúng liên quan đến vị trí địa lý hoặc các đối tượng không gian và liên kết chặt chẽ với chúng trong hệ thống thông tin địa lý thông qua một cơ chế thống nhất chung
1.5.3 Mô hình thông tin không gian
Dữ liệu là trung tâm của hệ thống GIS, hệ thống GIS chứa càng nhiều thì chúng càng có ý nghĩa Dữ liệu của hệ GIS được lưu trữ trong cơ sở dữ liệu và chúng được thu thập thông qua các mô hình thế giới thực Dữ liệu trong hệ GIS còn được gọi là thông tin không gian Đặc trưng thông tin không gian là có khả năng mô tả “vật thể ở đâu” nhờ vị trí tham chiếu, đơn vị đo và quan hệ không gian Chúng còn khả năng mô
tả “hình dạng hiện tượng” thông qua mô tả chất lượng, số lượng của hình dạng và cấu trúc Cuối cùng, đặc trưng thông tin không gian mô tả “quan hệ và tương tác” giữa các hiện tượng tự nhiên Mô hình không gian đặc biệt quan trọng vì cách thức thông tin sẽ ảnh hưởng đến khả năng thực hiện phân tích dữ liệu và khả năng hiển thị đồ hoạ của
hệ thống
Trang 24a Hệ thống Vector
Kiểu đối tượng điểm: Điểm được xác định bởi cặp giá trị x, y Các đối
tượngđơn, thông tin về địa lý chỉ gồm cơ sở vị trí sẽ được phản ánh là đối tượng điểm Các đối tượng kiểu điểm có đặc điểm:
• Là toạ độ đơn (x,y)
• Không cần thể hiện chiều dài và diện tích
Hình 4: Số liệu vector được biểu thị dưới dạng điểm (Point)
Tỷ lệ trên bản đồ tỷ lệ lớn, đối tượng thể hiện dưới dạng vùng Tuy nhiên trên bản đồ tỷ lệ nhỏ, đối tượng này có thể thể hiện dưới dạng một điểm Vì vậy, các đối tượng điểm và vùng có thể được dùng phản ánh lẫn nhau
Kiểu đối tượng đường: Đường được xác định như một tập hợp dãy của các
điểm Mô tả các đối tượng địa lý dạng tuyến, có các đặc điểm sau:
• Là một dãy các cặp toạ độ
• Một đường bắt đầu và kết thúc bởi node
• Các đường nối với nhau và cắt nhau tại node
• Hình dạng của đường được định nghĩa bởi các điểm vertices
• Độ dài chính xác bằng các cặp toạ độ
Trang 25Hình 5: Số liệu vector được biểu thị dưới dạng đường
Kiểu đối tượng vùng: Vùng được xác định bởi ranh giới các đường thẳng Các
đối tượng địa lý có diện tích và đóng kín bởi một đường được gọi là đối tượng vùng(polygons), có các đặc điểm sau:
• Polygons được mô tả bằng tập các đường và điểm nhãn
• Một hoặc nhiều đường định nghĩa đường bao của vùng
• Một điểm nhãn nằm trong vùng để mô tả, xác định cho mỗi một vùng
Hình 6: Số liệu vector được biểu thị dưới dạng vùng (Polygon)
Trang 26Những dạng hình cơ bản
Hình 7: Một số khái niệm trong cấu trúc cơ sở dữ liệu bản đồ
Trang 27b Hệ thống Raster
Mô hình dữ liệu dạng raster phản ánh toàn bộ vùng nghiên cứu dưới dạng một lưới các ô vuông hay điểm ảnh (pixcel) Mô hình raster có các đặc điểm:
• Các điểm được xếp liên tiếp từ trái qua phải và từ trên xuống dưới
• Mỗi một điểm ảnh (pixcel) chứa một giá trị
• Một tập các ma trận điểm và các giá trị tương ứng tạo thành một lớp (layer)
• Trong cơ sở dữ liệu có thể có nhiều lớp
Mô hình dữ liệu raster là mô hình dữ liệu GIS được dùng tương đối phổ biến trong các bài toán về môi trường, quản lý tài nguyên thiên nhiên
Mô hình dữ liệu raster chủ yếu dùng để phản ánh các đối tượng dạng vùng là ứng dụng cho các bài toán tiến hành trên các loại đối tượng dạng vùng: phân loại; chồng xếp Các nguồn dữ liệu xây dựng nên dữ liệu raster có thể bao gồm:
• Quét ảnh
• Ảnh máy bay, ảnh viễn thám
• Chuyển từ dữ liệu vector sang
• Lưu trữ dữ liệu dạng raster
• Nén theo hàng (Run lengh coding)
• Nén theo chia nhỏ thành từng phần (Quadtree)
• Nén theo ngữ cảnh (Fractal)
Trong một hệ thống dữ liệu cơ bản raster được lưu trữ trong các ô (thường hình vuông) được sắp xếp trong một mảng hoặc các dãy hàng và cột Nếu có thể, các hàng
và cột nên được căn cứ vào hệ thống lưới bản đồ thích hợp
Việc sử dụng cấu trúc dữ liệu raster tất nhiên đưa đến một số chi tiết bị mất Với lý
do này, hệ thống raster-based không được sử dụng trong các trường hợp nơi có các chi tiết có chất lượng cao được đòi hỏi.
Trang 28Hình 8: Sự biểu thị kết quả bản đồ dưới dạng Raster
c Chuyển đổi cơ sở dữ liệu dạng vector và raster
Việc chọn của cấu trúc dữ liệu dưới dạng vector hoặc raster tuỳ thuộc vào yêu cầu của người sử dụng, đối với hệ thống vector, thì dữ liệu được lưu trữ sẽ chiếm diện tích nhỏ hơn rất nhiều so với hệ thống raster, đồng thời các đường contour sẽ chính xác hơn hệ thống raster Ngoài ra cũng tuỳ vào phần mềm máy tính đang sử dụng mà
nó cho phép nên lưu trữ dữ liệu dưới dạng vector hay raster Tuy nhiên đối với việc sử dụng ảnh vệ tinh trong GIS thì nhất thiết phải sử dụng dưới dạng raster
Một số công cụ phân tích của GIS phụ thuộc chặt chẽ vào mô hình dữ liệu raster, do vậy nó đòi hỏi quá trình biến đổi mô hình dữ liệu vector sang dữ liệu raster, hay còn gọi là raster hoá Biến đổi từ raster sang mô hình vector, hay còn gọi là vector hoá, đặc biệt cần thiết khi tự động quét ảnh Raster hoá là tiến trình chia đường hay vùng thành các ô vuông (pixcel) Ngược lại, vector hoá là tập hợp các pixcel để tạo thành đường hay vùng Nét dữ liệu raster không có cấu trúc tốt, ví dụ ảnh vệ tinh thì việc nhận dạng đối tượng sẽ rất phức tạp
Nhiệm vụ biến đổi vector sang raster là tìm tập hợp các pixel trong không gian raster trùng khớp với vị trí của điểm, đường, đường cong hay đa giác trong biểu diễn vector Tổng quát, tiến trình biến đổi là tiến trình xấp xỉ vì với vùng không gian cho trước thì mô hình raster sẽ chỉ có khả năng địa chỉ hoá các vị trí toạ độ nguyên Trong
mô hình vector, độ chính xác của điểm cuối vector được giới hạn bởi mật độ hệ thống toạ độ bản đồ còn vị trí khác của đoạn thẳng được xác định bởi hàm toán học
Trang 29Hình 9: Sự chuyển đổi dữ liệu giữa raster và vector (Tor Bernhardsen, 1992)
1.5.4 Mô hình thông tin phi không gian
Số liệu phi không gian hay còn gọi là thuộc tính là những mô tả về đặc tính, đặc điểm và các hiện tượng xảy ra tại các vị trí địa lý xác định Một trong các chức năng đặc biệt của công nghệ GIS là khả năng của nó trong việc liên kết và xử lý đồng thời giữa dữ liệu bản đồ và dữ liệu thuộc tính Thông thường hệ thống thông tin địa lý có 4 loại số liệu thuộc tính:
- Đặc tính của đối tượng: liên kết chặt chẽ với các thông tin không gian có thể thực hiện SQL (Structure Query Language) và phân tích
- Số liệu hiện tượng, tham khảo địa lý: miêu tả những thông tin, các hoạt động thuộc vị trí xác định
- Chỉ số địa lý: tên, địa chỉ, khối, phương hướng định vị, …liên quan đến các đối tượng địa lý
- Quan hệ giữa các đối tượng trong không gian, có thể đơn giản hoặc phức tạp (sự liên kết, khoảng tương thích, mối quan hệ đồ hình giữa các đối tượng)
Để mô tả một cách đầy đủ các đối tượng địa lý, trong bản đồ số chỉ dùng thêm các loại đối tượng khác: điểm điều khiển, toạ độ giới hạn và các thông tin mang tính chất mô tả
Trang 30Các thông tin mô tả có các đặc điểm:
• Có thể nằm tại một vị trí xác định trên bản đồ
• Có thể có các kích thước, màu sắc, các kiểu chữ khác nhau
• Nhiều mức của thông tin mô tả có thể được tạo ra với ứng dụng khác nhau
• Có thể tạo thông tin cơ sở dữ liệu lưu trữ thuộc tính
• Có thể tạo độc lập với các đối tượng địa lý có trong bản đồ
• Không có liên kết với các đối tượng điểm, đường, vùng và dữ liệu thuộc tính của chúng
Bản chất một số thông tin dữ liệu thuộc tính như sau:
• Số liệu tham khảo địa lý: mô tả các sự kiện hoặc hiện tượng xảy ra tại một
vị trí xác định Không giống các thông tin thuộc tính khác, chúng không mô tả về bản thân các hình ảnh bản đồ Thay vào đó chúng mô tả các danh mục hoặc các hoạt động như cho phép xây dựng, báo cáo tai nạn, nghiên cứu y tế, … liên quan đến các
vị trí địa lý xác định Các thông tin tham khảo địa lý đặc trưng được lưu trữ và quản
lý trong các file độc lập và hệ thống không thể trực tiếp tổng hợp chúng với các hình ảnh bản đồ trong cơ sở dữ liệu của hệ thống Tuy nhiên các bản ghi này chứa các yếu
tố xác định vị trí của sự kiện hay hiện tượng
• Chỉ số địa lý: được lưu trong hệ thống thông tin địa lý để chọn, liên kết và tra cứu số liệu trên cơ sở vị trí địa lý mà chúng đã được mô tả bằng các chỉ số địa lý xác định Một chỉ số có thể bao gồm nhiều bộ xác định cho các thực thể địa lý sử dụng từ các cơ quan khác nhau như là lập danh sách các mã địa lý mà chúng xác định mối quan hệ không gian giữa các vị trí hoặc giữa các hình ảnh hay thực thể địa
lý Ví dụ: chỉ số địa lý về đường phố và địa chỉ địa lý liên quan đến phố đó
• Mối quan hệ không gian: của các thực thể tại vị trí địa lý cụ thể rất quan trọng cho các chức năng xử lý của hệ thống thông tin địa lý Các mối quan hệ không gian có thể là mối quan hệ đơn giản hay lôgic, ví dụ tiếp theo số nhà 101 phải là số nhà 103 nếu là số nhà bên lẻ hoặc nếu là bên chẵn thì cả hai đều phải là các số chẵn
kề nhau Quan hệ Topology cũng là một quan hệ không gian Các quan hệ không gian có thể được mã hoá như các thông tin thuộc tính hoặc ứng dụng thông qua giá trị toạ độ của các thực thể
Trang 31• Mối quan hệ giữa dữ liệu không gian và phi không gian: thể hiện phương pháp chung để liên kết hai loại dữ liệu đó thông qua bộ xác định, lưu trữ đồng thời trong các thành phần không gian và phi không gian Các bộ xác định có thể đơn giản
là một số duy nhất liên tục, ngẫu nhiên hoặc các chỉ báo địa lý hay số liệu xác định vị trí lưu trữ chung Bộ xác định cho một thực thể có thể chứa toạ độ phân bố của nó, số hiệu mảnh bản đồ, mô tả khu vực hoặc con trỏ đến vị trí lưu trữ của số liệu liên quan
Bộ xác định được lưu trữ cùng với các bản ghi toạ độ hoặc mô tả số khác của các hình ảnh không gian và cùng với các bản ghi số liệu thuộc tính liên quan
Trang 32CHƯƠNG 2: CÁC GIẢI PHÁP BẢN ĐỒ TRỰC TUYẾN 2.1 Một số giải pháp bản đồ trực tuyến
2.1.1 MapBender
Mapbender là kết quả của dự án thành lập tổ chức mã nguồn mở về không gian địa lý Mapbender là một phần mềm để quản lý dữ liệu địa lý, phần mền cung cấp công nghệ web để quản lý dữ liệu địa lý được thực thi với ngôn ngữ PHP, JavaScript
và cơ sở dữ liệu XML, nó cung cấp mẫu dữ liệu và giao diện để hiển thị, xa hơn nữa Mapbender cung cấp dịch vụ xác định thẩm quyền và quyền hạn, quản lý giao diện người, nhóm người sử dụng, và quản trị dịch vụ trong một dữ án về bản đồ trực tuyến
Đặc trưng
• Phần mềm vào dịch vụ quản trị cho bản đồ của OGC kiến trúc web
• Thực thi những công nghệ web mới nhất sử dụng, PHP, JavaScritp và XML
• Cung cấp một dữ liệu mẫu và dạng hiển thị, tìm vị trí và truy vấn
• Thẩm quyền vào quyền hạn dịch vụ
• Chức năng bảo mật proxy
• Quản lý giao diện người dùng, nhóm người hay dịch vụ quản trị
2.1.2 MapGuide Open Source
Cũng như Mapbender, phần mềm mã nguồn mở MapGuide là một nền tảng dựa trên cơ sở web, chúng được sử dụng để phát triển và triển khai những ứng dụng trên trang web về bản đồ và những dịch vụ web về địa lý một cách nhanh chóng
MapGuide bao gồm một cơ sở dữ liệu XML để quản lý nội dung và nó hỗ trợ phần lớn các dịnh dạng file địa lý, cơ sở dữ liệu về địa lý thông dụng
MapGuide có thể được triển khai trên hệ điều hành Window hoặc Linux, hỗ trợ Web server Apache và IIS, có thể được nhúng vào các ngôn ngữ PHP,.NET, Java, và JavaScript API để phát triển các ứng dụng
Đặc trưng
• Triển khai trên hệ điều hành Window và Linux, dùng máy chủ Apache và ISS, sử dụng trên các trình duyệt web khác nhau
• Hiển thị bản đồ chất lượng
Trang 33• Xây dựng cơ sở dữ liệu được lưu trữ trên XML
• Mềm dẻo để phát triển các ứng dụng với PHP,.NET, Java
• Mở rộng và bảo mật cho phía server
2.1.3 OpenLayers
OpenLayers là một thư viện JavaScript thuần túy cho việc thể hiện dữ liệu bản
đồ trong phần lớn các trình duyệt web hiện đại, không phụ thuộc vào phía server, OpenLayers thực thi một JavaScript API để xây dựng một ứng dụng địa lý trên nền web một cách hiệu quả, tương tự với Google Maps OpenLayers được phát triển bởi cộng đồng phần mềm mã nguồn mở, được viết bởi MetaCarta và sau đó được phát triển như một thư viện mã nguồn mở
Và xa hơn nữa, OpenLayers thực thi các chuẩn công nghiệp về những phương thức để truy xuất dữ liệu địa lý OpenLayers được viết trên ngôn ngữ JavaScript hướng đối tượng, sử dụng những thành phần từ file Prototype.js, những mã OpenLayers đã trải qua hàng trăm lần test đơn vị
Như một FrameWork được dự đoán sẽ chia những công cụ bản đồ từ dữ liệu bản đồ, vì tất cả những công cụ có thể điều kiển trên tất cả các nguồn dữ liệu
Đặc trưng
• Hỗ trợ cho hàng loạt các nguồn dữ liệu
• Hỗ trợ cho việc hiện thị những đặc tính địa lý, đánh dấu và hiện bản đồ
• Dễ dàng xây dựng và cấu hình, được thiết kế để giúp đỡ xây dựng OpenLayers nhúng vào các ứng dụng khác
2.2 Phần mềm mã nguồn mở MapServer
2.2.1 Giới thiệu về Mapserver
Hiện nay ở Việt Nam, MapServer được sử dụng khá phổ biến, MapServer có tính năng hỗ trợ nhiều ngôn ngữ lập trình như.Net, PHP, và có thể thao tác với nhiều loại cơ sở dữ liệu khác nhau, Nhiều công ty phần mềm ở Việt Nam đã lựa chọn MapServer làm công cụ phát triển So với các giải pháp khác, giải pháp sử dụng phần mềm mã nguồn mở MapServer được sử dụng rỗng rãi hơn, và đặc biệt, có rất nhiều tài liệu nghiên cứu về giải pháp này, chính vì thế trong luận văn này tôi đi sâu vào nghiên
Trang 34MapServer là phần mềm mã nguồn mở cho phép tạo các bản đồ động và trình bày dữ liệu không gian trên Web Đây là sản phẩm của trường đại học Minnesota (University of Minnesota - UMN) trong dự án kết hợp giữa NASA và bộ tài nguyên Minnesota.[12]
MapServer có thể hoạt động ở hai chế độ CGI và API Ở chế độ CGI, các chức năng của MapServer trong môi trường WebServer là CGI MapScript Đây là cách thức
dễ dàng để khởi tạo và phát triển một ứng dụng Ở chế độ API, có thể truy cập MapServer bằng PHP, Perl hoặc Python, chế độ này cho phép xây dựng các ứng dụng uyển chuyển, giàu các chức năng và có khả năng truy cập các cơ sở dữ liệu mở rộng khác
MapServer hoạt động dựa vào các mẫu là chính Trước khi thực thi yêu cầu của web, MapServer đọc tệp tin cấu hình (mapfile) mô tả các lớp và các thành phần khác của bản đồ Nó sẽ vẽ và lưu lại bản đồ Tiếp theo, nó sẽ đọc một hoặc nhiều tệp tin mẫu HTML mà nó nhận diện trong tệp tin cấu hình Mỗi tệp tin mẫu sẽ chứa đựng các thẻ (tags) HTML và các chuỗi MapServer đặc biệt Các chuỗi này sẽ được sử dụng, ví
dụ chuỗi chỉ đường dẫn để lưu ảnh bản đồ do Mapserver tạo ra, hoặc chuỗi dùng để nhận diện các lớp nào sẽ được sắp xếp…MapServer thay thế các giá trị hiện tại vào các các chuỗi này và gửi luồng dữ liệu về cho WebServer để WebServer tiếp tục chuyển về cho trình duyệt Khi có một yêu cầu mới phát sinh, MapServer sẽ nhận yêu cầu từ WebServer với các giá trị mới và chu trình cứ thế tiếp diễn
Trang 35Sơ đồ hoạt động của Mapserver
Hình 10: Sơ đồ hoạt động của Mapserver
2.2.2 Thành phần và mô hình xử lý của Mapserver
a Các thành phần của Mapserver
Ứng dụng Mapserver sử dụng chuẩn giao tiếp CGI để giao tiếp với các thành phần và với HTTP Server, nên đôi khi ta gọi ứng dùng Mapserver là ứng dụng Mapserver CGI Do có mã nguồn mở nên cũng có những ứng dụng được biên dịch thể
có thể dùng mapscript truy xuất trực tiếp các hàm API của MapServer
Ứng dụng Mapserver CGI sử dụng các tài nguyên như sau:
- Một HTTP Server như Apache hoặc IIS-Internet Information Server(Có vài trò Web server)
- Phần mềm Mapserver(Vai trò WebGIS Application)
- File khởi tạo(initialization file) dùng để cấu hình và tùy biến các thông số của ứng dùng Mapserver
- Một file text được gọi là mapfile, điều khiển các tương tác với dữ liệu Như lấy dữ liệu gì, ở đâu, sắp xếp theo thứ tự như thế nào?
- Một template file được dùng để định dạng kết quả được trình bày trên cửa sổ
Trang 36- Tập dữ liệu GIS
i Initialization file(file khởi tạo)
Mapserver “không có trạng thái ” nghĩa là mỗi khi http server nhận yêu cầu từ client thông qua URL thì http server sẽ gọi Mapserver và thực thi Bằng cách sử dụng file khởi tạo ta định nghĩa các tham số cơ bản cần thiết để mapserver có thể được thực thi
Thông qua chuỗi URL nhận được, sử dụng file khởi tạo này Mapserver biết được các tham số cơ bản này Các tham số này còn được Mapserver gửi trả kèm trong kết quả cho phía client
ii Mapfile
Mapfile định nghĩa dữ liệu sẽ được dùng như thế nào trong ứng dụng, cách hiển thị và các tham số cho truy vấn Mapfile có thể xem như là một file cấu hình cho ứng dụng Mapfile có thể bao gồm cả thông tin về vẽ bản đồ như thế nào, ghi chú trên bản
đồ ra sao và vẽ kết quả của câu truy vấn Mapfile có phần mở rộng là.map
iii Template file
Template file điều kiển các hình bản đồ và các ghi chú trả về bởi Mapserver sẽ xuất hiện trên trang html Cách làm của Mapserver như sau Trước hết Mapserver đọc
từ file template này và nếu gặp các từ khóa hoặc các từ mẫu thì nó sẽ nó sẽ thay thế các giá trị tương ứng lấy từ chuỗi kết quả trả về, cuối cùng file html này được gửi về cho trình duyệt Bởi vì template file sẽ được dùng để tạo ra một trang html nên thông thường template file sẽ được lưu dưới dạng một trang html với phần mở rộng là.html
iv GIS Dataset
Về dữ liệu Vector Mapserver sử dụng shapefile làm định dạng dữ liệu mặc định Bên cạnh đó hầu hết các định dạng dữ liệu GIS phổ biến trên thê giới hiện nay Mapserver đều có thể hiểu và tương tác được Như PostGIS, ArcGIS, MapInfo…và nhiều định dạng khác
Trang 37Công cụ=Xác đinh
Lấy chỉ số đối tượng hình
Chọn công cụ
Tính phạm vi bản dồ mới
>1
Chọn 1 bản ghi
Hiển thị bản ghi
Trang 382.2.3 Tìm hiểu Mapfile
Mapfile được xem như file cấu hình cho ứng dụng dùng MapServer Trong phần này ta sẽ tìm hiểu về những đối tượng trong Mapfile, thiết lập các giá trị cho chúng
Trong Mapfile có nhiều đối tượng như MAP, PROJECTION, LAYER, CLASS…mỗi đối tượng định nghĩa cách thức tạo nên ảnh bản đồ hoặc đối tượng để MapServer truy xuất dữ liệu cho các câu truy vấn
Hình 12: Mô hình đối tượng trong Mapfile
Trong hình vẽ minh họa trên, ảnh bản đồ (đối tượng MAP) là sự chồng xếp do bốn layer tạo thành, trong đó có một layer sử dụng Raster (ảnh đồ họa) còn lại ba layer được vẽ từ dữ liệu vectơ: polygon, line, Diễn giải…
Hình 13: Chồng xếp các Layer
Mỗi layer được vẽ, cần được chỉ ra nguồn dữ liệu (vectơ hay raster), hệ quy chiếu cho mỗi layer loại đối tượng được vẽ (line, label, polygon…) Tất cả được định nghĩa trong từng đối tượng của mapfile
Trang 39a Map Object(Đối tượng bản đồ)
Trong file MapFile thì MAP chính là đối tượng gốc,chứa trong nó các đối tượng khác
• CONFIG [key] [value]
Tham số này được dùng để định nghĩa vị trí đặt file EPSG dùng cho thư viện PROJ.4 [X]) Giá trị [key] là PROJ_LIB và [value] là đường dẫn đến EPSG file Tham
số ONFIG được thiết lập để tránh việc phải thiết lập biến môi trường PROJ_LIB đòi hỏi quyền Admin
Ví dụ:
CONFIG PROJ_LIB /tmp/proj/
• DEBUG [on|off]
Cho phép thực hiện debug trên các đối tượng map Ngoài kết quả, MapServer
sẽ ghi các kết quả debug vào logfile nếu như logfile được chỉ ra trong tham số LOG của đối tượng
WEB
• EXTENT [minx] [miny] [maxx] [maxy]
Không gian phạm vi của ảnh bản đồ được tạo ra Nếu giá trị EXTENT không được gán thì MapServer cũng có thể nội suy ra một giá trị từ dữ liệu và vị trí trung tâm của ảnh bản đồ
• FONTSET [filename]
Tập tin liệt kê danh sách các font được dùng Định dạng rất đơn giản Mỗi dòng chứa hai thành phần: một bí danh và một là đường dẫn đến font được phân cách bằng khoảng trắng Alias đơn giản là tên mà ta dùng để chỉ font này trong mapfile Các font
sử dụng được với MapServer là các True Font Type
Ví dụ:
Hình 14: Danh sách font sử dụng
Trang 40• IMAGECOLOR [r] [g] [b]
Màu được dùng làm background cho ảnh bản đồ Khi mà thuộc tính Transparency (trong suốt ) được chọn thì màu này sẽ được đánh dấu như là màu trong suốt trong bảng màu Khi đó thành phần nào của ảnh bản đồ sử dụng màu này để vẽ cũng trong suốt Vì thế trong khi tạo ảnh bản đồ nếu chọn ảnh bản đồ trong suốt thì nên chọn màu Imagecolor là màu không được dùng để vẽ các thành phần khác trên bản