2.2. Thiết kế hệ thống
2.2.1. Lựa chọn công nghệ
Trên cơ sở nghiên cứu khả năng ứng dụng của công nghệ WebGIS đề tài đã
thực hiện phân tích cụ thể các bước xây dựng hệ thống WebGIS để lựa chọn các
công nghệ cho phù hợp. Có hai sự lựa chọn đặt ra cho việc phát triển hệ thống WebGIS hiện nay. Một là phát triển trên nền tảng các phần mềm thương mại. Lựa chọn này cho phép phát triển hệ thống nhanh, đặc biệt là đối với các hệ thống có quy mơ lớn, phức tạp. Được hỗ trợ từ các nhà cung cấp, liên tục được cập nhật nâng cấp. Tuy nhiên chi phí đầu tư cao và lệ thuộc vào các công nghệ đặc thù của nhà sản xuất. Hai là phát triển trên nền tảng các phần mềm mã nguồn mở. Lựa chọn này có
chi phí đầu tư thấp có thể tận dụng trí tuệ của cộng đồng công nghệ thông tin. Tuy
nhiên việc phát triển phức tạp hơn nhiều vì giải pháp mã nguồn mở khơng có nhiều cơng cụ hỗ trợ phát triển hệ thống. Với mục tiêu nghiên cứu thử nghiệm, đề tài đã
act Lược đồ hoạt động cập nhật tiến độ quy hoạch
Hệ thống
Thành v iên
Đăng nhập hệ thống Xác nhận thành v iên
Trở v ề hệ thống Tìm kiếm đối tượng quy
hoạch
Hiển thị đối tượng quy hoạch Chọn đối tượng cập nhật
thông tin
Gửi thông tin Kiểm tra thông tin
Từ chối, yêu cầu kiểm tra lại
Chấp nhận, lưu v ào hệ thống
Kiểm duyệt thông tin cập nhật
Hiển thị thơng tin trên hệ thống thơng qua trình duyệt
w eb
Kiểm tra, cập nhật lại
Kiểm tra thông tin đã cập nhật
Đăng xuất hệ thống Cập nhật thông tin cho đối
hướng đến lựa chọn công nghệ mã nguồn mở để thực hiện xây dựng hệ thống
WebGIS.
Để xây dựng hệ thống WebGIS cần phải sử dụng một hệ thống các phần
mềm ứng dụng đặc thù để xử lý những công việc cụ thể trên hệ thống. Đó là sử
dụng cho việc xây dựng cơ sở dữ liệu và thiết lập hệ quản trị cơ sở dữ liệu cho hệ thống, xây dựng MapServer để tạo liên kết truy vấn thông tin bản đồ từ cơ sở dữ
liệu, để từ đó thơng qua WebServer đưa thông tin đến người sử dụng trên mạng
Internet.
a, Lựa chọn ứng dụng MapServer cho hệ thống:
Xây dựng MapServer để tạo liên kết truy vấn thông tin bản đồ từ cơ sở dữ liệu, đưa dữ liệu bản đồ lên hệ thống là vấn đề cốt lõi trong việc xây dựng hệ thống WebGIS. Từ đó sẽ mở ra những yêu cầu đối với việc xây dựng cơ sở dữ liệu và triển khai hệ thống. Hiện nay có rất nhiều lựa chọn ứng dụng phần mềm để thực
hiện cơng việc này. Có thể lựa chọn phát triển ứng dụng dựa trên nền tảng các phần mềm thương mại như ArcGIS Server, ArcIMS, MapXtreme… hoặc các phần mềm mã nguồn mở như Geoserver, MapServer.
Với mong muốn xây dựng một hệ thống WebGIS tiết kiệm chi phí, khơng hạn chế quyền sử dụng và tận dụng được ý tưởng cộng đồng vẫn đảm bảo hiệu quả trong sử dụng, đề tài đã lựa chọn phần mềm MapServer làm nền tảng để thiết kế và phát triển hệ thống.
Phần mềm MapServer là một trong những phần mềm mã nguồn mở được ứng dụng rộng rãi do hiệu quả mà nó mang lại, đáp ứng được tối đa nhu cầu của người sử dụng, do đó đề tài đã lựa chọn MapServer làm nền tảng để xây dựng hệ thống
WebGIS.
MapServer là môi trường phát triển cho việc xây dựng ứng dụng GIS thơng
qua Internet. Trong mơ hình kiến trúc WebGIS, MapServer là ứng dụng GIS được đặt trên WebServer. MapServer 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à Cục Tài nguyên Minnesota [14].
MapServer có thể chạy trên nhiều mơi trường, nó được viết bằng C++ có thể chạy trên các hệ điều hành Unix/Linux, Windows. Để giao tiếp với các thành phần
trên môi trường Web, MapServer sử dụng chuẩn giao tiếp CGI (Common Gateway
Interface). Phiên bản MapServer hiện tại là MapServer 6.0.
MapServer có các đặc điểm sau [14]:
- Hỗ trợ các dịch vụ WebGIS theo chuẩn OGC, bao gồm: WMS Server, WMS Client, WFS Server, WFS Client và WCS Server.
- Trình bày bản đồ với nhiều ưu điểm: Vẽ đối tượng theo tỷ lệ;
Hiển thị nhãn theo đối tượng;
Tùy biến giao diện, mẫu trước khi xuất; Sử dụng true type font;…
- Tạo bản đồ chuyên đề dựa trên biểu thức truy vấn trên các lớp cơ sở.
- Hệ thống MapServer bao gồm cả MapScript, hỗ trợ các ngôn ngữ kịch bản phổ biến và môi trường phát triển như C#, PHP, Perl, Python, Java, và Ruby. MapScript cung cấp môi trường thuận lợi cho việc phát triển các ứng dụng tích hợp các dữ liệu phân tán. Ta có thể lấy dữ liệu khơng gian qua các ngơn ngữ kịch bản và dựa vào MapScript để tạo ra ảnh bản đồ.
- Hỗ trợ các hệ điều hành: Linux, Windows,…
- Hỗ trợ định dạng dữ liệu raster và vector phổ biến hiện nay. - Hỗ trợ hơn 1000 lưới chiếu trong thư viện Proj.4.
MapServer đóng vai trị như là một cơng cụ cốt lõi, được cung cấp nội dung
dữ liệu để tạo ảnh bản đồ khi cần đến.
Ứng dụng MapServer sử dụng chuẩn giao tiếp CGI (Common Gateway
Interface - một ứng dụng cổng giao tiếp phổ biến) để giao tiếp với các thành phần và với HTTP Server. Do có mã nguồn mở nên cũng có những ứng dụng được biên dịch để 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 sau:
- Một Web server (Apache hoặc IIS);
- Phần mềm MapServer (WebGIS application);
- File khởi tạo dùng để cấu hình và tùy biến các thông số của ứng dụng
MapServer (không bắt buộc);
- Map file là file cấu hình cho ứng dụng (bản đồ) của MapServer; - Template file là giao diện giữa người dùng và MapServer;
- Dữ liệu GIS.
Một ứng dụng hiệu quả trong xây dựng và phát triển hệ thống WebGIS rất
được phổ biến là ứng dụng pMapper. Đây là ứng dụng được phát triển bởi Armin
Burger , pMapper cũng là ứng dụng miễn phí, có thể thay đổi mã nguồn, cách hoạt
động của nó dựa trên MapServer và PHP/MapScrip. Sử dụng pMapper rất tiện lợi vì
nó cung cấp sẵn các cơng cụ cho việc thiết kế WebGIS.
Một số chức năng mà pMapper cung cấp sẵn có cho người dùng là [15]: - Các cơng cụ tương tác bản đồ: phóng to, thu nhỏ, xem thơng tin thửa
đất, đo đạc diện tích đối tượng,…
- Các công cụ truy vấn dữ liệu.
- Các chức năng khác như in ấn, download dữ liệu. - Chức năng quản lý các lớp thơng tin bản đồ.
Hình 2.10: Giao diện trên pMapper
b, Thu thập và chuẩn hóa dữ liệu cho hệ thống:
Dữ liệu của hệ thống được thu thập từ nhiều nguồn tư liệu, chủ yếu là các loại bản đồ dạng số, có định dạng dữ liệu khác nhau như *.dgn (định dạng dữ liệu
của phần mềm Microstation), *.dwg (định dạng dữ liệu của phần mềm AutoCad),…
do đó cần đưa về định dạng thống nhất phù hợp với hệ thống và phải đáp ứng được
việc cập nhật và chỉnh sửa nhanh chóng, chính xác. Để giải quyết vấn đề này, đề tài
đưa dữ liệu về định dạng shapefile. Đây cũng là định dạng dữ liệu phù hợp với yêu
cầu của ứng dụng MapServer trong việc truyền tải dữ liệu trên hệ thống. Từ đó dữ
liệu này sẽ được cập nhật vào cơ sở dữ liệu của hệ thống.
c, Xây dựng cơ sở dữ liệu cho hệ thống:
Cơ sở dữ liệu của hệ thống là nguồn gốc tạo lên một hệ thống WebGIS quy mô về thông tin và khả năng khai thác các thông tin này. Vì vậy việc lựa chọn cơng nghệ cho việc quản trị cơ sở dữ liệu cũng rất quan trọng. Đối với việc quản trị cơ sở dữ liệu cho hệ thống cũng có rất nhiều phần mềm ứng dụng mà thích hợp với MapServer như ArcSDE, My SQL, PostgreSQL, Oracle Spatial.
Để thiết kế hệ thống WebGIS với khả năng phát triển mạnh mẽ và phong phú đồng thời tiết kiệm chi phí nên đề tài đã chọn ứng dụng PostgreSQL/PostGIS làm
DataServer (hệ quản trị cơ sở dữ liệu) để quản trị cơ sở dữ liệu cho hệ thống. Đây là ứng dụng được sử dụng rất phổ biến và hiệu quả hơn hẳn so với nhiều ứng dụng quản trị dữ liệu khác do những tính năng của nó đáp ứng được nhu cầu quản lý dữ liệu thuộc tính và khơng gian, phù hợp với việc quản lý các dữ liệu bản đồ.
PostgreSQL là hệ thống quản trị cơ sở dữ liệu quan hệ đối tượng, được phát
triển tại phòng nghiên cứu máy tính Berkeley của trường đại học California. Hệ
quản trị CSDL PostgreSQL là một hệ quản trị CSDL có nhiều tính năng và lợi thế. Đây là phần mềm mã nguồn mở, miễn phí hồn tồn trong sử dụng, có hiệu suất làm việc chênh lệch không đáng kể so với các hệ quản trị khác, hệ quản trị có
độ tin cậy cao và cịn có thể chạy được trên rất nhiều hệ điều hành khác nhau
như Window, Linux, Unix, MacOSX,…Tính năng nổi trội của PostgreSQL là khả năng mở rộng hàm, kiểu dữ liệu, tốn tử,… người sử dụng có thể tự định
nghĩa hàm, kiểu dữ liệu, kiểu tốn tử và có thể thêm những kiểu dữ liệu, toán tử vào hệ quản trị CSDL PostgreSQL [13].
PostgreSQL còn hỗ trợ kiểu dữ liệu hình học (geometry) như Point, Line, Polygon…Và PostGIS chính là cơng cụ được bổ sung cho PostgreSQL để hỗ trợ hiển thị đối tượng địa lý. PostGIS được Refraction Research Inc phát triển, như
một dự án nghiên cứu công nghệ CSDL không gian.
PostGIS là một phần mềm mã nguồn mở, mở rộng không gian cho
PostgreSQL, cho phép việc tạo và thao tác trên CSDL không gian. CSDL không gian trong PostGIS được sử dụng cho hiệu suất sử dụng cao đa người dùng truy
cập đến tệp dữ liệu có tính liền mạch. Nếu quản lý số lượng lớn đọc/ghi dữ liệu
khơng gian, thì việc sử dụng CSDL khơng gian có thể cải thiện được tốc độ truy cập, dễ dàng quản lý và đảm bảo tính toàn vẹn dữ liệu. PostGIS đã được chứng
nhận là “Simple Features for SQL”, tuân thủ theo Open Geospatial Consortium. PostGIS được phát hành lần đầu tiên vào năm 2001, và hiện đang được sử dụng
trên khắp thế giới như một máy chủ hoạt động với hiệu suất cao cho các đối tượng không gian.
d, Lựa chọn ứng dụng WebServer cho hệ thống:
Để đưa các thông tin lên mạng Internet, cần sử dụng những ứng dụng xây
dựng WebServer. Hiện nay có rất nhiều ứng dụng để thực hiện công việc này. Hệ
thống có thể lựa chọn ứng dụng Apache là ứng dụng phổ biến được nhiều người sử dụng.
Cuối cùng việc khai thác thông tin của hệ thống sẽ được người sử dụng trực tiếp khai thác trên mạng Internet thơng qua các trình duyệt webside phổ biến hiện
nay như Firefox, Internet Explorer,… Các trình duyệt này thường được tích hợp sẵn
có trong các hệ điều hành hiện nay hoặc có thể tải trực tiếp trên mạng Internet.