Kiến trúc và các bước xử lý trong website

Một phần của tài liệu XÂY DỰNG (WEBGIS) CÔNG CỤ PHỔ BIẾN THÔNG TIN Ô NHIỄM MÔI TRƯỜNG KHÔNG KHÍ TẠI CÁC KHU CÔNG NGHIỆP ĐẾN CỘNG ĐỒNG (Trang 40)

3.4.4.1. Kiến trúc

Dịch vụ web thông tin địa lý được xây dựng để cung cấp các dịch vụ về thông tin địa lý theo công nghệ web service. Chính vì thế nên bất cứ website nào cũng phải thỏa mãn kiến trúc ba tầng thông dụng của một ứng dụng web. Sau đó tùy thuộc vào từng loại công nghệ và các cách thức phát triển, mở rộng khác nhau mà Website sẽ trở thành n tầng khác nhau. Kiến trúc 3 tầng của Website được mô tả như hình dưới bao gồm tầng trình bày, tầng giao dịch và tầng dữ liệu.

HÌNH 8

Hình 3.6 Kiến trúc chung của một website

Tng trình bày: Thông thường chỉ là các trình duyệt Internet Explorer, Mozilla Firefox, Google Chrome... để mở các trang web theo URL được định sẵn. Các ứng dụng client có thể là một website, Applet, Flash,… được viết bằng các công nghệ theo chuẩn của W3C. Các Client đôi khi cũng là một ứng dụng desktop tương tự như phần mềm MapInfo, ArcMap,…

Tng giao dch: thường được tích hợp trong một webserver nào đó, ví dụ như Apache Tomcat, Internet Information Server. Đó là một ứng dụng phía server nhiệm vụ chính của nó thường là tiếp nhận các yêu cầu từ client, lấy dữ liệu từ cơ sở dữ liệu theo yêu cầu client, trình bày dữ liệu theo cấu hình định sẵn hoặc theo yêu cầu của client và trả kết quả về theo yêu cầu. Tùy theo yêu cầu của client mà kết quả về khác nhau: có thể là một hình ảnh dạng bimap (jpeg, gif, png) hay dạng vector được mã hóa như SVG, KML, GML,…Một khi dạng vector được trả về thì việc trình bày hình ảnh bản đồ được đảm nhiệm bởi Client, thậm trí client có thể xử

- 31 -

lý một số bài tóan về không gian. Thông thường các response và request đều theo chuẩn HTTP POST hoặc GET.

Tng d liu: là nơi lưu trữ các dữ liệu địa lý bao gồm cả các dữ liệu không gian và phi không gian. Các dữ liệu này được quản trị bởi các hệ quản trị cơ sở dữ liệu như ORACLE, MS SQL SERVER, ESRI SDE, POSGRESQL,… hoặc là các file dữ liệu dạng flat như Shapefile, Tab, XML,… Các dữ liệu này được thiết kế, cài đặt và xây dựng theo từng quy trình, từng quy mô bài toán ... mà lựa chọn hệ quản trị cơ sở dữ liệu phù hợp.

Cơ sở dữ liệu không gian sẽ được dùng để quản lý và truy xuất dữ liệu không gian, được đặt trên data server. Nhà kho hay nơi lưu trữ được dùng để lưu trữ và duy trì những siêu dữ liệu về dữ liệu không gian tại những data server khác nhau. Dựa trên những thành phần quản lý dữ liệu, ứng dụng server và mô hình server được dùng cho ứng dụng hệ thống để tính toán thông tin không gian thông qua các hàm cụ thể. Tất cả kết quả tính toán của ứng dụng server sẽ được gửi đến web server để thêm vào các gói HTML, gửi cho phía client và hiển thị nơi trình duyệt web.

3.4.4.2. Các bước x

Các bước xử lý của một mô hình Website được đánh số thứ tự a-h trong hình và được trình bày chi tiết bên dưới:

- 32 -

HÌNH 9

Hình 3.7 Sơ đồ các bước xử lý của Website

a) Client gửi yêu cầu của người sử dụng thông qua giao thức HTTP đến webserver.

