Quản lý hệ thống cây xăng ứng dụng công nghệ GIS

ĐẶT VẤN ĐỀ Trong những thập kỷ gần đây, công nghệ thông tin phát triển nhanh chóng và có mặt ở hầu khắp các lĩnh vực khoa học và xã hội. Với ngành địa lý, thuật ngữ GIS hay hệ thống thông tin địa lý đã trở nên quen thuộc. Phân tích dữ liệu bản đồ bao gồm quá trình thu thập, lưu trữ, phân tích và kết xuất dữ liệu. Quá trình này trước đây thường được làm bằng tay, trên dữ liệu tương tự và sản phẩm tạo ra là bản đồ giấy. Tuy nhiên, vấn đề là dữ liệu được lấy từ rất nhiều nguồn khác nhau, tại các vị trí khác nhau do đó mà chúng thường có tỷ lệ và phép chiếu khác nhau. Để tổng hợp được nguồn dữ liệu này ta cần phải quy đổi chúng về cùng một tỷ lệ và phép chiếu. Công việc này tốn rất nhiều thời gian và tiền bạc mà độ chính xác lại không cao. Sự ra đời của GIS đã cho ta một cái nhìn khác về phân tích dữ liệu bản đồ. Các bản đồ giờ đây được số hoá và đặt trong một hệ toạ độ tiêu chuẩn, việc tổng hợp và quy đổi dữ liệu được thực hiện dễ dàng bằng các phần mềm chuyên dụng. Cùng với tập các tiến trình xử lý dữ liệu thô để sản sinh ra các thông tin có ích cho công tác lập quyết định, hệ thống thông tin địa lý đã được thiết kế để làm việc với dữ liệu quy chiếu hay toạ độ địa lý. Nhờ vào khả năng sử dụng dữ liệu không gian và phi không gian từ các nguồn khác nhau nên công nghệ GIS được ứng dụng trong rất nhiều lĩnh vực như quản lý hệ thống đường phố, quản lý giám sát tài nguyên, thiên nhiên môi trường, quản lý quy hoạch, quản lý thiết bị, phân tích tổng điều tra dân số, lập bản đồ các dịch vụ y tế, bưu điện Đồng thời GIS cũng là sự hội tụ của các lĩnh vực công nghệ và các ngành truyền thống: địa lý, bản đồ, khoa học viễn thám, thống kê, khoa học máy tính, toán học Nó hợp nhất các số liệu mang tính liên ngành bằng tổng hợp, mô hình hoá và phân tích. Vì vậy có thể nói, GIS được xây dựng trên các tri thức của nhiều ngành khoa học khác nhau để tạo ra ngành khoa học mới. Một điểm mạnh của GIS so với các công nghệ trước đây là khả năng tích hợp dữ liệu không gian và dữ liệu thuộc tính (phi không gian) bên trong một hệ quản trị cơ sở dữ liệu quan hệ. Điều này giúp cho việc biểu diễn thông tin bản đồ linh động và trực quan hơn. Đặc biệt là khi những thông tin này được đưa lên mạng Internet. Hiện nay, vấn đề giao thông luôn là vấn đề nóng bỏng của mọi quốc gia khiến cho thông tin về nó ngày càng quan trọng, đặc biệt là khi nước ta đang trong quá trình xây dựng cơ sở hạ tầng giao thông tốt nhằm phục vụ cho việc đi lại trong các thành phố và các địa điểm lân cận thêm thuận tiện. Do đó rất cần thiết phải có một hệ thống cung cấp thông tin về giao thông đến tất cả mọi người dân. ArcGIS là một công cụ mạnh mẽ, cho phép ta kết xuất dữ liệu bản đồ dưới dạng ảnh phục vụ cho việc truyền qua mạng, thực hiện các phép toán phân tích không gian cơ bản để từ đó xây dựng nên các chức năng tra cứu bản đồ có kết hợp yếu tố không gian và thuộc tính, điều mà các công nghệ khác không làm được. Qua quá trình tìm hiểu và nghiên cứu, em muốn áp dụng những kiến thức được học trên ghế nhà trường vào công việc cụ thể. Được sự hướng dẫn của thầy PGS.TS. Nguyễn Cảnh Lương, em đã quyết định chọn cho mình một đề tài nhỏ nhưng rất thực tế về vấn đề quản lý giao thông, đó là: “Quản lý hệ thống cây xăng ứng dụng công nghệ GIS”. Đề tài được xây dựng với mục đích đưa ra thông tin chính xác về vị trí các cây xăng thuộc địa bàn Hà Nội giúp cho người điều khiển phương tiện giao thông có thể xác định chính xác được phương hướng đến các trạm xăng một cách gần nhất và nhanh nhất, tiết kiệm thời gian và công sức cho người tham gia giao thông. Mặc dù có nhiều cố gắng nhưng đây chưa phải thưc sự là một web site hoàn thiện để đưa vào sử dụng vì web site chưa sử lý được nhiều chi tiết phức tạp. Vì đây là lần đầu tiên là em làm quen với công nghệ GIS, một công nghệ còn rất mới ở nước ta, khả năng bản thân còn hạn chế và thời lượng thực hiện có hạn, do vậy em không tránh khỏi những thiếu sót. Vì vậy em rất mong được sự góp ý của các thầy cô cùng các bạn để web site ngày càng hoàn thiện và có thể áp dụng trong tương lai. Em xin chân thành cảm ơn thầy PGS.TS. Nguyễn Cảnh Lương và các thầy cô giáo trong khoa Toán - Tin Ứng Dụng đã tạo điều kiện cho em hoàn tất đề tài nghiên cứu này. CHƯƠNG I TỔNG QUAN VỀ GIS I. KHÁI NIỆM GIS GIS - Geographic Information System hay hệ thống thông tin địa lý được hình thành từ ba khái niệm địa lý, thông tin và hệ thống. Khái niệm “địa lý” liên quan đến các đặc trưng về không gian, vị trí. Các đặc trưng này ánh xạ trực tiếp đến các đối tượng trong không gian. Chúng có thể là vật lý, văn hoá, kinh tế, tự nhiên . Khái niệm “thông tin” đề cập đến phần dữ liệu được quản lý bởi GIS. Đó là các dữ liệu về thuộc tính và không gian của đối tượng. GIS có tính “hệ thống” tức là hệ thống GIS được xây dựng từ các module. Việc tạo module giúp thuận lợi trong việc quản lý và hợp nhất. GIS là một hệ thống có ứng dụng rất lớn. Từ năm 1980 đến nay đã có rất nhiều các định nghĩa được đưa ra, tuy nhiên không có định nghĩa nào khái quát đầy đủ về GIS vì phần lớn chúng đều được xây dựng trên khía cạnh ứng dụng cụ thể trong từng lĩnh vực. Có ba định nghĩa được dùng nhiều nhất: + GIS là một hệ thống thông tin được thiết kế để làm việc với các dữ liệu trong một hệ toạ độ quy chiếu. GIS bao gồm một hệ cơ sở dữ liệu và các phương thức để thao tác với dữ liệu đó. + GIS là một hệ thống nhằm thu thập, lưu trữ, kiểm tra, tích hợp, thao tác, phân tích và hiển thị dữ liệu được quy chiếu cụ thể vào trái đất. + GIS là một chương trình máy tính hỗ trợ việc thu thập, lưu trữ, phân tích và hiển thị dữ liệu bản đồ. KẾT LUẬN Hệ thống thông tin địa lý - GIS là một lĩnh vực nghiên cứu và ứng dụng mới của Công nghệ thông tin, nó hình thành và phát triển trong môi trường công nghệ thông tin đang có nhiều phát triển nhanh chóng. Việc xây dựng các ứng dụng trên nền GIS đang được quan tâm cho các bài toán thực tế, đặc biệt là các ứng dụng trong lĩnh vực quản lý thông tin phục vụ cho việc tìm kiếm một cách nhanh chóng và chính xác. Đề tài “Quản lý hệ thống cây xăng ứng dụng công nghệ GIS” đã cố gắng tiếp cận với lĩnh vực này. Vấn đề được quan tâm nghiên cứu là tìm hiểu cơ sở địa lý nơi tích hợp dữ liệu thuộc tính và dữ liệu không gian và khai thác các phép phân tích không gian cơ bản của GIS để phục vụ cho chức năng tra cứu thông tin. Những kết quả đã đạt được: + Hiển thị dữ liệu bản đồ trên nền Web. + Thực hiện tương tác với các đối tượng đồ hoạ trên bản đồ. + Cập nhật được thông tin thuộc tính của các đối tượng có liên quan như nhân viên và doanh thu. Đề tài này mới chỉ là bước đầu tiếp cận vào lĩnh vực GIS, còn rất nhiều vấn đề thiết thực có thể ứng dụng để phát triển đề tài. Mặc dù kết quả thu được còn khá khiếm tốn nhưng đề tài này sẽ là nền tảng cho em có thể bước tiếp trong hướng nghiên cứu các vấn đề mới trong lĩnh vực GIS. Em xin bày tỏ lòng cảm ơn đến thầy PGS.TS. Nguyễn Cảnh Lương, người đã trực tiếp hướng dẫn em trong quá trình làm báo cáo thực tập. Em cũng xin chân thành cảm ơn thầy PGS.TS. Phan Trung Huy và các cán bộ phòng GIS thuộc công ty FPT - IS đã giúp đỡ em hoàn thành bản báo cáo thực tập tốt nghiệp này. Em xin chân thành cảm ơn! TÀI LIỆU THAM KHẢO [1]. Bob Booth and Andy Metchell, Getting started with ArcGIS, ESRI Press, 2000. [2]. Mychael N.Demers, Fundamentals of Geographic Information System, 2nd Edition, Wiley Text Books, 2002. [3]. Philppe Rgaux, Michel Scholl, Spatial Databases with Application to GIS, Morgan Kaufmann, 2001. [4]. Stan Morain and Shirley Lopez Baros, Raster Imagery in Geographic Information System, OnWorld Press. [5]. Principles of Geographic Information System, ITC cor module, Textbox. [6]. Đặng Văn Đức, Hệ thông tin địa lý,Nhàxuất bản khoa học và Kỹ thuật, 2001. [7]. http://www.esri.com/ [8]. http://www.dhpc.informatics.bangor.a.orts/043/html/ [9]. http://www.cs.ruu.nl/geobook/ [10]. http://www.gisdatadipot.com [11]. http:///www.ciren.gov.vn/ [12]. http://www.geogube.ca/courses/klink/gis.notes/ [13]. http://volusia.org/gis/ [14]. http://www.gisdevelopment.net/tutorials/ [15]. http://thema.univ-fcomte.fr/josselin/htm

