Phân tích không gian trong một hệ thống WEBGIS

pdf 7 trang hapham 60
Bạn đang xem tài liệu "Phân tích không gian trong một hệ thống WEBGIS", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfphan_tich_khong_gian_trong_mot_he_thong_webgis.pdf

Nội dung text: Phân tích không gian trong một hệ thống WEBGIS

  1. TẠP CHÍ PHÁT TRIỂN KH&CN, TẬP 19, SỐ K4-2016 Phân tích khơng gian trong một hệ thống WEBGIS Trần Trọng Đức Trường Đại học Bách Khoa, ĐHQG-TPHCM (Bản thảo nhận ngày 04 tháng 07 năm 2016, hồn chỉnh sửa chữa ngày 22 tháng 08 năm 2016) TĨM TẮT Trong phần lớn các ứng dụng WebGIS, WPS của Geoserver, cũng như sử dụng thư viện tương tác chú trọng chủ yếu vào việc biên tập JSTS để thực hiện các phân tích khơng gian. hoặc tra xét thơng tin liên quan đến các phần tử Một hệ thống WebGIS - dựa trên các sản phẩm trên bản đồ. Vẫn cịn một khía cạnh khác chưa mã nguồn mở Geoserver, và OpenLayers - đã được chú trọng khai thác đĩ là việc cho phép được xây dựng và được sử dụng để thực hiện người sử dụng thực hiện các phân tích khơng minh họa hoạt động phân tích khơng gian trong gian. Thực hiện phân tích khơng gian cĩ thể tìm kiếm các đối tượng khơng gian trong mối được thực hiện phía server, sử dụng WPS (Web quan hệ với đối tượng khơng gian khác. Kết quả Processing Service), hoặc thực hiện phía Client thực nghiệm cho thấy việc sử dụng WPS hoặc sử dụng JSTS (JavaScript Topology Suite). Như JSTS để thực hiện phân tích khơng gian qua là một đĩng gĩp thêm vào trong lĩnh vực này, internet là hồn tồn cĩ thể thực hiện được. bài báo này trình bày cách thức sử dụng dịch vụ Từ khĩa: GIS, WebGIS, WPS, JSTS, Phân tích khơng gian 1. ĐẶT VẤN ĐỀ chưa cĩ nhiều ứng dụng, cĩ thể do tính chất Việc dễ dàng truy cập vào internet mở ra phức tạp của việc phân tích dữ liệu khơng gian những cơ hội cho việc chia sẻ thơng tin về các qua mạng internet. Thực hiện phân tích khơng đối tượng địa lý (thửa đất, con đường, tuyến cấp gian cĩ thể được thực hiện ở phía client hay ở nước, thốt nước, ) phân bố trên một bề mặt phía server. Việc chọn phương pháp thực hiện địa lý rộng. Do vậy, đã cĩ nhiều phần mềm liên nào sẽ lệ thuộc vào độ phức tạp của phép phân quan đến phục vụ bản đồ và các dịch vụ bản đồ tích khơng gian, khả năng xử lý của máy tính tại trên Web được các cơng ty và tổ chức trên thế client và server, cũng như định dạng bản đồ giới đầu tư phát triển. Chính vì điều này nhiều được thể hiện là ở dạng WMS hoặc WFS. Trong cơ quan đơn vị trong nước đã bắt đầu tiếp cận trường hợp dữ liệu bản đồ được thể hiện chủ yếu với cơng nghệ thể hiện bản đồ trên Web. Tuy ở dạng WMS, phân tích khơng gian nên tiến nhiên, các đơn vị, tổ chức ở Việt Nam hiện chỉ hành tại Map Server. Cho đến thời gian gần đây, khai thác các phần mềm WebGIS ở khía cạnh việc xử lý dữ liệu khơng gian tại Map Server đã hiển thị thơng tin dạng bản đồ và thực hiện một trở nên dễ dàng hơn với sự hỗ trợ của Web số truy vấn thơng tin đơn giản. Một khía cạnh Processing Service (WPS), một chuẩn về xử lý quan trọng khác là phân tích khơng gian thì vẫn dữ liệu khơng gian được phát triển bởi tổ chức Trang 75
  2. SCIENCE & TECHNOLOGY DEVELOPMENT, Vol. 19, No. K4-2016 Open Geospatial Consortium (OGC). OGC WPS 1.0.0 được cơng bố ngày 08/06/2007 đã WPS định nghĩa một cơ chế, dựa vào đĩ một mở ra khả năng cung cấp, trao đổi và thực hiện ứng dụng ở máy Client cĩ thể gửi một yêu cầu cơng việc xử lý khơng gian thơng qua internet. xử lý khơng gian đến máy Server [7]. Trên thế Đặc tả WPS định nghĩa 3 hoạt động bắt buộc giới đã cĩ nhiều nghiên cứu cơ bản về xử lý dữ thực hiện bởi một WPS server, cụ thể là liệu khơng gian sử dụng dịch vụ WPS [6, 9]. GetCapabilities, DescribeProcess và Execute. Bên cạnh đĩ cịn cĩ các nghiên cứu mở rộng khả Khi sử dụng WPS, người sử dụng cĩ thể đưa ra năng của dịch vụ geoprocessing như tái sử dụng yêu cầu GetCapabilities để được cung cấp thơng các cơng cụ xử lý đã cĩ từ các phần mềm tin về các hoạt động xử lý (process) nào cĩ thể GRASS, SEXTANTE hoặc kết nối các dịch vụ cĩ. Để cĩ thơng tin chi tiết về yêu cầu dữ liệu xử lý riêng lẻ thành chuỗi dịch vụ để thực hiện nhập và dữ liệu xuất của một WPS process cụ các xử lý phức tạp hơn [2, 10]. Hiện nay, một số thể, người sử dụng cĩ thể đưa ra yêu cầu dự án mã nguồn mở phát triển thành cơng, cĩ DescribeProcess tới WPS server. Việc thực hiện cung cấp dịch vụ WPS ở phía server, ví dụ một WPS process xử lý khơng gian cụ thể chỉ Deegree WPS [4], GeoServer WPS [5], và 520 được tiến hành khi một yêu cầu Execute được North WPS [11]. gửi đến WPS với tất cả các thơng số cần thiết Trong trường hợp dữ liệu bản đồ được thể như tên của phép xử lý WPS và các dữ liệu cần hiện chủ yếu ở dạng WFS, phân tích khơng gian được xử lý. nên tiến hành tại Client. Thực hiện phân tích Trong nghiên cứu này WPS Server được sử khơng gian tại client cĩ thể được thực hiện với dụng là module mở rộng WPS của Geoserver. sự hỗ trợ của JavaScript Topology Suit (JSTS) Module này cung cấp cho người dùng một số [3]. JSTS là một thư viện JavaScript của các hoạt động xử lý khơng gian từ thư viện của JTS hàm khơng gian trong xử lý hình học phù hợp Topology Suite như tạo vùng đệm, tính giao với mơ tả “Simple Feature Specification for giữa các hình thể, đơn giản hĩa hình thể, Để SQL” được cơng bố bởi tổ chức Open hỗ trợ cho việc thực hiện một hoạt động WPS từ Geospatial Consortium. JSTS được viết lại một một ứng dụng web, các thư viện web API được phần dựa vào thư viện nổi tiếng JTS nền Java. cung cấp đến cho người sử dụng. Ví dụ, để làm Trong nghiên cứu này, tác giả minh họa cách việc với WPS trong OpenLayers, OpenLayers thức sử dụng cả hai Geoserver WPS, và JSTS cung cấp OpenLayers.WPSClient. Khi đối tượng trong bài tốn tìm kiếm các đối tượng trong mối này được khởi tạo để thực hiện một hoạt động quan hệ khơng gian với các đối tượng khác xử lý khơng gian, người sử dụng cung cấp URL trong một hệ thống WebGIS. của WPS server và cung cấp các thơng số cần 2. CÁCH THỨC TIẾN HÀNH PHÂN TÍCH thiết như đã mơ tả bởi DescribeProcess đến KHƠNG GIAN TRÊN WEBGIS WPS server. Hoạt động phân tích khơng gian sẽ được tiến hành ở server, và kết quả được trả trở Như đã trình bày ở trên, thực hiện phân tích về cho client. Thơng tin chi tiết về cách thức khơng gian cĩ thể tiến hành ở phía client hoặc ở phía server. thực hiện sẽ được mơ tả ở phần ứng dụng. 2.1 Thực hiện phân tích khơng gian ở server 2.2 Thực hiện phân tích khơng gian ở Client Vào ngày 13/07/2005, OGC cơng bố đặc tả Thực hiện phân tích khơng gian ở phía dịch vụ Web Processing Service (WPS) hồn client muốn nĩi rằng tất cả các hoạt động xử lý chỉnh đầu tiên - phiên bản 0.4.0 và phiên bản khơng gian xảy ra ở máy tính của client. Các Trang 76
  3. TẠP CHÍ PHÁT TRIỂN KH&CN, TẬP 19, SỐ K4-2016 ứng dụng phía client được thực hiện hầu như nhằm tăng tính linh động cho web cũng như chủ yếu dùng JavaScript. Đương nhiên, vẫn phải tăng tính tương tác với người duyệt web. Các cĩ các mã HTML và CSS. Để tiến hành một trang Web cĩ liên quan đến bản đồ được viết sử hoạt động phân tích khơng gian nào đĩ, địi hỏi dụng OpenLayers. OpenLayers là một thư viện i) phải cĩ dữ liệu hình thể của đối tượng và ii) JavaScript thuần túy được sử dụng để hiển thị hàm thực hiện hoạt động phân tích khơng gian. bản đồ theo các chuẩn định dạng WMS/WFS Trong hệ thống WebGIS, hình thể của đối tượng trong hầu hết các trình duyệt web hiện hành, được truy xuất từ các lớp dữ liệu WFS. Dữ liệu khơng lệ thuộc vào phía server. Tầng giao dịch WFS được nạp về máy tính của client khi các bao gồm Web Server kết hợp với một ứng dụng lớp dữ liệu này hiển thị trên trang web. Cịn hàm bản đồ bên phía server gọi là Map Server. Trong thực hiện hoạt động phân tích khơng gian sẽ nghiên cứu này GeoSever được sử dụng như là được lấy từ thư viện JSTS, các hàm của JSTS sẽ Map Server. Tầng dữ liệu là nơi lưu trữ các dữ được nạp về máy tính người sử dụng nhờ vào liệu của hệ thống bao gồm dữ liệu khơng gian và các địa chỉ khai báo nơi các tập tin JavaScript dữ liệu thuộc tính liên quan. JSTS được lưu trữ. JSTS hỗ trợ các hàm phân Dữ liệu thử nghiệm bao gồm dữ liệu nền và tích khơng gian như tạo vùng đệm (buffer), lấy dữ liệu chuyên đề về hệ thống thơng tin thốt tâm (centroid), xác định hợp, giao, khác biệt nước được tổ chức thành các lớp dữ liệu và giữa các hình thể, được lưu trong hệ quản trị cơ sở dữ liệu SQL 3. THỰC NGHIỆM PHÂN TÍCH KHƠNG Server 2008 theo mơ hình Geodatabase. Dữ liệu GIAN nền được trích ra từ dữ liệu nền địa hình tỉ lệ Để đánh giá khả năng của việc thực hiện 1/2000 được cung cấp bởi Sở Khoa học cơng phân tích dữ liệu khơng gian thơng qua internet nghệ thành phố Hồ Chí Minh, bao gồm 1 số lớp như đã trình bày ở trên, một hệ thống WebGIS dữ liệu như: kênh rạch, giao thơng, tim đường đã được xây dựng thử nghiệm và được sử dụng và ranh giới hành chính. Dữ liệu chuyên ngành trong phân tích quan hệ khơng gian giữa các đối thốt nước được cung cấp bởi cơng ty thốt tượng thốt nước đang được quản lý như tuyến nước đơ thị thành phố Hồ Chí Minh, bao gồm: cống, và hầm ga nằm dọc theo các tuyến cống tuyến cống, hầm ga, trạm bơm, cửa xả. của một khu vực thuộc thành phố Hồ Chí Minh. Hệ thống WebGIS đã xây dựng cĩ đầy đủ Hệ thống WebGIS đã thiết kế hoạt động theo các chức năng cơ bản cần thiết của một hệ thống mơ hình client-server giống như hoạt động của GIS như tương tác với bản đồ, truy vấn tìm kiếm một website thơng thường. Hệ thống cĩ kiến thơng tin (theo một hoặc nhiều tiêu chí), biên tập trúc 3 tầng (hình 1): Tầng trình bày dữ liệu khơng gian và ngồi ra cịn cĩ nhĩm (Presentation Tier: Client), tầng giao dịch chức năng phân tích khơng gian. Trong phạm vi (Bussiness Logic Tier: Application Server), và và mục đích của bài báo này, chỉ mơ tả 1 trong tầng dữ liệu (Data Management Tier: Data những chức năng phân tích khơng gian đã được Server ) [1]. thực hiện, đĩ là chức năng “Select by Location”. Tầng trình bày gồm một trình duyệt web Giao diện của trang WebGIS chính của hệ thống như Internet Explorer, FireFox, dùng để mở được thể hiện trong hình 2, trong đĩ nhĩm chức các trang Web theo các địa chỉ URL định sẵn. năng phân tích khơng gian “Select by location” Các trang Web được viết bằng các cơng nghệ được đánh dấu với ký hiệu bàn tay. chuẩn của W3C (World Wide Web Consortium) Trang 77
  4. SCIENCE & TECHNOLOGY DEVELOPMENT, Vol. 19, No. K4-2016 Tầng giao dịch Tầng trình bày Tầng dữ liệu Hình 1. Kiến trúc chung của một hệ thống WebGIS Hình 2. Giao diện của hệ thống WebGIS Chức năng giúp thực hiện hoạt động tìm kiếm các đối tượng dựa trên quan hệ khơng gian với các nhĩm đối tượng khác. Giao diện của chức năng về cơ bản giống như trong hình 3. Với các thơng số đã nhập giống như trên hình 3, khi thực thi sẽ cho phép chọn các hố ga nước mưa nằm trong khoảng cách 10m, so với đối tượng tuyến cống đã được chọn, ví dụ tuyến Hình 3. Giao diện chức năng “Select By Location” cống được chọn là tuyến cống trên đường Hải Thượng Lãn Ơng. Trang 78
  5. TẠP CHÍ PHÁT TRIỂN KH&CN, TẬP 19, SỐ K4-2016 3.1 Thực hiện phân tích khơng gian tại Bước kế tiếp, nhằm tìm kiếm các đối tượng Server hố ga giao với vùng đệm 10m vừa tạo xung Cách thức thực thi trong trường hợp thực quanh tuyến cống đã chọn. Trong trường hợp lớp hiện phân tích khơng gian tại Server bao gồm hai hố ga là lớp dữ liệu cĩ định dạng WFS, bước xử bước chính. Bước đầu tiên nhằm tạo vùng lân lý cĩ thể thực hiện phía Client với nhĩm các câu cận 10 m xung quanh tuyến cống đã chọn. Để lệnh sau: làm được điều này cần khởi tạo biến wpsClient, một giao thức giúp tương tác với Web var fts = Hoga.features; Processing Services (WPS). OpenLayers.WPSClient được sử dụng để tạo một for(var i=0;i<fts.length;i++) { đối tượng OpenLayers.WPSProcess từ WPS if Server. (theBuffer.intersects(fts[i].geometry) == true) { var wpsClient = new var clone = fts[i].geometry.clone(); OpenLayers.WPSClient({servers: {local: var newfeature = new ' }}); OpenLayers.Feature.Vector(clone, Tiếp theo gọi thực thi một hoạt động WPS null); wpsClient.execute, trong đĩ hoạt động xử lý được yêu cầu thực thi (process) là 'JTS:buffer'. highlightLayer.addFeatures(newfeature); Hoạt động xử lý này giúp tạo vùng đệm xung } } quanh tuyến thốt nước đã chọn. wpsClient.execute({ Trong nhĩm câu lệnh trên, quan hệ hình học server: 'local', process: 'JTS:buffer', giữa vùng đệm xung quanh tuyến cống, inputs: { geom: selectedFeature, theBuffer, với các đối tượng trong lớp tìm kiếm distance: bufferdistance}, là lớp Hố ga, var fts = Hoga.features được xác success: function(outputs) { định dựa vào hàm giao intersects. Nếu tồn tại quan hệ intersects giữa theBuffer với đối tượng theBuffer = outputs.result[0]}}); trong lớp hố ga thì bản sao của đối tượng hình học này sẽ được đưa vào lớp dữ liệu vector Trong nhĩm câu lệnh trên, khoảng cách highlightLayer để hiển thị trên bản đồ. Kết quả buffer, gọi là bufferdistance, do người sử dụng thực hiện được minh họa trong hình 4. cung cấp và trong ví dụ này là 10m. Tuyến cống 3.2 Thực hiện phân tích khơng gian tại Client được chọn, là selectedFeature, cĩ thể nhận được Cũng với ví dụ trên, nhưng nếu thực hiện bằng cách khai báo var selectedFeature = xử lý khơng gian tại client, thì cách thức thực tuyencong.selectedFeatures[0]. Kết quả tạo vùng hiện giống như dưới đây: đệm sẽ được lưu vào biến theBuffer = outputs.result[0]. Trang 79
  6. SCIENCE & TECHNOLOGY DEVELOPMENT, Vol. 19, No. K4-2016 Các hố ga được Hình 4. Kết quả thực hiện một hoạt động phân tích khơng gian Đầu tiên khởi tạo mơi trường làm việc cho tuyến cống đã chọn. Bước này được thực hiện hoạt động phân tích khơng gian bằng cách cung giống như mơ tả trong trường hợp 3.1. cấp thơng tin đường dẫn đến thư viện JSTS 4. KẾT LUẬN Web mở ra một cơ hội mới khơng chỉ để chia sẽ, thực hiện phân tích khơng gian thơng qua Bước tiếp theo nhằm tạo vùng lân cận 10 m internet. Bài báo này trình bày cách thức như thế xung quanh tuyến cống đã chọn. Câu lệnh dùng nào hoạt động phân tích khơng gian cĩ thể được thực thi hoạt động như dưới đây: thực hiện i) tại server sử dụng các dịch vụ Web Processing Service (WPS) và ii) tại client sử var jsts_parser = new dụng thư viện JavaScript JSTS. Để minh họa, jsts.io.OpenLayersParser(); một hệ thống WebGIS – dựa trên các sản phẩm var input = mã nguồn mở GeoServer, OpenLayers – đã jsts_parser.read(selectedFeature.geometry); được xây dựng và sau đĩ được sử dụng để minh var theBuffer = họa cách thức tiến hành một hoạt động phân tích input.buffer(Bufferdistance); khơng gian, trong bài báo này là hoạt động tìm Bước này sử dụng chức năng buffer của thư kiếm các hố ga nằm trong vùng đệm 10 m xung viện JavaScript JSTS. Các hàm của JSTS, trong quanh một tuyến cống đã chọn nào đĩ. Kết quả đĩ cĩ hàm buffer, sẽ được nạp về máy tính client thực hiện cho thấy việc sử dụng các dịch vụ nhờ vào các địa chỉ khai báo nơi các tập tin WPS, hoặc sử dụng JSTS để thực hiện xử lý JavaScript JSTS được lưu trữ. Tuyến cống được phân tích khơng gian qua internet là hồn tồn chọn là selectedFeature. Hình thể của tuyến khả thi. Tuy nhiên, cần lưu ý nếu dữ liệu bản đồ cống nhận được nhờ vào được thể hiện chủ yếu ở dạng WFS, phân tích selectedFeature.geometry. Kết quả tạo vùng khơng gian nên tiến hành tại Client. Cịn trong đệm buffer thực hiện hồn tồn tại Client và sẽ trường hợp dữ liệu bản đồ được thể hiện chủ yếu được lưu vào biến theBuffer. ở dạng WMS, phân tích khơng gian chỉ cĩ thể Bước kế tiếp, nhằm tìm kiếm các đối tượng tiến hành tại Server. hố ga nằm trong vùng đệm 10m xung quanh Trang 80
  7. TẠP CHÍ PHÁT TRIỂN KH&CN, TẬP 19, SỐ K4-2016 Spatial analysis in WebGIS Tran Trong Duc Ho Chi Minh city University of Technology, VNU-HCM, Vietnam ABSTRACT In most of WebGIS applications, user JSTS JavaScript library to carry on spatial interactions mainly concentrate on map data analysis activities. A WebGIS system - based on editing or data querying. Another aspect with the open source Geoserver and OpenLayers - paying less attention is to allow user doing has been developed and used to perform spatial spatial analysis. Spatial analysis can be analysis, searching for spatial features that have implemented on server side, by using WPS (Web spatial relationships with other spatial features. Processing Service), or on client side, by using Experiment result shows that the use of WPS JSTS (JavaScript Topology Suite). As an and JSTS to perform spatial processing over the contribution to this aspect, this paper shows internet is practically doable. how to use to use WPS service of Geoserver and Keywords: GIS, WebGIS, WPS, JSTS, spatial analysis TÀI LIỆU THAM KHẢO [1]. AA. Alesheikh, H. Helali, HA. Behroz, [6]. Jáchym Cepický & Lorenzo Becchi, Web GIS: Technologies and Its Processing geospatial operations via Applications, Symposium on Geospatial Internet on remote servers – PyWPS, 2007. Theory, Processing and Applications, [7]. Open Geospatial Consortium Inc., Ottawa 2002. OpenGIS Web Processing Service, Version [2]. Beate Stollberg & Alexander Zipf, OGC 1.0.0, Document number OGC 05-007r7, Web Processing Service Interface for Web 2007. Service Orchestration-Aggregating Geo- [8]. OpenLayers, User Guide, processing Services in a Bomb Threat 23 July 2016. Scenario, 2007. [9]. Rob Lemmens, Theodor Foerster & Barent [3]. Bjưrn Harrtell, JavaScript Topology Suit Kobben, Hand-on experience on OGC Web (JSTS ). Processing Service using 52north web processing framework, 2007. [4]. Deegree, OSGeo [10]. Víctor Olaya, Introduction to Project, 23 July 2016. geoprocessing services using SEXTANTE, [5]. Geoserver, Geoserver User Manual, 23 course.org/system/files/sextante_en.pdf July 2016. [11]. 520 North exploring horizons, ng/, 13 May 2016. Trang 81