b) Web server nhận yêu cầu của người dùng gửi đến từ phía client, xử lý và chuyển tiếp yêu cầu đến ứng dụng trên server có liên quan.

c) Application server (chính là các ứng dụng GIS) nhận các yêu cầu cụ thể đối với ứng dụng và gọi các hàm có liên quan để tính toán xử lý. Nếu có yêu cầu dữ liệu nó sẽ gửi yêu cầu dữ liệu đến data exchange server (server trao đổi dữ liệu)..

d) Data exchange server nhận yêu cầu dữ liệu và tìm kiếm vị trí của những dữ liệu này sau đó gửi yêu cầu dữ liệu đến server chứa dữ liệu (data server ) tương ứng cần tìm.

- 33 -

e) Data server dữ liệu tiến hành truy vấn lấy ra dữ liệu cần thiết và trả dữ liệu này về cho data exchange server.

f) Data exchange server nhận dữ liệu từ nhiều nguồn data server khác nhau nằm rải rác trên mạng. Sắp xếp dữ liệu lại theo logic của yêu cầu dữ liệu,sau đó gửi trả dữ liệu về cho application server.

g) Application server nhận dữ liệu trả về từ các data exchange server và đưa chúng đến các hàm cần sử dụng, xử lý chúng tại đây và kết quả được trả về cho web server.

h) Web server nhận về kết quả xử lý, thêm vào các ngữ cảnh web (HTML, PHP…) để có thể hiển thị được trên trình duyệt và cuối cùng gửi trả kết quả về cho trình duyệt dưới dạng các trang web.

HÌNH 10

- 34 -

3.4.5. Mt s công ngh tích hp GIS vào web hin nay 3.4.5.1. Công ngh MapServer 3.4.5.1. Công ngh MapServer

Mã nguồn mở, phát triển bởi UMN (University of Minnesota )

Hỗ trợ nhiều môi trường phát triển khác nhau như: PHP, Python, Perl, Java, C#.

Hỗ trợ nhiều hệ điều hành: Linux, Windows, Mac OS X, Solaris.

Hỗ trợ nhiều định dạng dữ liệu ESRI shapfiles, PostGIS, ESRI ArcSDE, (adsbygoogle = window.adsbygoogle || []).push({});

Oracle Spatial, MySQL.

Tương thích với OGC.

3.4.5.2. Công ngh Sharpmap

Mã nguồn mở, phát triển bởi cộng đồng Codeplex.

SharpMap là thư viện lập trình cho việc phát triển các ứng dụng GIS desktop và Web.

Hỗ trợ nhiều định dạng dữ liệu: ESRI Shape files format, PostGreSQL/PostGIS, SQL Server, Oracle, MapInfo, DGN, raster…

Được phát triển bằng ngôn ngữ C#.

3.4.5.3. Công ngh GeoServer

Mã nguồn mở, ban đầu phát triển bởi The Open Planning

Project (TOPP).

Hỗ trợ đầy đủ WMS (Web Map Service), WFS (Web Feature Service) (1.0 and 1.1).

Hỗ trợ nhiều định dạng dữ liệu ESRI shapfiles, PostGIS, ESRI ArcSDE, Oracle Spatial, MySQL, Mapinfo.

Hỗ trợ tích hợp ảnh Google map. Tương thích với OGC.

3.4.5.4. Công ngh Google map

Cung cấp thư viện lập trình Map API hỗ trợ kết nối với nguồn dữ liệu

ảnh vệ tinh có sẵn của google map.

Hỗ trợ phát triển trên các môi trường lập trình như java, .net. Hỗ trợ các định dạng dữ liệu raster, KML, KMZ.

- 35 -

3.5. Gii thiu v công ngh GeoServer

GeoServer là một máy chủ mã nguồn mở với mục đích kết nối những thông tin địa lý có sẵn tới các Geoweb (trang Web địa lý) sử dụng chuẩn mở. Được bắt đầu bởi một tổ chức phi lợi nhuận có tên The Open Planning Project (TOPP), 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, là phần mềm mã nguồn mở nhằm cung cấp và chia sẻ dữ liệu. Được kỳ vọng sẽ trở thành một phương thức đơn giản để kết nối những nguồn thông tin có sẵn từ Google Earth, NASA World Wind nhằm tạo ra các dịch vụ Webmap như Google Maps, Windows Live Local và Yahoo Maps.