doc122 trang | Chia sẻ: lvcdongnoi | Lượt xem: 5121 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Quản lý hệ thống cây xăng ứng dụng công nghệ GIS, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
cSDE? Nếu môi trường của ta là đa người dùng, chúng ta có một hệ quản trị cơ sở dữ liệu quản lý đa người dùng đó, chúng ta có dữ liệu không gian (bản đồ), lúc này chúng ta cần thiết dùng ArcSDE để: + Tận dụng tối đa các tính năng của việc sử dụng một hệ quản trị cơ sở dữ liệu. + Lưu trữ mọi thông tin bản đồ kể cả các thông tin đồ hoạ. + Cho phép nhiều thành viên cùng kết xuất và chỉnh sửa. + Quản lý dữ liệu GIS với nhiều quy mô khác nhau. + Mô hình các đặc điểm và hành vi phức tạp của GIS. + Ứng dụng các công cụ ArcGIS trên các dữ liệu được lưu trong hệ quản trị cơ sở dữ liệu. Mô hình quan hệ ArcSDE với các thành phần khác Hình 3.2 ArcSDE - Cổng giao tiếp cơ sở dữ liệu Cấu hình kết nối ArcSDE: khi ta triển khai xây dựng một hệ thống ArcGIS cho một cơ quan, xí nghiệp, ta sẽ phải thiết lập một hệ dữ liệu đa người dùng, cài đặt hệ phần mềm ArcGIS Desktop. Hệ phần mềm này được phân phối trong toàn bộ cơ quan, xí nghiệp. Mọi người sử dụng ArcGIS sẽ dùng chung các dữ liệu được quản lý trong cở sở dữ liệu thông qua ArcSDE. Lúc này ArcSDE phải được cấu hình để kết nối trực tiếp các ứng dụng phía Client với hệ quản trị cơ sở dữ liệu hoặc cấu hình để chạy bên cạnh hệ quản trị cơ sở dữ liệu như một ứng dụng phía Server. 6. Tổng quan về ArcGIS Server ArcGIS Server là một phần mềm được ESRI phát triển trong thời gian gần đây. Trước đó, người ta vẫn biết đến ESRI thông qua hệ phần mềm ArcGIS Desktop. Tuy nhiên, hạn chế lớn nhất của chúng là việc phân phối thông tin. Trên hệ thống này, ta luôn phải có dữ liệu trên máy hoặc kết nối trực tiếp với máy chủ trong môi trường mạng nội bộ nếu ta muốn xem hay truy vấn thông tin trên bản đồ. Mặt khác, dữ liệu bản đồ thường rất lớn, đắt và đòi hỏi máy tính có cấu hình cao. Dữ liệu này phải được quản lý bởi các chuyên gia về GIS và nó cũng chỉ phù hợp với những cơ quan làm việc về lĩnh vực địa lý. Tuy vậy, ngày càng nhiều tổ chức, xí nghiệp không chuyên về GIS nhưng họ rất quan tâm đến thông tin địa lý vì chúng có ảnh hưởng đến chiến lược kinh doanh của họ. Ngay cả những người dùng bình thường cũng có cùng những quan tâm này. Kiến trúc Client/Server ra đời cho phép tách biệt ứng dụng Web thành 2 tầng: tầng Client và tầng Server. Cổng ArcSDE cho phép người dùng có thể truy cập dữ liệu bản đồ từ bất kỳ đâu trên mạng. Hệ thống ArcGIS Server được thiết kế tận dụng những lợi thế này để phân phối thông tin địa lý cho tất cả mọi người. 7. Mô hình hệ thống ArcGIS Server Hình 3.3 Mô hình hệ thống ArcGIS Server được triển khai trong môi trường phân tán và bao gồm cả các thành phần phía Client và Server. Các thành phần phía Server cho phép tích hợp các khả năng GIS trên một Web site. Web site có thể phân phối dữ liệu GIS, bản đồ và các ứng dụng khác. Với ArcGIS Server, ta có thể tự thiết kế và đăng ký ArcGIS Server Web site. Rất nhiều ứng dụng phía Client có thể kết nối và sử dụng Web site qua mạng Internet, từ trang HTML hay Java được tích hợp trong ArcGIS Server đến các ứng dụng ArcGIS Desktop. Kiến trúc ArcGIS Server có độ mở cao. Mọi người có thể truy cập vào Web site, xem và thực hiện các truy vấn tại cùng một thời điểm. Ta cũng có thể mở rộng cấu hình của hệ thống cho phù hợp với nhu cầu phát triển. 8. Lợi ích của ArcGIS Server ArcGIS Server là một ứng dụng GIS dựa trên cở sở Internet cho phép tập trung xây dựng và phân phối các dữ liệu GIS, các ứng dụng đến người dùng không chỉ trong một tổ chức mà còn trên toàn thể giới. Vậy việc sử dụng ArcGIS Server có những ưu điểm sau: + Mở rộng dữ liệu GIS: phổ biến dữ liệu và các dịch vụ trên Internet cho phép đáp ứng được những yêu cầu về GIS của người dùng. ArcGIS Server bao gồm một bộ các khung nhìn HTML và Java được phân phối miễn phí. Những khung nhìn này cung cấp những chức năng quan trọng của GIS. + Tích hợp dữ liệu từ nhiều nguồn khác nhau: ArcGIS Server hỗ trợ người dùng trong việc tập hợp dữ liệu từ bất kỳ ArcGIS Server Web site nào. Nó cũng cho phép tích hợp dữ liệu GIS cục bộ với các lớp bản đồ khác. Người dùng có thể truy cập dữ liệu của họ sau đó tích hợp chúng với các dữ liệu từ rất nhiều nguồn khác nhau một cách nhanh chóng và đơn giản. + Mở rộng phạm vi của hệ thống để phù hợp với nhu cầu: nếu máy chủ của ta nhận được số lượng yêu cầu dữ liệu tăng từ 10 đến 10.000 trong 1h thì ArcGIS Server có thể được mở rộng để đáp ứng số lượng yêu cầu đó. Khi Web site tăng về quy mô, dịch vụ cung cấp tăng, số lượng các yêu cầu tăng, ArcGIS Server cũng dễ dàng được mở rộng cho phù hợp với nhu cầu mới này. + Cung cấp truy cập đến dữ liệu GIS và dịch vụ xác định vị trí: ArcGIS Server cho phép ta xác định chính xác dữ liệu và các dịch vụ GIS được phân phối như thế nào và cho ai. Ta có thể kiểm soát được việc truy cập dữ liệu GIS qua mạng toàn cầu hay mạng nội bộ trong các cơ quan tổ chức. ArcGIS Server cũng rất thích hợp trong việc tạo ra và phân phối các dịch vụ liên quan đến việc xác định vị trí , đường đi. Các ứng dụng cụ thể như kiểm soát lưu lượng xe trong giao thông, lưu lượng nước trong thuỷ lợi, tìm kiếm nhà hay đường đi… 9. Những chức năng chính của ArcGIS Server Khi ta muốn xây dựng một hệ thống thực hiện các chức năng GIS bằng công nghệ ArcGIS Server, chúng ta cần biết khả năng của nó trong sử lý dữ liệu GIS. Sau đây là những chức năng chính của ArcGIS Server: + Hiển thị ảnh: chức năng này cho phép chụp nhanh hình bản đồ mà ta đã đăng ký và truyền về phía người dùng dưới dạng các file JPEG, PNG hay GIF. Khả năng này cũng được sử dụng để cung cấp tập dữ liệu ảnh raster cho người dùng. + Feature streaming: liên quan đên việc truyền các các đối tượng feature về phía người dùng bằng định dạng vector (không phải định dạng ảnh). Chức năng này có liên cho phép thực hiện một số công việc phía Client như: gán nhãn cho các feature, tạo các chú thích, chỉ định đối tượng và một số chức năng khác. Feature streaming không chỉ có mặt trong ArcGIS Server mà nó còn được sử dụng trong rất nhiều phần mềm khác như: ArcExplorer, Java Edition, ArcMap. Các luồng feature trong quá trình truyền có thể tích hợp với nhau. + Truy vấn dữ liệu: là chức năng thường gặp trong bất kỳ hệ thống nào. Người dùng nhập dữ liệu là các tiêu trí sau đó gửi về server và server sẽ phản hồi các yêu cầu đó dưới dạng ký tự hay dạng ảnh. + Trích rút dữ liệu: ta có thể thực hiện yêu cầu lấy dữ liệu địa lý từ server. Server sẽ đáp ứng yêu cầu bằng cách gửi dữ liệu về phía người dùng dưới dạng các file dữ liệu đã được nén. Người dùng sau khi nhận được các file trên có thể giải nén để thu được dữ liệu cần. + Geocoding: chức năng này xác định chính xác vị trí của một đối tượng trên bản đồ thông qua việc mô tả về vị trí của đối tượng. Các đối tượng sau khi được tìm thấy sẽ được gán các trọng số. Giá trị trọng số tỷ lệ với các đối tượng có vị trí gần với mô tả nhất. + Metadata catalog: Metadata Catalog liên quan đến tập dữ liệu và thông tin mà có thể được tạo ra bằng cách sử dụng ArcGIS, ArcGIS Server và ArcSDE và có thể được xuất bản như là một dịch vụ tìm kiếm nhờ ArcGIS Server. Chức năng này cung cấp cho ta một kỹ thuật tìm kiếm mở để tìm và truy cập thông tin GIS tại chính Web site của mình. + Routing: tuỳ chọn này cung cấp một cơ sở dữ liệu rộng lớn về giao thông để hỗ trợ các dịch vụ định tuyến và định vị. II. KIẾN TRÚC ARCGIS SERVER Hình 3.4 Mô hình kiến trúc ArcGIS Server Nhìn một cách tổng thể hệ thống ArcGIS Server được chia làm 3 phần dựa vào chức năng của chúng: Spatial Server, Middleware và Client-tier. Middleware and Spatial Server bao gồm nhiều tầng khác bên trong. Spatial Server có 5 thành phần: Image Server, Feature Server, Query Server, Geocode Server và Extract Server. + Imgae Server: tạo ra các ảnh bản đồ tương ứng với các yêu cầu phía Client. + Feature Server: truyền bản đồ dựa trên các vector feature (các feature theo mô hình vector). + Geocode Server: cung cấp các dịch vụ để xác định vị trí của một đối tượng trên bản đồ căn cứ vào địa chỉ của nó. + Query Server: quản lý các truy vấn dữ liệu thuộc tính và dữ liệu bản đồ cho dịch vụ ảnh (Image serves). + Extract Server: đáp ứng các yêu cầu trích rút dữ liệu bản đồ dạng Vector. ArcGIS Server Middleware có 4 thành phần: Connectors, Application Server, Monitor và Tasker. + Application Server: nhận các yêu cầu từ phía Clients qua bộ Connectors và nó chuyển các yêu cầu này cho Spatial Server. Spatial Server sẽ phân tích yêu cầu và chuyển yêu cầu đến thành phần xử lý thích hợp. + Monitor: có nhiệm vụ khởi động Spatial Server và quan sát để chắc chắn Spatial Server luôn hoạt động bình thường. + Tasker: xoá tất cả các ảnh được tạo bởi Imgae Server sau khi thành phần này gửi ảnh về phía Clients để Web site có đủ không gian bộ nhớ để hoạt động. MapService: là một file cấu hình chứa đường dẫn đến nguồn dữ liệu bản đồ lấy từ cơ sở dữ liệu sau khi được đăng ký sẽ tạo thành một MapService và được xuất bản trên một ArcGIS Server Web site. Có thể có nhiều MapService chạy cùng lúc nhưng chỉ có một trong số chúng được Web site sử dụng. Khi MapService đã được đăng ký, tất cả các thao tác hiển thị bản đồ cơ bản sẽ được thực hiện thông qua MapService này, ta không cần quan tâm đến cơ sở dữ liệu nữa. Clent-tier gồm một tập các ứng dụng Java: Author, Designer và Administrator. Chức năng của Author là tạo một file cấu hình, Designer dùng để thiết kế một Web site có sử dụng MapService. Administrator có nhiệm vụ quản lý chung các thành phần và đăng ký một file cấu hình để tạo ra một MapService. Ngôn ngữ dùng để giao tiếp giữa các tầng trong kiến trúc là ArcXML là một ngôn ngữ được phát triển trên nền ngôn ngữ XML. Các yêu cầu phía Client sẽ được biên dịch sang ArcXML và được truyền qua giao thức HTTP. Cũng như vậy, các phản hồi từ Middleware đến Clents cũng ở dạng ArcXML. 1. Spatial Server Spatial Server là một ứng dụng bao gồm các thành phần sau: Container, AXLParser, Data Access Manager và 5 thành phần cốt lõi khác: Image Server, Feature Server, Query Server, Geocode Server và Extract Server. Hình 3.5 Các thành phần Spatial Server Các thành của Spatial Server Container được khởi động bởi Monitor và được quản lý bởi Application Server. Sau khi khởi động, Container sẽ tạo ra hai luồng điều khiển, hai luồng này sẽ duy trì kết nối đến Monitor và Application Server trong suốt một phiên làm việc. Nếu Container bị lỗi và không vận hành được thì Monitor sẽ phát hiện và khởi động lại để Container tiếp tục làm việc. Container giao tiếp với Application Server và Monitor bằng giao thức dựa trên cơ sở ngôn ngữ ArcXML và được thực hiện qua Weblink. Những nhiệm vụ chính của Container là đăng ký, khởi động và dừng các Server Component. Tất cả các thể hiện của mỗi Server Component đều được khởi động trong những luồng riêng biệt do đó mà hoạt động của chúng cũng độc lập với nhau. Mọi thành phần đều sử dụng Data Access Manager để truy cập dữ liệu shape files, cơ sở dữ liệu ArcSDE và cơ sở dữ liệu Raster. Manager cũng cung cấp một giao diện làm việc với cơ sở dữ liệu bất kỳ. Năm thành phần cốt lõi của Spatial Server đã được giới thiệu ở phần trên. Mỗi thành phần sẽ thực hiện một mục đích cụ thể và chức năng của chúng có thể đáp ứng được phần lớn yêu cầu của người dùng. Mỗi yêu cầu gửi lên Server sẽ được biên dịch sang ArcXML bởi bộ biên dịch AXL Parser và được xử lý bởi các thành phần. Kết quả trả về cớ thể là ở dạng ảnh, nhị phân hay ArcXML. Imgae Server xử lý dữ liệu được lấy từ Data Access Manager và tạo ra ảnh bản đồ trong các định dạng JPG, GIF, PNG và một số định dạng khác. Query Server chạy trên nền của Imgae Server và nó quản lý tất cả các truy vấn dữ liệu thuộc tính và đồ hoạ. Feature Server được sử dụng bởi các thành phần Clents như Java viewer để lấy về những dữ liệu thô trong định dạng các chuỗi nhị phân. Extract Server sẽ trích rút dữ liệu và đóng gói chúng trong các file nén. Dữ liệu này sau đó được truyền về phía Clents theo cách thức mà Imgae Server truyền ảnh bản đồ. Geocode Server có thể được dùng cùng với cả Imgae Server và Feature Server để xác định vị trí của một đối tượng trên bản đồ. 2. Middleware Middleware thực hiện việc trao đổi tương tác giữa Client-tie và Spatial Server. Middleware có quan hệ mật thiết với Web servers. Các Web servers thường được sử dụng là: Netscape iPlanet, Microsoft IIS và Apache Web server. Hình 3.6 Các thành phần Middleware + Connectors: là thành phần kết nối giữa Web server và Application Server. Khi Web server nhận được một yêu cầu dữ liệu bản đồ, thông qua bộ Connector yêu cầu đó sẽ được chuyển lên Application Server. Một bộ Connector là một chương trình chạy trên máy có cài Web server và kết hợp chặt chẽ với nó. Connector được cấu hình để nó có thể làm việc với Application Server thông qua một cổng giao tiếp với thành phần này (hình 3.6). Thông qua cổng này, Connector có thể gửi các yêu cầu và nhận phản hồi từ Application Server. ArcGIS Server sử dụng 4 kiểu Connector là: Servlet Connector, WMS Connector, ActiveX Connector và ColdFusion Connector. Trong đó chỉ có Servlet Connector là làm việc với cả Image và Feature MapService, những Connector còn lại chỉ làm việc với Image MapService. + Servlet Connector: là một Java Servlet - một applet Java phía server. Ta chọn Servlet API để phát triển một Connector bởi vì Servlet có khả năng quản lý các yêu cầu tốt hơn những kịch bản tự nhiên của Web server hay kịch bản CGI. Để có thể chạy một Java Servlet, Web server cần có bộ Servlet Engine phù hợp. Ví dụ, IIS dùng Servlet Exec của New Atlanta hay JRun của Allaire. Servlet Connector có thể phục vụ các yêu cầu dạng Feature và Image MapServices. Bởi vậy nó có thể tương tác với cả HTML và Java viewers. Servlet Connector hỗ trợ sự xác nhận của Basic và Diget cho việc kiểm soát truy cập của người dùng. Về việc bảo mật nội dung, Servlet Connector sử dụng S-HTTP. + WMS Connector: là một Java Servlet. Connector này chuyển đổi các yêu cầu WMS sang định dạng ArcXML và gửi nó đến Application Server. Có 3 dạng yêu cầu WMS là: map, capability và feature_info. Yêu cầu dạng map xác định định dạng ảnh và Connector sẽ gửi ảnh đó đến Client. Đối với capability, Connector sẽ gửi lại các thông tin bao gồm phiên bản WMS, các định dạng ảnh được hộ trợ. Feature_info bao gồm các thông tin về đối tượng đồ hoạ được yêu cầu, các thông tin này sẽ được gửi về trong định dạng XML hoặc HTML. + ActiveX Connector: là một tập các đối tượng cho phép lập trình viên tạo các ASP hay các ứng dụng Visual Basic. Mỗi đối tượng trong Connector này tạo ra các phần ArcXML của riêng mình. Tất cả các yêu cầu của người dùng được quản lý phía Server, việc này có một số ưu điểm sau: (1) kết quả trả về sẽ nhẹ và độc lập với trình duyệt, (2) mã lệnh sẽ không được nhìn thấy và sẽ tăng tính bảo mật. Một số chức năng cơ bản trong xử lý bản đồ được ActiveX Connector hỗ trợ. + ColdFusion Connector: cho phép lập trình viên làm việc trực tiếp với ArcGIS Server thông qua một tập các thẻ ColdFusion được định nghĩa. ColdFusion Connector cũng cung cấp sự kiểm soát về thời gian thiết kế bên trong ColdFusion Studio, điều này làm tăng hiệu quả khi sử dụng các chức năng GIS trên Web sites vì sự linh hoạt trong việc mở rộng các thẻ. Hoạt động của ColdFusion gần giống với ActiveX Connector, Connector này cũng quản lý các yêu cầu trên server và tính bảo mật của nó vì thế cũng tăng lên. 3. Application Server Application Server là chức năng trung tâm của ArcGIS Server. Nó có thể phục vụ cùng lúc rất nhiều Web server/Connector. Mỗi khi Monitor, Spatial Server và Tasker khởi động, chúng lần lượt phải đăng ký với Application Server thông qua cổng Registry Port. Khi một yêu cầu được gửi lên, Application Server sẽ phân tích yêu cầu này. Nếu là một yêu cầu hệ thống thì Application Server sẽ xử lý nó, ngược lại nếu là yêu cầu phía Clent nó sẽ chuyển cho Spatial Server. Ví dụ, các yêu cầu (trong định dạng ArcXML) GET_IMAGE, GET_FEATURES, GET_SERVICE_INFO thì nó phải được xử lý bởi Spatial Server. Application Server luôn giám sát hoạt động của Monitor, Tasker, Spatial Server, MapService và Virtual Servers trong các danh mục nhớ. Các danh mục này sẽ được xuất ra file. + Monitor: sẽ có nhiệm vụ giám sát tất cả các thể hiện của Spatial Server để chắc chắn rằng thành phần này đang vận hành tốt. Nó cũng có nhiệm vụ khởi động và kết thúc các Spatial Server. Khi khởi động, nó sẽ đăng ký với Application Server. Nếu Application Server không hoạt động, nó sẽ cố gắng đăng ký tại một thời điểm khác cho tới khi thành công. Monitor nhận các yêu cầu từ Application Server và Spatial Server qua cổng Listener Port (hình 3.7). Trong khi một site của ArcGIS Server có thể có nhiều Monitor, thì một máy tính đang chạy Spatial Server lại chỉ cần một Monitor. Điều này là vì một Monitor có thể giám sát hoạt động của tất cả các Spatial Server trên máy đó. Nó gửi các tín hiệu ping đến từng Spatial Server tại từng thời điểm. Nếu một ping bị lỗi tức là Spatial Server bị lỗi, Monitor sẽ khởi động lại nó. Hình 3.7 Hoạt động của Monitor Hình vẽ trên là một ví dụ minh hoạ cách thức Monitor giám sát hoạt động của các Spatial Server. Tại thời điểm t1 Monitor khởi động Spatial Server và đăng ký với Application Server. Tại thời điểm t2 Monitor gửi một ping đến Spatial Server, nó nhận được phản hồi từ Spatial Server và nó biết Spatial Server đang hoạt động. Ngay sau đó, Spatial Server bi lỗi. Tại thời điểm t3 khi Monitor gửi ping nó phát hiện ra điều này và ngay lập nó khởi động lại Spatial Server và đăng ký với Application Server. + Tasker: có nhiệm vụ xoá hết các ảnh bản đồ do Imgae Server tạo ra. Sau khi khởi động, nó cũng phải đăng ký với Application Server. Khi một MapService được tạo ra trên Imgae Server, người quản trị hệ thống sẽ xác định cụ thể thư mục làm đầu ra của ảnh và khoảng thời gian xoá ảnh. Những thông tin này sẽ được Application Server gửi cho Tasker qua cổng Listener Port (hình 3.7). Khi ảnh được gửi về phía Client, nó sẽ được lưu tại thư mục ảnh trên. Sau một khoảng thời gian, Tasker sẽ xoá nó khỏi thư mục. Việc xoá này, đảm bảo Web server có đủ vùng nhớ để hoạt động. + Virtual Server: msột Virtual Server là một tập các thể hiện của Server theo một kiểu đã cho trước. Một thể hiện của Server trên môt site ArcGIS Server luôn thuộc về một và chỉ một Virtual Server. Có hai kiểu Server là: Image và Feature Servers. Các Server trong Virtual Server có thể hoạt động bên trong một Spatial Server hay trên nhiều Spatial Server. Thêm vào đó, chúng có thể tồn tại trên nhiều máy khác nhau. Khái niệm về Virtual Servers sẽ giúp chúng ta tạo ra một tập các MapServices có tính năng bảo mật và tin cậy cao. Khi môt MapService có một Virtual Server, Application Server sẽ đăng ký MapService này với tất cả các thể hiện của Server mà là thành viên của Virtual Server. Khi Application Server nhận được yêu cầu về MapService, nó sẽ tìm một Server trong nhóm các Virtual Server có chứa MapService này và gửi yêu cầu đến Server đó. Vì vậy, Virtual Server là một khái niệm quan trọng trong ArcGIS Server. 4. Client tier Client tier (tầng Client) hay còn được biết với một tên khác là Presentation tier (tầng trình diễn) cung cấp một giao tiếp cho những người dùng cuối của hệ thống trong việc tương tác với hệ GIS phân tán. Tương tác này có thể là từ việc hiển thị bản đồ cho đến việc quản lý các MapService trên Server. Trong ArcGIS Server, tầng này sử dụng ArcXML như một ngôn ngữ để giao tiếp với các thành phần khác bên trong hệ thống qua giao thức HTTP. Điểm quan trọng của ArcXML trong ArcGIS Server là bất kỳ một ứng dụng nào mà có thể đọc hay ghi XML tức là hiểu được ngôn ngữ này thì đều có thể là một Clent đối với ArcGIS Server. Tầng Clent này sử dụng một số ứng dụng sau: Author, Administrator, Designer. + Author: là một công cụ cho phép ta đăng ký một bản đồ cho Web site. Công cụ này giúp ta tạo một file cấu hình bản đồ, file này sau đó được Administrator dùng để tạo một MapService. Dữ liệu đầu vào của Author để xây dựng file cấu hình được lấy từ trong cở sở dữ liệu hay từ các định dạng file mà ArcGIS Server hỗ trợ. Xét về tính năng, Author trong ArcGIS Server có thể được so sánh với ArcMap trong hệ ArcGIS Desktop. Tức là với Author ta có thể chỉnh sửa các dữ liệu bản đồ, thay đổi thuộc tính của các đối tượng, thực hiện truy vấy, thêm các ký hiệu chú thích, thiết lập tỷ lệ và xuất bản bản đồ. + Administrator: cũng như Author, Administrator là một ứng dụng Java. Mục đích của Administrator là quản lý các MapService, Virtual Servers. Tạo và quản lý các site ArcGIS Server là một chức năng dễ dàng được thực hiện bởi công cụ này. + Designer: là một công cụ đặc biệt cho phép tạo ra các Web site (ArcGIS Server Viewers) có thể thực thi ngay mà không cần một sự cấu hình nào. Tuy vậy trước khi tạo ra các Web site chúng ta phải đăng ký một MapService tức là ta phải kết hợp với các công cụ Author để tạo ra file cấu hình và Administrator để đăng ký file này làm các MapService. Trong quá trình tạo Web site, chúng ta có thể tuỳ chọn đưa vào trang của mình những tính năng Designer cung cấp để phù hợp với yêu cầu của mình. Designer sẽ xuất bản ra ba dạng ArcGIS Server Viewer: HTML, Java Custom và Java Standard. + Manager: là một Web site được thiết kế để ta có thể sử dụng và quản lý một site ArcGIS Server. Manager cũng bao gồm Administrator, Author và Designer. Nói cách khác Manager đã đẩy các ứng dụng này lên môi trường mạng. Để quản lý được site ArcGIS Server ta cần thực hiện các bước sau: - Tạo một file bản đồ bằng Author. - Tạo một MapService nhờ Administrator. - Thiết kế Web site. + HTML và Java Viewer: ArcGIS Server có ba khung nhìn Viewers là: HTML, Java Custom và Java Standard. Trong Viewers này, các chức năng và giao diện được lấy từ một mẫu có sẵn. Vì thế, các Viewers được thực thi như một mẫu hay một điểm bắt đầu, ta có thể chỉnh sửa nội dung để phù hợp với yêu cầu hệ thống. Java Viewers là các Java Applets và đòi hỏi hệ thống phải có máy ảo Java được cài trước đó. HTML Viewers thì sử dụng DHTML và JavaScript để tương tác với MapService. HTML Viewer là một khung đơn giản nhất và bản đồ được tải về từ Server dưới dạng ảnh raster. Java Viewer tải bản đồ cả dưới dạng feature theo mô hình vector và ảnh raster. 4. Tóm tắt mô hình kiến trúc Trong các mục trước, chúng ta đã thấy được chi tiết kiến trúc bên trong của ArcGIS Server, chức năng, nhiệm vụ của từng thành phần cũng như sự kết hợp hoạt động hài hoà giữa các thành phần này. Đứng từ một góc độ phát triển ứng dụng, ArcGIS Server là một hệ thống có kiến trúc 3 tầng: + Tầng trình diễn bao gồm các trang Web phía người sử dụng cho phép truy nhập, hiển thị thông tin và phân tích dữ liệu bản đồ. + Tầng điều khiển bao gồm các thành phần cần thiết để chạy các dịch vụ, xử lý các yêu cầu và phản hồi về phía người sử dụng.Các thành phần này bao gồm Application Server Connectors (Connectors), Application Server và Spatial Server. Tầng điều khiển này tương đương với thành phần Spatial Server (hình 3.5), Middleware (hình 3.6). + Tầng dữ liệu bao gồm các nguồn dữ liệu sử dụng trong ArcGIS Server. Mô tả hoạt động Hình 3.8 Quan hệ giữa các thành phần Khi có yêu cầu từ người dùng (viewer), yêu cầu ngay sau đó được truyển lên Web Server, qua Connector rồi chuyển lên Application Server. Application Server chuyển tiếp các yêu cầu này đến Spatial Server. Chúng ta biết rằng Spatial Server thực chất bao gồm một các Virtual Server như: Image Server, Feature Server. Các yêu cầu sẽ được truyển đến các Server tương ứng nào là tuỳ thuộc vào cấu trúc của từng yêu cầu. Giao tiếp giữa các thành phần được thực hiện qua ArcXML, là một dạng ngôn ngữ dựa trên XML được thiết kế dành cho ArcGIS Server. Cấu trúc của ArcXML bao gồm file cấu hình bản đồ, mô tả bản đồ sẽ được hiển thị như thế nào, danh sách lớp và ký hiệu đồ hoạ. File này giúp cho Application Server biết được phải chuyển yêu cầu đến cho Spatial Server nào. Tất cả các yêu cầu và phản hồi được gửi tới và đi từ Application Server đều phải có định dạng ArcXML. Do đó các Connector đóng vai trò như một bộ biên dich các yêu cầu từ người dùng sang ArcXML. Hình 3.9 Các Connectors của ArcGIS Server ArcGIS Server sử dụng 4 Connectors sau: + ArcGIS Server Servlet Connector là Connector mặc định của ArcGIS Server. Các bộ khung HTML, Java Custom, và Java Standard đều sử dụng Connector này. + ColdFusion Connector làm nhiệm vụ biên dịch các thẻ ColdFusion sang ArcXML trước khi chuyển các yêu cầu này đến Application Server. + ActiveX Connector chuyển đổi mã lệnh ASP sang ArcXML. + Java Connector chuyển đổi mã lệnh JSP sang ArcXML. Qua phân tích chúng ta có thể thấy chính các Connector của ArcGIS Server là thành phần mà lập trình viên có thể viết mã lệnh để tạo ra ứng dụng của mình. Chúng ta có thể sử dụng rất nhiều các ngôn ngữ khác nhau từ các ngôn ngữ kịch bản (ASP, JSP) đến các ngôn ngữ lập trình bậc cao như Visual Basic hay Java. Chính sự chặt chẽ trong kiến trúc và linh hoạt trong phát triển ứng dụng đã làm cho ArcGIS Server của ESRI là một trong những công nghệ WebMap được sử dụng nhiều nhất hiện nay. CHƯƠNG IV PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG THÔNG TIN ĐỊA ĐIỂM CÁC CÂY XĂNG THUỘC ĐỊA BÀN HÀ NỘI I. VỊ TRÍ, MỤC ĐÍCH VÀ YÊU CẦU CỦA HỆ THỐNG Việc ứng dụng công nghệ thông tin trong công tác quản lý thông tin tại Việt Nam hiện nay đang là nhu cầu cấp thiết nhằm mục đích hỗ trợ cho công tác quản lý nhà nước cũng như hỗ trợ việc tìm kiếm thông tin. Tại một số nước tiên tiến, hệ thống thông tin địa điểm các cây xăng đã được thiết lập sử dụng hệ thống máy tính. Tùy theo điều kiện của từng quốc gia mà hệ thống có thể xây dựng dưới dạng tập trung hoặc phân tán. Hệ thống bao gồm các mối liên kết chặt chẽ với các cơ quan liên quan như cơ quan đăng ký, ngân hàng... phục vụ nhiều đối tượng sử dụng. Hệ thống bao gồm thông tin chi tiết về địa điểm các cây xăng hỗ trợ cho việc tìm kiếm một cách nhanh chóng và chính xác. Mục đích Thông tin địa điểm các cây xăng sau khi đã được lưu trữ có thể phân phối trên mạng Internet sử dụng dịch vụ Web. Hệ thống cung cấp thông tin nhằm thực hiện các mục đích cơ bản sau: + Cung cấp dữ liệu bản đồ trên nền Web. + Cung cấp các chức năng thao tác với bản đồ như phóng to, thu nhỏ, dịch chuyển… + Người sử dụng có thể tìm kiếm thông tin các cây xăng theo những tiêu chí khác nhau, dựa trên hệ thống chỉ tiêu thông tin. + Kết quả tra cứu bao gồm đồng thời văn bản và đồ hoạ. Tra cứu thông tin luôn luôn là hai chiều, từ đồ hoạ tìm ra thông tin thuộc tính và từ thông tin thuộc tính tìm ngược lại đồ hoạ. + Web site có thể sử dụng trong mạng Intranet hoặc trên mạng Internet. Yêu cầu + Hệ thống phải dễ sử dụng, giao diện thân thiện. + Tập trung vào việc xây dựng các chức năng chính mà người sử dụng quan tâm như: hiển thị thông tin, tìm kiếm, kết xuất dữ liệu. + Dữ liệu trình bày phải chính xác và thường xuyên được cập nhật. + Tốc độ sử lý dữ liệu trên Web phải nhanh. Thêm vào đó, thông tin địa lý luôn tồn tại ở hai dạng: văn bản và đồ hoạ. Do đó để để hiển thị được thông tin hai chiều, hệ thống cần tích hợp được hai dạng dữ liệu này. Hơn nữa một điều rất quan trọng khác là việc tìm kiếm thông tin không chỉ trên dữ liệu văn bản mà còn tìm kiếm trên dữ liệu đồ hoạ. Để tìm kiếm trên dữ liệu đồ hoạ, hệ thống cần phải có cách thức cho phép chỉ định trực tiếp một hay nhiều đối tượng trên bản đồ, sau đó tìm kiếm tại hay xung quanh vùng các đối tượng này. Kết quả trả về bao gồm đồng thời các thông tin thuộc tính của đối tượng được tìm thấy (dạng văn bản) và hiển thị các đối tượng này trên bản đồ (dạng đồ hoạ). Điều này chỉ có thể được thực hiện bằng công nghệ GIS. GIS như đã trình bầy trong chương I và II có hai điểm rất mạnh giải quyết được yêu cầu của hệ thống mà các công nghệ cổ điển không làm được. Thứ nhất, cơ sở dữ liệu của GIS là geodatabase có khả năng tích hợp dữ liệu văn bản (thuộc tính) và dữ liệu đồ hoạ (không gian) bên trong một hệ quản trị cơ sở dữ liệu quan hệ. Tất cả các dữ liệu này đều được lưu dưới dạng bảng nên việc thao tác rất quen thuộc. Thứ hai, GIS cung cấp cho ta các phép toán phân tích không gian cơ bản. Các phép toán này giúp ta có thể thao tác với các dữ liệu đồ hoạ một cách dễ dàng. II. PHÂN TÍCH HỆ THỐNG Hệ thống thông tin địa điểm các cây xăng được xây dựng nhằm phục vụ đại bộ phận người tham gia giao thông và một số ít cơ quan chức năng có liên quan tới việc quản lý thông tin các cây xăng. Đối tượng tham gia vào hệ thống bao gồm: + Người dùng bình thường (PublicUser): là những người khách bất kỳ của hệ thống. Họ có quyền sử dụng các chức năng chung như xem thông tin trên bản đồ, phóng to, thu nhỏ bản đồ, thực hiện các thao tác tìm kiếm trên dữ liệu bản đồ và một số các chức năng tiện ích khác. + Quản trị hệ thống (Admin): là những người có quyền cao nhất trong hệ thống. Nhiệm vụ của họ là đảm bảo cho hệ thống vận hành tốt, cập nhật các thông tin về bản đồ và phân quyền người sử dụng. Về chức năng, hệ thống bao gồm các khối chức năng lớn sau: + Cập nhật thông tin: thực hiện việc cập nhật các đối tượng đồ hoạ trên bản đồ (sử dụng ArcMap) và các đối tượng thuộc tính. + Thao tác với bản đồ: gồm các chức năng cơ bản như hiển thị bản đồ, phóng to, thu nhỏ, dịch chuyển, chọn các đối tượng trên bản đồ. + Tra cứu thông tin: thực hiện việc tìm kiếm các đối tượng thông qua các điều kiện đã đặt ra. Các điều kiện ở đây có thể là đồ hoạ hoặc văn bản, hoặc kết hợp cả đồ hoạ và văn bản. Kết quả tìm kiếm bao giờ cũng ở dạng đồ hoạ và văn bản. 1. Thông tin vào ra của hệ thống Luồng thông tin vào + Thông tin về cây xăng (ID, Name, Street, District, Company, Leader...). + Thông tin về nhân viên (ID, Name, Birth_date, Sex, Address, Telephone...). + Thông tin về doanh thu (Month, Year, Petrol_station...). + Thông tin về đường giao thông. + Thông tin về quận huyện. Luồng thông tin ra + Hình ảnh thể hiện vị trí của đối tượng trên bản đồ. + Các bảng dữ liệu thể hiện thông tin được cập nhật. + Các thông tin tìm kiếm. 2. Biểu đồ phân cấp chức năng QUẢN LÝ THÔNG TIN ĐỊA ĐIỂM CÂY XĂNG Cập nhật Tìm kiếm Cập nhật cây xăng Cập nhật nhân viên Cập nhật doanh thu của cây xăng Di chuyển Nhìn toàn cảnh Xem thông tin Đo đạc Phóng to bằng kính lúp Đưa ra khung nhìn Chuyển hướng Bật/tắt lớp Phóng tới đối tượng Tìm kiếm cây xăng Tìm kiếm đường phố Tìm kiếm quận huyện Tìm kiếm nhân viên Thao tác với bản đồ Phóng to Thu nhỏ Tìm kiếm doanh thu của cây xăng Hình 4.1 Biểu đồ phân cấp chức năng 3. Biểu đồ luồng dữ liệu Để xác định được yêu cầu của công việc, ta cần phải phân tích biểu đồ luồng dữ liệu. Biểu đồ luồng dữ liệu nêu ra một mô hình hệ thống thông tin chuyển vận qua các quá trình hoặc các chức năng khác nhau. Điều quan trọng là phải có sẵn các thông tin vào và biết được yêu cầu của thông tin ra trước khi chọn thực hiện một quá trình. Các thành phần của biểu đồ luồng dữ liệu + Các chức năng xử lý: thực hiện một quá trình nào đó. Chức năng quan trọng trong biểu đồ luồng dữ liệu là biến đổi thông tin đầu vào theo một cách nào đó. + Tác nhân ngoài: là một người hay một nhóm người bên ngoài lĩnh vực nghiên cứu của hệ thống nhưng trao đổi thông tin với hệ thống. + Tác nhân trong: là một chức năng hay một quán trình bên trong hệ thống được mô tả ở trang khác của biểu đồ nhưng có trao đổi thông tin với hệ thống. + Luồng dữ liệu: là luồng thông tin vào ra của một quá trình hoặc một chức năng xử lý. Hướng mũi tên là hướng của luồng thông tin. + Kho dữ liệu: là luồng thông tin được lưu trong một khoảng thời gian để có một hoặc nhiều chức năng truy cập vào, chúng có thể là tập dữ liệu được lưu trữ trong máy tính. QUẢN LÝ THÔNG TIN ĐỊA ĐIỂM CÂY XĂNG NGƯỜI QUẢN TRỊ HỆ THỐNG yêu cầu kết quả Biểu đồ dữ liệu mức ngữ cảnh Hình 4.2 Biểu đồ luồng dữ liệu mức ngữ cảnh kho dữ liệu dữ liệu vào dữ liệu ra thông tin đối tượng thông tin vị trí đối tượng Thao tác với bản đồ (3) NGƯỜI QUẢN TRỊ HỆ THỐNG yêu cầu tương tác với bản đồ kết quả cập nhật Tìm kiếm (2) Cập nhật (1) thông tin tìm kiếm kết quả tìm kiếm dữ liệu ra dữ liệu ra Biểu đồ dữ liệu mức đỉnh Hình 4.2 Biểu đồ luồng dữ liệu mức đỉnh NGƯỜI QUẢN TRỊ HỆ THỐNG Cập nhật cây xăng Cập nhật nhân viên kho dữ liệu dữ liệu vào dữ liệu vào dữ liệu ra dữ liệu ra dữ liệu vào dữ liệu ra thông tin cây xăng thông tin nhân viên kết quả cập nhật kết quả cập nhật kết quả cập nhật thông tin doanh thu Cập nhật doanh thu của cây xăng Biểu đồ dữ liệu mức dưới đỉnh (chức năng 1) Hình 4.3 Biểu đồ luồng dữ liệu mức dưới đỉnh - Chức năng cập nhật NGƯỜI QUẢN TRỊ HỆ THỐNG Tìm kiếm đường phố Tìm kiếm quận huyện kho dữ liệu dữ liệu ra dữ liệu ra dữ liệu ra dữ liệu ra dữ liệu ra kết quả tìm kiếm thông tin quận huyện kết quả tìm kiếm kết quả tìm kiếm Tìm kiếm nhân viên thông tin đường phố thông tin nhân viên Tìm kiếm cây xăng thông tin cây xăng thông tin doanh thu Tìm kiếm doanh thu của cây xăng Biểu đồ dữ liệu mức dưới đỉnh (chức năng 2) Hình 4.4 Biểu đồ luồng dữ liệu mức dưới đỉnh - Chức năng tìm kiếm kho dữ liệu dữ liệu ra kho dữ liệu Đưa ra khung nhìn Phóng to bằng kính lúp NGƯỜI QUẢN TRỊ HỆ THỐNG Đo đạc Xem thông tin Bật/tắt lớp Chuyển hướng Phóng to Nhìn toàn cảnh Phóng tới đối tượng Di chuyển dữ liệu ra dữ liệu ra kho dữ liệu kho dữ liệu dữ liệu ra dữ liệu ra dữ liệu ra dữ liệu ra dữ liệu ra dữ liệu ra yêu cầu tương tác với bản đồ yêu cầu tương tác với bản đồ yêu cầu tương tác với bản đồ yêu cầu tương tác với bản đồ yêu cầu tương tác với bản đồ yêu cầu tương tác với bản đồ thông tin vị trí đối tượng thông tin vị trí đối tượng thông tin vị trí đối tượng thông tin vị trí đối tượng thông tin vị trí đối tượng thông tin vị trí đối tượng Biểu đồ dữ liệu mức dưới đỉnh (chức năng 3) Thu nhỏ Hình 4.5 Biểu đồ luồng dữ liệu mức dưới đỉnh - Chức năng thao tác với bản đồ 4. Đặc tả chức năng Do mục đích chính của hệ thống là kết nối với cơ sở dữ liệu geodatabase để thể hiện một cái nhìn trực quan các đối tượng trên bản đồ nên hệ thống đi xâu vào phần trình diễn bản đồ và một chút về lĩnh vực quản lý thông tin. Chủ yếu các chức năng của hệ thống đã được ArcGIS Server hỗ trợ khá đầy đủ và hoàn thiện vì vậy nhiệm vụ chính của tác giả trong việc thiết kế hệ thống là tìm hiểu hoạt động của các chức năng, tích hợp để chúng thực thi một cách linh hoạt. Bên cạnh đó, các chức năng tìm kiếm được tác giả xây dựng nhằm nâng cao tính ứng dụng cho hệ thống. Chức năng quản lý nhân sự và doanh thu cũng được thêm vào nhằm hỗ trợ cho một số ít các cơ quan chức năng có liên quan đến quá trình quản lý thông tin của các cây xăng. + Cập nhật thông tin: trong trường hợp thêm, sửa hoặc xoá cây xăng… thông tin bản đồ cần phải cập nhật. Do mục đích chính của hệ thống là cho người sử dụng xem và tra cứu thông tin, tránh việc người sử dụng thay đổi làm sai lệch thông tin hoặc có thể dẫn đến hỏng cơ sở dữ liệu nên chức năng cập nhật thông tin đã được hạn chế ngay trên hệ thống. Chức năng này do người quản trị hệ thống sử dụng thông qua phần mềm chuyên biệt hỗ trợ khả năng cập nhật trên cơ sở dữ liệu geodatabase. + Phóng to: là chức năng được hỗ trợ bởi ArcGIS Server. Phóng to bản đồ hay làm tăng tỷ lệ của bản đồ là một chức năng cơ bản giúp ta nhìn rõ đối tượng. Để thực hiện thao tác này người dùng có thể tích chuột lên bản đồ, hệ thống sẽ phóng to bản đồ tại điểm tích chuột đồng thời đưa điểm đó về tâm của khung nhìn, hoặc người dùng có thể kéo thả chuột tạo thành một hình chữ nhật, hệ thống sẽ phóng to phần bản đồ trong hình chữ nhật đó. Phương thức hoạt động của chức năng này được mô tả chi tiết trong user case sau. Use case được bắt đầu khi người dùng có nhu cầu xem xét kỹ một vùng xung quanh một đối tượng cụ thể trên bản đồ. Biểu đồ tuần tự Kịch bản sử dụng - Người dùng lựa chọn chức năng và chỉ định điểm hay vùng cần phóng to. - Hệ thống xây dựng lại bản đồ, thiết lập trạng thái hiện tại cho bản đồ. - Thực hiện việc phóng to bản đồ tại vị trí đã được xác định. - Hệ thống sau đó lấy ảnh của bản đồ và gửi về phía người dùng. - Hệ thống lưu lại trạng thái hiện tại của bản đồ để áp dụng cho những thao tác sau đó của người dùng. Trong biểu đồ trên có hai thao tác phức tạp: contructMap() và processPostBack() làm đầu vào và đầu ra của quá trình xử lý trên server. Chúng xuất hiện trong tất các các thao tác của hệ thống. Ta mô tả cách thức hoạt động của chúng bằng biểu đồ sau: Mỗi lần có yêu cầu gửi lên server ta đều khởi tạo lại bản đồ (thiết lập truy vấn lên ArcGIS Server để lấy ảnh bản đồ, định lại kích thước và mầu sắc). Sau thao tác này, ta phải lấy lại trạng thái hiện tại của bản đồ (trạng thái hiện tại đã được lưu vào trong các biến). Đầu tiên là thiết lập lại khung nhìn và sau đó phải giữ lại tất cả các xử lý đồ hoạ đã được thiết lập từ trước. Biểu đồ hoạt động cho phương thức contructMap() Biểu đồ hoạt động cho phương thức processPostBback() Sau các thao tác xử lý phương thức này bắt đầu bằng việc lấy ảnh của bản đồ được trả lại từ server của ArcGIS Server. Tiếp theo, lưu trạng thái mới của bản đồ vào các biến và cuối cùng là gửi kết quả xử lý về phía trình duyệt. + Thu nhỏ: là chức năng được hỗ trợ bởi ArcGIS Server. Ngược với chức năng phóng to, chức năng thu nhỏ làm giảm tỷ lệ bản đồ. Phương thức hoạt động của chức năng này được mô tả chi tiết trong user case sau. Use case này hoạt ngược lại hoàn toàn với use case phóng to. Use case được sử dụng khi người dùng muốn thu nhỏ bản đồ. Biểu đồ tuần tự Kịch bản sử dụng - Người dùng lựa chọn chức năng và chỉ định điểm hay vùng cần thu nhỏ. - Hệ thống sẽ tạo lại bản đồ, thiết lập trạng thái hiện tại và thực hiện việc thu nhỏ bản đồ tại vị trí đã được xác định. - Hệ thống sau đó lấy ảnh của bản đồ và gửi về phía người dùng. - Hệ thống lưu lại trạng thái hiện tại của bản đồ để áp dụng cho những thao tác sau đó của người dùng + Di chuyển: cũng là một trong những chức năng được hỗ trợ bởi ArcGIS Server. Di chuyển thực chất là xác định lại tâm của bản đồ trên khung nhìn. Người dùng có thể tích chuột tại một điểm mà điểm đó sẽ sau đó sẽ là tâm mới của bản đồ, hoặc kéo thả chuột để di chuyển bản đồ đến nơi mong muốn. Phương thức hoạt động của chức năng này được mô tả chi tiết trong user case sau. Use case được sử dụng khi người dùng có nhu cầu xem được các phần nằm tại các góc của khung chứa bản đồ. Để dịch chuyển người dùng có thể tích chuột lên ảnh bản đồ hay dùng chuột kéo bản đồ ra vị trí mong muốn. Biểu đồ tuần tự Kịch bản sử dụng - Người dùng lựa chọn chức năng và kéo bản đồ đến vị trí mong muốn. - Hệ thống sẽ thiết lập trạng thái hiện tại và thực hiện việc dịch chuyển bản đồ đến vị trí đã được xác định. - Hệ thống sau đó lấy ảnh của bản đồ và gửi về phía người dùng. - Hệ thống lưu lại trạng thái hiện tại của bản đồ để áp dụng cho những thao tác sau đó của người dùng. + Nhìn toàn cảnh: là chức năng được hỗ trợ bởi ArcGIS Server. Toàn cảnh là chức năng đưa toàn bộ bản đồ vào khung nhìn. Phương thức hoạt động của chức năng này được mô tả chi tiết trong user case sau. Use case được sử dụng khi người dùng muốn lấy lại trạng thái ban đầu của bản đồ. Biểu đồ tuần tự Kịch bản sử dụng - Người dùng lựa chọn chức năng xem toàn cảnh. - Hệ thống sẽ thực hiện thao tác bằng cách gửi truy vấn lên ArcGIS Server. - Hệ thống sau đó lấy ảnh của bản đồ và gửi về phía người dùng. - Hệ thống lưu lại trạng thái hiện tại của bản đồ để áp dụng cho những thao tác sau đó của người dùng. + Xem thông tin: là chức năng được hỗ trợ bởi ArcGIS Server. Một đối tượng đồ hoạ luôn có thông tin thuộc tính đi kèm. Chức năng này cho phép xác định thông tin thuộc tính bằng cách tích chuột lên đối tượng đồ hoạ trên bản đồ. Phương thức hoạt động của chức năng này được mô tả chi tiết trong user case sau. Biểu đồ tuần tự Kịch bản sử dụng - Người dùng lựa chọn chức năng và dùng chuột để chọn đối tượng. - Hệ thống bắt đầu với việc khởi tạo bản đồ và thiết lập trang hiện tại. - Hệ thống lọc ra đối tượng dựa và vị trí tích chuột. - Hệ thống lấy ra thông tin thuộc tính của đối tượng và hiển thị về phía người dùng. Trong trường hợp người dùng muốn xem cận cảnh đối tượng bằng cách tích chuột lên kết quả vừa lấy về, hệ thống sẽ thực hiện thao tác của use case “Phóng tới đối tượng”. + Đo đạc: là chức năng được hỗ trợ bởi ArcGIS Server. Chức năng cho phép người dùng xác định toạ độ của một điểm trên bản đồ hoặc đo khoảng cách giữa hai hay nhiều điểm bất kỳ trên bản đồ, khoảng cách của từng đoạn sẽ được cộng lại thành tổng khoảng cách và được cập nhật liên tục hoặc tính diện tích của một vùng trên bản đồ.Phương thức hoạt động của chức năng này được mô tả chi tiết trong user case sau. Use case được sử dụng khi người dùng muốn đo khoảng cách giữa hai điểm bất kỳ trên bản đồ và tính tổng các khoảng cách vừa đo hoặc đo diện tích một vùng nào đó. Biểu đồ tuần tự Kịch bản sử dụng - Người dùng lựa chọn chức năng và tích chuột lên bản đồ. - Hệ thống sẽ xác đinh toạ độ tích chuột, hiển thị form Measure (nếu là lần tích chuột đầu tiên) và cập nhật tổng khoảng cách. - Người dùng di chuột đến vị trí cần đo tiếp theo. - Hệ thống sẽ lấy vị trí chuột tại từng thời điểm, đồng thời cập nhật độ dài của đoạn thẳng tính từ vị trí tích chuột đầu tiên đến vị trí hiện tại. - Để kết thúc thao tác, người dùng tích đúp chuột trên bản đồ. - Hệ thống sẽ thiết lập lại các thông số cho lần đo tiếp theo. + Phóng to bằng kính lúp: là chức năng được hỗ trợ bởi ArcGIS Server. Chức năng cho phép người dùng phóng to một vùng trên bản đồ theo tỷ lệ chọn trước. + Đưa ra khung nhìn: là chức năng được hỗ trợ bởi ArcGIS Server. Đưa ra vị trí của khung nhìn hiện tại so với toàn bộ bản đồ. + Chuyển hướng: là chức năng được hỗ trợ bởi ArcGIS Server. Cho phép người dùng di chuyển khung nhìn theo các phương xác định. + Bật/tắt lớp: là chức năng được hỗ trợ bởi ArcGIS Server. Bản đồ gồm nhiều lớp chồng lên nhau. Tuy nhiên, có thể có những lớp mà ta không quan tâm đến và ta muốn nó không hiển thị trên bản đồ, ta có thể tắt lớp đó đi. Phương thức hoạt động của chức năng này được mô tả chi tiết trong user case sau. Use case được thực hiện sau khi người dùng hiển thị được các lớp trên bản đồ. Biểu đồ tuần tự Kịch bản sử dụng - Người dùng chọn các lớp cần “bật” hoặc “tắt” trên Form thông qua việc tích vào hộp checkbox. - Hệ thống sau đó sẽ lấy thông tin này, thực hiện dựng lại bản đồ và xử lý “bật, tắt” lớp. - Sau đó ảnh của bản đồ sẽ được hệ thống gửi về trình duyệt. + Phóng tới đối tượng: là chức năng được hỗ trợ bởi ArcGIS Server. Chức năng thực hiện nhiệm vụ phóng to đến một đối tượng cụ thể. Thường thì chức năng này được dùng “mở rộng” của một số chức năng khác như chức năng tìm kiếm. Khi tìm thấy các cây xăng theo một số điều kiện đặt ra, người dùng muốn xem kỹ từng cây xăng này, lúc này hệ thống sẽ phóng to toàn bộ khung nhìn của cây xăng. Phương thức hoạt động của chức năng này được mô tả chi tiết trong user case sau. Use case này được thực hiện khi người dùng muốn xem cận cảnh đối tượng mà mình lựa chọn. Việc xem cận cảnh sẽ giúp biết được những đối tượng ở lân cận. Thông thường thì use case này được thực hiện sau các use case “Search” và “Identify”. Biểu đồ tuần tự Kịch bản sử dụng - Người dùng lựa chọn chức năng xem cận cảnh đối tượng và tích chuột lên đối tựợng cần xem. - Hệ thống lấy toạ độ của điểm vừa chọn, lấy lớp bản đồ đang được tác động. - Hệ thống sau đó thực hiện việc lọc ra đối tượng dựa vào toạ độ tích chuột, phóng to đối tượng và đổi mầu của đối tượng đó. + Tìm kiếm: tìm kiếm thông tin là chức năng được sử dụng nhiều nhất trong các chức năng của hệ thống. Kết quả tìm kiếm sẽ bao gồm phần văn bản mô tả đối tượng và phần đồ hoạ để hiển thị đối tượng. Một số chức năng tìm kiếm: - Tìm kiếm cây xăng: thực hiện chức năng tìm kiếm cây xăng theo tất cả các trường thoả mãn điều kiện tìm kiếm. - Tìm kiếm đường phố: thực hiện chức năng tìm kiếm đường phố theo tất cả các trường thoả mãn điều kiện tìm kiếm. - Tìm kiếm quận huyện: thực hiện chức năng tìm kiếm quận huyện theo tất cả các trường thoả mãn điều kiện tìm kiếm. - Tìm kiếm cây xăng theo tên: thực hiện chức năng tìm kiếm cây xăng theo tên chính xác của cây xăng. - Tìm kiếm cây xăng theo đường phố: thực hiện chức năng tìm kiếm cây xăng theo tên chính xác của đường phố đặt cây xăng. - Tìm kiếm cây xăng theo quận huyện: thực hiện chức năng tìm kiếm cây xăng theo tên chính xác của quận huyện có cây xăng. - Tìm kiếm cây xăng theo công ty: thực hiện chức năng tìm kiếm cây xăng theo tên chính xác của công ty chủ quản cây xăng. + Cập nhật nhân viên: thực hiện chức năng thêm, sửa và xoá hồ sơ nhân viên của các cây xăng bao gồm các trường: ID, Name, Birth_date... + Tìm kiếm nhân viên: thực hiện chức năng tìm kiếm nhân viên theo một số tiêu chí tìm kiếm. + Cập nhật doanh thu của cây xăng: thực hiện chức năng thêm, sửa và xoá danh mục doanh thu của các cây xăng bao gồm các trường: Month, Year, Petrol_station... + Tìm kiếm doanh thu của cây xăng: thực hiện chức năng tra cứu thông tin về doanh thu trong tháng của các cây xăng. III. THIẾT KẾ HỆ THỐNG 1. Thiết kế bảng trong cơ sở dữ liệu + Bảng DuongGiaoThong: mô tả đường giao thông. Tên cột Kiểu dữ liệu Độ dài Mô tả ID_Street int 7 Mã đường TEN_DUONG nvarchar 10 Tên đường Shape_Length float 8 Chiều dài LOAI_DUONG int 5 Loại đường Khoá chính: ID_Street. + Bảng QuanHuyen: mô tả quận huyện. Tên cột Kiểu dữ liệu Độ dài Mô tả ID_District int 7 Mã quận huyện Name nvarchar 10 Tên quận huyện Shape_Length float 8 Diện tích Khoá chính: ID_District. + Bảng CayXang: mô tả thông tin về các cây xăng. Tên cột Kiểu dữ liệu Độ dài Mô tả ID_Petrol_Station int 7 Mã cây xăng Name nvarchar 10 Tên cây xăng ID_Street nvarchar 10 Đường phố có cây xăng ID_District nvarchar 10 Quận có cây xăng Company nvarchar 16 Công ty chủ quản cây xăng Leader nvarchar 10 Người quản lý cây xăng A95 int 5 Giá xăng A95 A92 int 5 Giá xăng A92 A83 int 5 Giá xăng A83 Diezel_25s int 5 Giá dầu Diezel 0,25% lưu huỳnh Diezel_50s int 5 Giá dầu Diezel 0,50% lưu huỳnh Mazut int 5 Giá dầu Mazut Bao_On int 5 Giá dầu Bảo Ôn Khoá chính: ID_Petrol_Station. + Bảng NhanVien: mô tả thông tin về nhân viên của các cây xăng. Tên cột Kiểu dữ liệu Độ dài Mô tả ID int 7 Mã số nhân viên Name nvarchar 20 Tên nhân viên Birth_Date datetime Ngày sinh Sex char 2 Giới tính Address nvarchar 50 Địa chỉ Telephone char 10 Điện thoại cố định Mobile char 10 Điện thoại di động ID_Petrol_Station nvarchar 10 Cây xăng đang làm việc Khoá chính: ID. + Bảng DoanhThu: mô tả thông tin về doanh thu của các cây xăng. Tên cột Kiểu dữ liệu Độ dài Mô tả Month int 2 Tháng Year int 4 Năm ID_Petrol_Station nvarchar 10 Cây xăng có doanh thu Sales int 20 Doanh thu trong tháng Khoá chính: Month, Year, ID_Petrol_Station. 2. Mô hình thực thể quan hệ Hình 4.6 Mô hình thực thể quan hệ 3. Một số giao diện của web site Hình 4.7 Giao diện chính của web site Hình 4.8 Chức năng tìm kiếm cây xăng Hình 4.9 Chức năng kính lúp Hình 4.10 Chức năng thước đo Hình 4.11 Chức năng thông tin Hình 4.12 Chức năng bật/tắt lớp (sau khi đã tắt lớp cây xăng) Hình 4.13 Danh sách nhân viên của các cây xăng Hình 4.14 Danh sách doanh thu của các cây xăng KẾT LUẬN Hệ thống thông tin địa lý - GIS là một lĩnh vực nghiên cứu và ứng dụng mới của Công nghệ thông tin, nó hình thành và phát triển trong môi trường công nghệ thông tin đang có nhiều phát triển nhanh chóng. Việc xây dựng các ứng dụng trên nền GIS đang được quan tâm cho các bài toán thực tế, đặc biệt là các ứng dụng trong lĩnh vực quản lý thông tin phục vụ cho việc tìm kiếm một cách nhanh chóng và chính xác. Đề tài “Quản lý hệ thống cây xăng ứng dụng công nghệ GIS” đã cố gắng tiếp cận với lĩnh vực này. Vấn đề được quan tâm nghiên cứu là tìm hiểu cơ sở địa lý nơi tích hợp dữ liệu thuộc tính và dữ liệu không gian và khai thác các phép phân tích không gian cơ bản của GIS để phục vụ cho chức năng tra cứu thông tin. Những kết quả đã đạt được: + Hiển thị dữ liệu bản đồ trên nền Web. + Thực hiện tương tác với các đối tượng đồ hoạ trên bản đồ. + Cập nhật được thông tin thuộc tính của các đối tượng có liên quan như nhân viên và doanh thu. Đề tài này mới chỉ là bước đầu tiếp cận vào lĩnh vực GIS, còn rất nhiều vấn đề thiết thực có thể ứng dụng để phát triển đề tài. Mặc dù kết quả thu được còn khá khiếm tốn nhưng đề tài này sẽ là nền tảng cho em có thể bước tiếp trong hướng nghiên cứu các vấn đề mới trong lĩnh vực GIS. Em xin bày tỏ lòng cảm ơn đến thầy PGS.TS. Nguyễn Cảnh Lương, người đã trực tiếp hướng dẫn em trong quá trình làm báo cáo thực tập. Em cũng xin chân thành cảm ơn thầy PGS.TS. Phan Trung Huy và các cán bộ phòng GIS thuộc công ty FPT - IS đã giúp đỡ em hoàn thành bản báo cáo thực tập tốt nghiệp này. Em xin chân thành cảm ơn! TÀI LIỆU THAM KHẢO [1]. Bob Booth and Andy Metchell, Getting started with ArcGIS, ESRI Press, 2000. [2]. Mychael N.Demers, Fundamentals of Geographic Information System, 2nd Edition, Wiley Text Books, 2002. [3]. Philppe Rgaux, Michel Scholl, Spatial Databases with Application to GIS, Morgan Kaufmann, 2001. [4]. Stan Morain and Shirley Lopez Baros, Raster Imagery in Geographic Information System, OnWorld Press. [5]. Principles of Geographic Information System, ITC cor module, Textbox. [6]. Đặng Văn Đức, Hệ thông tin địa lý, Nhà xuất bản khoa học và Kỹ thuật, 2001. [7]. [8]. [9]. [10]. [11]. http:///www.ciren.gov.vn/ [12]. [13]. [14]. [15].

Các file đính kèm theo tài liệu này:

  • docQuản lý hệ thống cây xăng ứng dụng công nghệ GIS.doc