Tích hợp GIS trong Portal và CMS
1Tích hợp GIS trong Portal và CMSLời BBT: Nguyễn Hòa Bình là giám đốc công ty Giải Pháp Phần Mềm Hòa Bình (PeaceSoft), đơn vị liên doanh với tập đoàn dữ liệu quốc tế IDG. "Có duyên" với công nghệ GIS và các ứng dụng web-GIS từ năm 2001 trong dự án hợp tác với Bộ Y Tế xây dựng bản đồ trực tuyến tích hợp CSDL phòng chống thảm họa; tác giả đã tham gia nhiều khóa đào tạo và nghiên cứu chuyên sâu về công nghệ GIS tại Học Viện AIT và ĐH Osaka, Nhật Bản (OCU). Trong khuôn khổ dự án hợp tác ứng dụng công nghệ GIS để bảo tồn khu di tích Hoàng Thành Thăng Long, do Hội Địa – Tin Học Việt – Nhật (JVGC) kết hợp cùng Ban Chỉ Đạo "1000 năm Thăng Long", tác giả đã cùng các giáo sư và cộng sự tại OCU nghiên cứu phát triển khả năng tích hợp GIS với các hệ thống thông tin khác trên nền mã nguồn mở (MNM) và ứng dụng trong nhiều lĩnh vực khác nhau.Bài viết giới thiệu công nghệ GIS hướng cộng đồng, đó là việc tích hợp các nội dung và tính năng GIS trực tuyến vào các hệ ứng dụng "Cổng thông tin" (Portal) và "Quản trị nội dung" (Content Management System - CMS) nguồn mở; và minh họa bằng ứng dụng bản đồ Hà Nội trực tuyến qua các thời kỳ lịch sử. Qua đó, đề xuất một hướng nghiên cứu mới phát triển hệ thống "Quản trị nội dung bản đồ”, góp phần đơn giản hóa và đại chúng hóa GIS trong các ứng dụng phổ biến trên Internet.Dữ liệu (DL) thông tin địa lý (bao gồm các bản đồ vector và ảnh vệ tinh) rất cần thiết cho việc xây dựng các hệ thống bản đồ, phân tích thông tin trợ giúp ra quyết định; chúng hiện đang được ứng dụng rộng rãi trên nhiều lĩnh vực như: du lịch, quản lý tài nguyên thiên nhiên, lịch sử - khảo cổ học .Những DL này thường được xây dựng khá công phu với nhiều vốn đầu tư và phần lớn rất dễ hiểu với đại chúng vì tính trực quan cao. Ví dụ các hệ thống dẫn đường cho ôtô, quy hoạch đất đai, hay gần gũi nhất với người Việt Nam là các phần mềm bản đồ trực tuyến Google Map & Google Earth, MapPoint . cho phép tìm đường và nhìn rõ từng nóc nhà hay con phố tại các thành phố lớn.Tuy nhiên, công nghệ thông tin địa lý (GIS) và DL của nó (DL hạ tầng không gian) chưa được phổ biến và ứng dụng rộng rãi, hay nói đúng hơn là còn xa lạ với đông đảo cộng đồng vì sự hỗ trợ hạn chế trong các hệ phần mềm chỉ hỗ trợ chủ yếu DL kiểu text, graphics hay multimedia.Trong 5 năm vừa qua, khái niệm "location-based computing" (tạm gọi là "tin học hướng địa điểm") đã phát triển vượt bậc với ngày càng nhiều ứng dụng và DL thông tin địa lý được số hóa. Theo dự báo, các ứng dụng này có xu hướng phát triển mạnh, giúp cho ứng dụng CNTT có ý nghĩa trực quan hơn, sát sườn và dễ nhận biết hơn chứ không chỉ giới hạn trong những lĩnh vực khoa học và chuyên môn sâu như hiện nay.Những năm gần đây sự ra đời của các nền tảng và ứng dụng GIS MNM (như MapServer, MapLab, CartoWeb . ) đã và đang góp phần đại chúng hóa, thu hẹp khoảng cách giữa công nghệ GIS và các dịch vụ trực tuyến hướng địa điểm với cộng đồng; tuy nhiên, nếu những ứng dụng này chỉ đứng độc lập thì tính phổ biến rộng rãi của chúng bị giảm đáng kể.TỔNG QUAN VỀ CỔNG THÔNG TIN VÀ QUẢN TRỊ NỘI DUNG MNMGần đây, các hệ ứng dụng Portal – CMS MNM đang được sử dụng rộng rãi để xây dựng những ứng dụng web đầy đủ chức năng từ đơn giản (như website cá nhân, diễn đàn nhóm) đến phức tạp (báo điện tử, website tích hợp thông tin công ty – tổ chức .), đã và đang góp phần tích cực vào việc đơn giản hóa ứng dụng CNTT cho mọi đối tượng người dùng từ cá nhân, học sinh, sinh viên tới những công ty lớn.Portal MNM cung cấp một nền tảng được xây dựng sẵn với đầy đủ chức năng phổ biến để xây dựng những website lớn, bao gồm các module chức năng (báo điện tử, lịch làm việc, thăm dò dư luận, quản lý quảng cáo, diễn đàn trực tuyến, khu vực quản trị .) với nhiều ưu điểm: an ninh và quản lý người dùng, hỗ trợ đa ngôn ngữ và đa giao diện, kiến trúc mở hướng đối tượng và đặc biệt là một chuẩn lập trình (API) cho phép bên thứ ba phát triển thêm các tính năng khác. 2Tính năng "Quản trị nội dung" (CMS) thường được tích hợp vào hệ thống Portal nhằm cung cấp những công cụ quản trị hiệu quả DL của website, giúp kiến tạo môi trường làm việc cộng tác, đặc biệt thích hợp và cần thiết cho những website lớn với lượng DL khổng lồ và sự tham gia xây dựng nội dung của rất nhiều đối tượng khác nhau. Những tính năng quản trị nội dung thường diễn ra trong 3 khâu chính:• Khởi tạo nội dung: Portal cung cấp các công cụ trực quan kiểu "thấy là được" (WYSIWYG: What You See Is What You Get) cho phép người dùng nhập thông tin và DL (bài viết, hình ảnh . ) vào hệ thống một cách dễ dàng.• Quản trị nội dung: DL được kiểm duyệt, lưu trữ và sắp xếp theo những quy trình định sẵn; có công cụ để quản trị chúng như: sửa/xóa, tìm kiếm, so sánh, trình duyệt, lưu vết thay đổi, sao lưu DL .• Xuất bản nội dung: các mục tin được hiển thị trên site hoặc phân phối tới người dùng một cách có kiểm soát thông qua các kênh thông tin và thiết bị khác nhau.Các hệ Portal và CMS nguồn mở như Mambo (PHP), Plone (Python) hay Rainbow (.NET) . hiện đang âm thầm góp sức trong rất nhiều ứng dụng CNTT tại Việt Nam với nhiều mục đích khác nhau; có thể kể đến giải pháp vPortal của VietSoftware (phát triển trên nền uPortal) đang được sử dụng tại website Hanoi Portal và Bộ Tư Pháp; hay giải pháp TVIS của Tinh Vân (phát triển trên nền Plone/Zope) ứng dụng ở website Bộ Ngoại Giao . Tính sẵn sàng và sự dễ dùng, dễ tùy biến của chúng cho phép bất kỳ ai có kiến thức căn bản về Internet và web có thể xây dựng và quản trị website của riêng mình mà không cần phải can thiệp bằng lập trình.Tuy nhiên, kiểu DL chính được hỗ trợ trong các hệ thống nói trên thường là text hoặc graphics đơn thuần (ảnh, đoạn phim .); DL hạ tầng không gian sử dụng trong các bản đồ số (bao gồm ảnh vector và ảnh vệ tinh độ phân giải cao) không được hỗ trợ; những tính năng GIS như hiển thị và duyệt bản đồ, tích hợp các nguồn thông tin với nhau . cũng hoàn toàn không có. Điều này không những hạn chế phổ biến công nghệ và DL GIS tới cộng đồng mà còn ảnh hưởng đến sự đa dạng, tính hấp dẫn của Portal-CMS nguồn mở, đặc biệt trong thời kỳ bùng nổ tin học hướng địa điểm ngày nay.Vì vậy, hướng nghiên cứu bổ sung các tính năng GIS vào các hệ Portal-CMS nguồn mở rất có ý nghĩa trong việc phổ biến CNTT địa lý và tận dụng nền tảng sẵn có của các hệ thống Portal-CMS nhằm đưa ra những hệ thống tích hợp mạnh mẽ hơn để thu hẹp khoảng cách với cộng đồng người dùng thông thường.TÍCH HỢP DL VÀ TÍNH NĂNG GIS VÀO CÁC HỆ THỐNG PORTAL VÀ CMSCó 3 mức độ tích hợp nội dung và tính năng GIS vào một ứng dụng web khác:Tích hợp "ngoài"Ứng dụng web-GIS chạy hoàn toàn độc lập với Portal và được hiển thị trong khung nhìn của Portal thông qua một khung nhìn trình duyệt tích hợp (frame hoặc iframe), điều này tương đương với việc cùng duyệt 2 cửa sổ trình duyệt một lúc. Người dùng cuối có cảm giác đang làm việc với ứng dụng GIS thông qua Portal.Một cách khác của phương pháp này là thông qua một file Flash nhúng cung cấp bởi ứng dụng WorldKit tại địa chỉ http://brainoff.com/worldkit/.Điểm nổi bật của phương pháp này là: nhanh, tạo được cảm giác tích hợp trên nền giao diện trong khi hoàn toàn không có liên kết về mặt chức năng hoặc trao đổi thông tin giữa 2 ứng dụng web đó.Tích hợp "trong"Một module chức năng tương tác trực tiếp với DL GIS và ứng dụng Map Server được phát triển trên nền giao diện lập trình (API) của Portal, cung cấp giao diện và chức năng liên quan thông qua một khung nhìn tích hợp trong Portal. 3Ứng dụng web-GIS tận dụng được mọi tính năng và thông tin sẵn có của Portal chủ; ví dụ trong ứng dụng cho Hà Nội thông tin cho những địa danh lịch sử trên bản đồ được kết xuất từ những mục tin của Portal, đóng góp bởi cộng đồng người dùng và quản trị một cách hiệu quả bằng CMS hệ thống.Điểm yếu của phương pháp này là những ứng dụng web-GIS sẵn có phải được viết lại tuân theo chuẩn tích hợp của API, tuy nhiên nó có thể tận dụng các thư viện lập trình sẵn có; DL bản đồ vẫn nằm độc lập với CSDL của Portal.Map-CMS (Hệ quản trị nội dung bản đồ)Đây là mức độ tích hợp cao nhất: không như các CMS thông thường quản trị nội dung kiểu text và graphics, các DL liên quan đến bản đồ sẽ là đối tượng được quản lý trực tiếp trong Map-CMS. Mỗi bản đồ (gồm nhiều lớp thông tin khác nhau) sau đó có thể được xuất bản thành một ứng dụng web-GIS thừa kế các chức năng của ứng dụng Portal, cũng có thể hiểu là 1 "máy cái" sản xuất ứng dụng web-GIS.Trong bài viết tiếp theo, tác giả sẽ tập trung phân tích ở mức độ tích hợp thứ hai bằng việc thử nghiệm triển khai một ứng dụng trong đó có module hỗ trợ tính năng GIS và được tích hợp vào một nền tảng Portal phổ biếnBản đồ trực tuyến Thăng Long - Hà NộiXây dựng dữ liệu và bản đồ Để có dữ liệu khởi đầu, nhóm xây dựng ứng dụng đã tiến hành thu thập thông tin về 30 địa danh nổi tiếng và 150 công trình kiến trúc Pháp tại HN với các thông tin cơ bản: hình ảnh tư liệu, bài viết liên quan, ảnh chụp panorama 180 hoặc 360 độ về địa danh . Dữ liệu này được trích từ những nguồn tin cậy (sách báo, tài liệu, thu thập số liệu tại thực địa .), chúng được nhập lên web, lưu trữ và quản trị bởi các tính năng quản trị nội dung của Plone Portal.Plone Portal tổ chức nội dung thông tin theo cấu trúc cây thư mục, trong đó lưu trữ nội dung (Content) ở nhiều kiểu khác nhau như: tin tức, bài viết, tài liệu, sự kiện, ảnh . Người dùng và người duyệt nếu có tài khoản có thể cập nhật thông tin vào hệ thống theo quy trình quản trị nội dung đơn giản.Nhóm đã tiến hành tích hợp vào hệ thống:• Nhóm bản đồ nền: ranh giới tỉnh, thành và quận, huyện toàn quốc, mạng lưới giao thông và sông hồ ở nội đô HN (dạng file .SHP). Ngoài ra còn có bản đồ hành chính thế giới và địa hình toàn cầu sử dụng dịch vụ bản đồ (WMS) của công ty DEMIS.• Ảnh vệ tinh chụp nội thành HN năm 2002 (do kích thước lớn hơn 200MB) nên được MapServer xử lý độc lập và xuất dưới dạng một wms và PrimaGIS được cấu hình để tích hợp thông tin từ đó. • 8 file ảnh có đánh dấu tọa độ thể hiện bản đồ lịch sử HN qua các năm 1831, 1873, 1898, 1902, 1915, 1925, 1936 và 1942 đã được Viện Địa Lý tiền xử lý từ bản giấy và cải hoán theo hệ tọa độ quy chiếu UTM 48N.Sau khi đã chuẩn bị đủ dữ liệu và thông tin, nhóm đã đưa các bản đồ nói trên vào Portal với một số thao tác thuần về kỹ thuật sao cho cuối cùng, lớp dữ liệu GIS mong muốn sẽ được hiển thị trên giao diện module PrimaGIS .Tích hợp nội dungQuá trình tích hợp dữ liệu về các địa danh lịch sử sẵn có trong Portal lên bản đồ được bắt đầu bằng thao tác tạo các điểm đại diện. Trên thực tế, quá trình đưa các địa danh lên bản đồ đòi hỏi nhiều thời Ảnh panorama 180 độ về Đền Quán Thánh được hiển thị trong một Java Applet 4gian, công sức và kết hợp phân tích rất nhiều yếu tố: địa chỉ địa danh, tọa độ, tìm kiếm thủ công dựa trên đặc điểm các khối nhà tạo bởi đường phố, phân tích nóc nhà trên nền ảnh vệ tinh và so sánh với chức năng sử dụng của khối nhà. Tiếp đến, để liên kết nội dung người ta cần định nghĩa mối liên kết giữa địa danh với những thông tin có sẵn của Portal bằng cách duyệt và chọn những nội dung sẵn có trong danh sách.Vận hành ứng dụngMở trang chứa Module PrimaGIS trong Plone Portal, ta thấy một bản đồ với đầy đủ các lớp dữ liệu cùng tất cả các thành phần cơ bản của một ứng dụng web-GIS như: Danh sách lớp; Chú thích; Các chức năng: bật/tắt lớp, phóng to/thu nhỏ/di chuyển, query thông tin . Những lớp dữ liệu kiểu vùng (polygon) như sông, hồ hoặc ảnh Raster có thể được thiết lập mờ (Transparent) một phần cho dễ nhìn và phân tích.Tương tự dịch vụ Google Map hoặc Google Earth, công nghệ AJAX được sử dụng để không phải nạp lại trang sau mỗi lần duyệt bản đồ, giúp tăng tối đa tốc độ vận hành. Ảnh vệ tinh độ phân giải 2m hiển thị chi tiết đến từng nóc nhà ở tỷ lệ phóng to nhất cho phép dễ dàng xác định hầu hết mọi vị trí trong nội đô HN.Khi người dùng di chuột trên những địa danh, sẽ có 1 cửa sổ JavaScript hiển thị thông tin ngắn gọn về địa danh và một ảnh đại diện, người dùng có thể click chuột để xem thông tin đầy đủ hoặc tải về file tài liệu đính kèm.Với cách làm trên, các kết quả nghiên cứu đi kèm với địa danh lịch sử được hiển thị một cách trực quan; người dùng tìm kiếm thông tin cũng có cơ hội hiểu thêm về sự phát triển của HN, vị trí tương đối của các địa danh qua các thời kỳ lịch sử .Bản đồ HN năm 1902 chồng trên các lớp nền, 30 điểm đỏ trên cùng là địa danh nổi tiếng, 150 tam giác vàng là công trình kiến trúc Pháp 5Kết luậnBài viết đã trình bày ngắn gọn quá trình tích hợp những nội dung và chức năng GIS vào một hệ thống Portal – CMS nguồn mở. Nguồn mở cho phép người thực hiện tận dụng được các tài nguyên sẵn có về môi trường làm việc, nền tảng kỹ thuật, nội dung . Ứng dụng bản đồ lịch sử HN cho thấy sự tích hợp này không những giúp công nghệ GIS trở nên phổ biến và thân thiện hơn với cộng đồng mà còn góp phần làm giàu thêm cho các hệ thống Portal - CMS nguồn mở về mặt chức năng và thông tin.Hướng phát triển của nghiên cứu này là tập trung cho các tính năng quản trị nội dung cho các thành phần bản đồ. Một hệ thống Map-CMS sẽ đón đầu sự bùng nổ nội dung thông tin địa lý trong tương lai khi tin học hướng địa điểm (location-based computing) đang là một trong những xu hướng phát triển tất yếu.Những module chức năng Map-CMS như vậy đang được hoàn thiện trên nền ChợĐiệnTử Portal (chodientu.com) (BBT: Tác giả Nguyễn Hòa Bình đồng thời là giám đốc cổng thương mại điện tử chodientu.com). Đây cũng là một nền tảng Portal – CMS nguồn mở đầu tiên do người Việt Nam phát triển hoàn toàn. Dự kiến những chức năng tích hợp GIS sẽ được triển khai vào trung tuần tháng 6 trong tiện ích “ChợĐiệnTử - Bản Đồ”, cho phép người dùng hẹn gặp nhau một cách chính xác trên nền bản đồ số hóa và ảnh vệ tinh của một số thành phố lớn như HN và Hồ Chí Minh.Hiện có thể truy cập dùng thử ứng dụng tại: http://wgrass.media.osaka-cu.ac.jp/foss4g/hanoihistoricalgis/map/Có thể xem thử đoạn phim mô tả việc vận hành và ứng dụng (Video demo) tại: www.chodientu.com/?portal=community&page=display_topic&topic_id=181• Máy chủ: Dùng hệ điều hành Mandriva Linux 2006; phần mềm (PM) máy chủ web Zope. PM này mạnh, bảo mật và ổn định nhưng nhược điểm là khá tốn bộ nhớ và phát triển bằng Python, một ngôn ngữ chưa phổ biến.• Portal và CMS: Sử dụng Plone (2.0.5) Portal-CMS, một PM Portal kiêm CMS. Đây là sản phẩm chính của Zope hỗ trợ đa ngữ, tổ chức nội dung theo cây thư mục và tính bảo mật cao . Plone được dùng phổ biến nhất ở nhiều website lớn như: eBay Developer, quốc hội Brazil, chính quyền nhiều bang ở Mỹ .• GIS: Sử dụng Minnesota MapServer, một PM máy chủ bản đồ nguồn mở mạnh, phổ biến và miễn phí (giá các PM thương mại có tính năng tương tự có thể lên đến hàng chục nghìn USD). Nó tương tác và xử lý trực tiếp dữ liệu GIS từ nhiều nguồn (file, bản đồ trong CSDL thông qua PostGIS, WMS .), xuất ra dữ liệu dạng file ảnh hoặc dịch vụ bản đồ (WMS- Web Map Service) và trả về cho ứng dụng chủ theo yêu cầu.• Cơ sở dữ liệu: Dùng PM PrimaGIS với module chức năng GIS có thể tương tác hai chiều với người dùng được phát triển riêng cho Plone Portal. Nó cũng có thể tự tích hợp dữ liệu GIS từ nhiều nguồn khác nhau. • Các PM khác: PCL (Python Cartographic Library 0.10.0) - thư viện lập trình với các dữ liệu bản đồ dùng cho Python; ZCO (Zope Cartographic Object 0.7) - thư viện tương tác với các đối tượng của một bản đồ (Map Object) sử dụng cho Zope Web Server. . thống tích hợp mạnh mẽ hơn để thu hẹp khoảng cách với cộng đồng người dùng thông thường.TÍCH HỢP DL VÀ TÍNH NĂNG GIS VÀO CÁC HỆ THỐNG PORTAL VÀ CMSCó 3. mức độ tích hợp nội dung và tính năng GIS vào một ứng dụng web khác :Tích hợp "ngoài"Ứng dụng web -GIS chạy hoàn toàn độc lập với Portal và được