GeoServer được viết bằng ngôn ngữ Java, cho phép người sử dụng chia sẻ và chỉnh sửa dữ liệu không gian địa lý (geospatial data). Là một dự án mang tính cộng đồng, GeoServer được phát triển, kiểm thử và hỗ trợ bởi nhiều nhóm đối tượng và tổ chức khác nhau trên toàn thế giới.

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 đồ (WMS-Web Map Service), Web Feature Service (WFS) như đã được giới thiệu ở phần trước.GeoServer là thành phần nền tảng của Geospatial Web.

3.5.1. Lch s phát trin

Dự án GeoServer được bắt đầu vào năm 2001 bởi The Open Planning Project (TOPP). Vào thời điểm đó, mọi Website bản đồ chỉ tập trung vào chức năng khởi tạo bản đồ, và không thể chia sẻ những dữ liệu đã được thực hiện trên bản đồ. TOPP nhận ra rằng những dữ liệu này tương đương với “mã nguồn” của bản đồ, và nó vô cùng quan trọng trong việc tạo ra cấu trúc dữ liệu không gian mở, để người dùng có thể phân tích và mô hình hóa, đây là việc không thể đối với dữ liệu ảnh.

Ngay sau khi những đặc tính kỹ thuật của Web Feature Server (WFS) được đưa ra trong bản phác thảo của Open Geospatial Consortium (OGC), kế thừa giao thức chuẩn được phát triển bởi TOPP trong việc tạo ra những kiến trúc không gian thông tin mở, GeoServer trở thành phần mềm mã nguồn mở sớm nhất cung cấp các đặc điểm kỹ thuật trong việc tạo và chỉnh sửa dữ liệu không gian.

- 36 -

Vào năm 2003, GeoServer được bổ sung WFS 1.0, và bổ sung WFS 1.1 vào năm 2006. Cộng đồng phát triển GeoServer đưa thêm WMS 1.1.1 và WCS 1.0. Đó là những thành phần đưa GeoServer trở thành chuẩn của máy chủ không gian địa lý nguồn mở.

Những đóng góp khác bao gồm Giao diện quản trị Web và hỗ trợ nhiều định dạng dữ liệu xuất ra. Như một GeoWeb mở rộng, GeoServer luôn không ngừng phát triển, từng bước hỗ trợ: Google Earth, NASA World Wind, Google Maps, Windows Live Local và Yahoo Maps trong các dịch vụ desktop truyền thống và trong nền tảng GIS.

3.5.2. Chun m và kh năng chia s d liu không gian

HÌNH 11 (adsbygoogle = window.adsbygoogle || []).push({});

Hình 3.9 Sơ đồ giao diện của GeoServer

Geoserver cho phép người dùng hiển thị thông tin không gian của mình về thế giới. Cung cấp chuẩn dịch vụ bản đồ (Web Map Service - WMS), GeoServer có thể tạo bản đồ và xuất ra nhiều định dạng. Với OpenLayers, một thư viện bản đồ hoàn toàn miễn phí, được tích hợp cùng GeoServer giúp cho công việc tạo bản đồ trở nên đơn giản hơn bao giờ hết.

- 37 -

GeoServer hỗ trợ rất nhiều style bản đồ. Tương thích với chuẩn Web Feature Service (WFS), GeoServer cho phép chia sẻ và chỉnh sửa dữ liệu đang được dùng để hiển thị bản đồ.

3.5.3. Các đặc trưng chính

GeoServer có thể đọc được nhiều định dạng dữ liệu, bao gồm PostGIS, Oracle Spatial, ArcSDE, DB2, MySQL, Shapefiles, GeoTIFF, GTOPO30,... Bên cạnh đó, GeoServer còn có thể chỉnh sửa dữ liệu nhờ những thành phần xử lý của chuẩn Web Feature Server.

GeoServer cho phép xuất dữ liệu linh hoạt dựa vào việc hỗ trợ các chuẩn KML, GML, Shapefile, GeoRSS, Portable Document Format, GeoJSON, JPEG, GIF, SVG, PNG ... là những dạng dữ liệu chuẩn và phổ biến của các phần mềm GIS hiện nay.

MapServer cũng được coi là một sản phẩm mã nguồn mở, có nhiều chức năng tương tự. Nhưng sự khác biệt cơ bản giữa hai sản phẩm là Mapserver được phát triển trong môi trường cũ, được viết bởi ngôn ngữ C và hoạt động nhờ CGI và được xem là thế hệ WebGIS thứ nhất. Còn GeoServer được viết bằng ngôn ngữ Java,sự khác biệt lớn nhất với MapServer là bởi nó có giao diện đồ họa, giúp đơn giản hơn trong việc cấu hình, và có thể thực thi được chức năng sửa đổi dựa vào WFS, cho phép chỉnh sửa thông tin không gian cả trên Web cũng như trên máy trạm Desktop và được xem là thế hệ WebGIS thứ hai, đang được phát triển rất mạnh mẽ trên thế giới. Ưu điểm lớn nhất của MapServer là tốc độ thực thi nhanh hơn GeoServer, nhưng từ phiên bản 1.6 trở đi của GeoServer thì tốc độ của hai sản phẩm đã tương đương.

3.6. Gii thiu công ngh Google Earth API

Ngày 28/05/2008 Google phát hành ứng dụng tích hợp bổ sung tính năng (plug-in) Google Earth cho trình duyệt nhằm mở rộng phạm vi ứng dụng dịch vụ bản đồ số trực tuyến 3-D này.

- 38 -

Plug-in sẽ cho phép người dùng “bay” đến những vùng khác nhau trên thế giới trực tiếp từ trình duyệt web mà không cần phải phải cài đặt ứng dụng máy khách Google Earth.

Song song bên cạnh việc phát hành plug-in Google Earth cho trình duyệt web, Google đồng thời cũng công bố luôn các hàm API nền tảng của ứng dụng này nhằm cho phép các nhà phát triển có thể tích hợp góc nhìn bản đồ số 3D vào trong các ứng dụng web của họ.

- 39 -

CHƯƠNG 4: XÂY DNG CƠ S D LIU 4.1. Tngquan v cơ s d liu không gian

4.1.1. CSDL không gian

Là một hệ thống CSDL quan hệ: Cung cấp các kiểu dữ liệu không gian

trong mô hình dữ liệu và các ngôn ngữ truy vấn. Cung cấp các kiểu đánh chỉ mục để thực thi truy vấn nhanh nhất từ bảng dữ liệu lớn.

Các kiểu dữ liệu không gian như Point, Line, Polygon. CSDL không gian cung cấp mô hình trừu tượng cơ bản cho cấu trúc của thực thể hình học trong không gian cũng như mối quan hệ giữa chúng như quan hệ giao nhau (intersects(a,b)), thuộc tính như diện tích, chu vi của mô hình (area(a) hay perimeter(a)), hoặc tìm điểm giao giữa 2 mô hình (intersection(a.b)).

Việc đánh chỉ mục cho dữ liệu là vô cùng quan trọng, nó giúp ích cho việc tối ưu hóa truy vấn dữ liệu, giảm thời gian truy vấn, giảm bộ nhớ lưu trữ…

4.1.2. Đặc trưng ca CSDL không gian

Cơ sở dữ liệu không gian sử đụng đánh chỉ mục không gian để tăng tốc hoạt động của cơ sở dữ liệu.

Ngoài các truy vấn SQL điển hình như câu lệnh SELECT, CSDL không gian có thể thực thi đa dạng các thao tác không gian. Và nó được hỗ trợ bởi OGC:

• Đo lường không gian: nó có khả năng tìm khoảng cách giữa các điểm, các vùng…

• Hàm không gian: ví dụ như, sửa đối các hình hiện thời để tạo ra những hình mới.

• Xác nhận không gian: nó cho phép thực hiện những truy vấn True/False. • Hàm tạo: tạo ra các hình mới, như chỉ ra các điểm nút có thể tạo nên đường, hay nếu đỉnh đầu và đỉnh cuối trùng nhau chúng có thể tạo nên một đa giác.

- 40 -

4.1.3. Các h qun tr cơ s h trợđối tượng không gian

Khi phát triển website, cơ sở dữ liệu được xem như trái tim của hệ thống và ngôn ngữ lập trình, tạo thành những mạch máu vận hành website. Hiện có nhiều hệ quản trị CSDL của nhiều hãng phần mềm khác nhau, tùy vào quy mô trang web, hay mức độ phức tạp của bài toán cần giải quyết mà chọn một hệ quản trị cơ sở dữ liệu thích hợp.

Một hệ thống GIS chuyên nghiệp, dữ liệu lưu trữ ở đây bao gồm dữ liệu thuộc tính và không gian chính vì thế cần một hệ quản trị cơ sở dữ liệu có hỗ trợ dữ liệu không gian, danh sách dưới đây cung cấp các hệ quản trị cơ sở dữ liệu có hỗ trợ GIS: (adsbygoogle = window.adsbygoogle || []).push({});

• DB2: Hệ quản trị cơ sở dữ liệu của hãng IBM, cho phép lưu trữ và truy vấn không gian trên hầu hết các kiểu dữ liệu địa lý. ESRI hỗ trợ cầu nối ArcSDE cho DB2.

• Microsoft SQL Server 2008: Tham gia vào lĩnh vực dữ liệu địa l ý khá trể so với các hệ quản trị cơ sở dữ liệu khác. Tuy nhiên SQL server bắt đầu hỗ trợ các hàm thao tác trên dữ liệu địa l ý cũng như đọc/ ghi các kiểu dữ liệu này.

• Oracle Spatial: Cho phép người sử dụng thực hiện các tác vụ phức tạp trên dữ liệu địa l ý, hỗ trợ các kiểu dữ liệu không gian trong môi trường Oracle. Hầu hết các phần mềm GIS thương mại đều cho phép đọc và hiệu chỉnh dữ liệu không gian lưu trữ trong Oracle.

• PostGis: phần mở rộng của hệ quản trị cơ sở dữ liệu mã nguồn mở PostgreSQL hỗ trợ truy vấn không gian. PostGIS hỗ trợ các kiểu dữ liệu không gian như points, linestrings, polygons, multipoints, multilinestrings, multipolygons và geometrycollections. Hỗ trợ các tác vụ trên không gian như diện tích, khoảng cách, chiều dài, đường kính. Hỗ trợ phân tích không gian như hợp, giao, tạo vùng đệm…

- 41 -

4.2. So sánh các h qun tr cơ s d liu không gian

Việc so sánh các hệ quản trị cơ sở dữ liệu với nhau giúp chúng ta có cái nhìn tổng quan về ưu, nhược điểm của chúng để tìm ra được hệ quản trị phù hợp với website của mình. Một số thông tin được đưa ra so sánh bên dưới như: hệ điều hành hỗ trợ, các tính năng cơ bản, hỗ trợ bảng và khung nhìn, chức năng đính chỉ mục, và các đối tượng khác.

Bng 4.1 Thông tin chung

Công ty Ngày phát hành phiên bn đầu tiên Phiên bn n định mi nht Giy phép s dng MySQL MySQL AB 11/1996 5.0 GPL và độc quyền Oracle Oracle Corporation 1977 10g Release 2 Độc quyền DB2 IBM 1982 8.2 Độc quyền

SQL Server Microsoft 1989 9.00.1399 Độc quyền

PostgresSQL PostgreSQL Global Development Group 06/1989 8.4 BSD BNG 8 Bng 4.2 So sánh về hệ điều hành hỗ trợ

Một phần của tài liệu XÂY DỰNG (WEBGIS) CÔNG CỤ PHỔ BIẾN THÔNG TIN Ô NHIỄM MÔI TRƯỜNG KHÔNG KHÍ TẠI CÁC KHU CÔNG NGHIỆP ĐẾN CỘNG ĐỒNG (Trang 40)