Chuyển đến nôi dung chính

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng (tiếng Anh).

Khi bạn đăng ký với trang developerWorks lần đầu tiên, một tiểu sử của của bạn được tạo ra. Chọn các thông tin về tiểu sử của bạn (tên, nước/vùng, và nơi làm việc) đã được hiện lên màn hình, thông tin này sẽ được hiện kèm với nội dung mà bạn đăng tải. Bạn có thể cập nhật thông tin này bất kỳ lúc nào.

Thông tin gửi đi được đảm bảo an toàn.

  • Đóng [x]

Lần đầu tiên bạn đăng nhập vào trang developerWorks, một bản trích ngang được tạo ra cho bạn, bạn cần phải chọn một tên để hiển thị. Tên hiển thị của bạn sẽ đi kèm theo các nội dung mà bạn đăng tải trên developerWorks.

Tên hiển thị cần có từ 3 đến 30 ký tự. Tên xuất hiện của bạn phải là duy nhất trên trang Cộng đồng developerWorks và vì lí do an ninh nó không phải là địa chỉ email của bạn.

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng (tiếng Anh).

Thông tin gửi đi được đảm bảo an toàn.

  • Đóng [x]

Phân tích dữ liệu không gian của DB2 với trình duyệt địa lý miễn phí

Sử dụng trình duyệt địa lý của IBM Data Management cho DB2 và Informix để hiển thị trực quan dữ liệu bảng quan hệ

David Adler, Kỹ sư phần mềm cấp cao, IBM
David Adler
David Adler đã chịu trách nhiệm về phát triển công nghệ cơ sở dữ liệu không gian tại IBM trong hơn 20 năm, 10 năm qua ông làm về DB2 Spatial Extender Development (Phát triển trình mở rộng không gian DB2).

Tóm tắt:  Một trình duyệt địa lý (geobrowser) dành cho IBM® DB2® và Informix® bây giờ đã có sẵn để tải về miễn phí. Bạn có thể dễ dàng liệt kê các bảng có chứa dữ liệu không gian và chọn các bảng để hiển thị như một bản đồ bằng cách sử dụng một tổ hợp của các điểm, các đường và các đa giác. Người dùng có khả năng lựa chọn màu sắc, các ký hiệu, kiểu dáng đường vẽ và hiệu ứng bóng. Các công cụ dẫn hướng bản đồ cho phép bạn phóng to và thu nhỏ, xoay và chọn hiển thị các giá trị chữ và số liên quan với từng đối tượng đồ họa. Trình duyệt địa lý có thể đưa ra các kết quả phân tích không gian bằng cách sử dụng DB2 hoặc Informix. Ví dụ, có thể hiển thị trực quan các kết quả của một truy vấn không gian nhận biết các khách hàng trong một vùng lũ lụt. Trình duyệt địa lý cũng dựa vào các thành phần từ IBM's ILOG® JViews Maps. Sử dụng các thành phần này để xây dựng các ứng dụng tùy chỉnh hiển thị trực quan không gian. Hướng dẫn này cho thấy cách sử dụng trình duyệt địa lý miễn phí để hiển thị trực quan dữ liệu từ các bảng DB2.

Ngày:  16 01 2012
Mức độ:  Trung bình

Hoạt động:  3881 lần đọc

Hiển thị trực quan ứng dụng tùy chỉnh

Xây dựng một ứng dụng JViews Maps tùy chỉnh

Ứng dụng trình duyệt địa lý được sử dụng trong hướng dẫn này dựa vào ứng dụng mẫu mapbuilder của JViews Maps. Sự khác biệt chính là sự hỗ trợ cho một số lượng giới hạn các kiểu nguồn dữ liệu (DB2, Informix, shapefile) và khả năng Options > Refresh All. Khả năng Refresh All (Làm mới tất cả) hữu ích để nạp lại màn hình hiển thị bản đồ từ các nội dung của bảng cơ sở dữ liệu hiện tại khi một ứng dụng khác có thể thực hiện các thay đổi với bảng này.

Mẫu mapbuilder là một ứng dụng Java tích hợp nhiều thành phần JViews Maps thành một ứng dụng người dùng cuối trọn vẹn. Bạn có thể sửa đổi ứng dụng này để bao gồm chỉ các khả năng mà bạn cần và thêm chức năng tùy chỉnh riêng của bạn. Hoặc bạn có thể bắt đầu từ đầu để xây dựng một ứng dụng dựa trên các thành phần của JViews Maps.

Tải bản sao dùng thử của JViews Maps (xem phần Tài nguyên). Để triển khai ứng dụng riêng của bạn, bạn sẽ cần nhận được một giấy phép thường xuyên cho JViews Maps.


Các ký hiệu động với JViews Designer

JViews Maps cũng bao gồm các thành phần của JViews Designer (Nhà thiết kế Jviews), cho phép sử dụng các ký hiệu một cách động và tinh vi hơn là bộ ký hiệu bản đồ do JViews Maps cung cấp. Bạn có thể thay đổi kích thước, màu sắc, hoặc biểu tượng của các ký hiệu dựa trên các giá trị thuộc tính.

Khi bạn cài đặt JViews Maps, một mẫu mà bạn có thể chạy ngay lập tức là loaddiag, trong đó cho thấy các xe với các kiểu khác nhau đang chạy trên một bản đồ Hoa Kỳ. Mẫu này sử dụng một nguồn dữ liệu XML và mã Java để mô phỏng sự chuyển động của xe.

Ngoài ra có thể sử dụng một nguồn dữ liệu JDBC của DB2 kết nối với một bảng không gian DB2. Một ví dụ dựa trên cơ sở dữ liệu và dữ liệu này mà chúng ta đã sử dụng trong các phần trước được hiển thị trong hình sau, mỗi văn phòng được biểu diễn bằng một vòng tròn có kích thước dựa trên số lượng nhân viên trong bảng OFFICES.


Hình 8. Bản đồ sử dụng JViews Designer với các ký hiệu thay đổi được
Ảnh cho thấy bản đồ của JViews Designer

Mã mẫu để thực hiện việc này có sẵn trong phần Tải về. Giải nén nó vào thư mục samples của JViews Maps.

Giải thích mã mẫu

Cách tiếp cận chung đến ứng dụng hiển thị trực quan JViews là để giảm thiểu các yêu cầu mã hóa thực tế và sử dụng một cách tiếp cận mô tả cho các nội dung và hiển thị trực quan. Mỗi tệp quan trọng có liên quan được mô tả dưới đây.

src\dw-demo1.java

Đây là một ứng dụng Java AWT đơn giản để xây dựng Giao diện đồ họa người dùng, sử dụng các thành phần JViews Maps cho thanh công cụ và vùng bản đồ. Việc nạp tệp dw-demo1.idpr bắt đầu quá trình hiển thị trực quan. Mã này khá đơn giản.

resources\data\dw-demo1.idpr

Tệp này quy định kiểu dáng được áp dụng, thông tin kết nối cơ sở dữ liệu, truy vấn để nhận được các cột sẽ dùng trong ứng dụng và ánh xạ các tên cột cơ sở dữ liệu với các tên thuộc tính mà bản định kiểu sử dụng.

JViews chờ đợi thông tin vị trí được cung cấp trong các thuộc tính có tên là latitude (vĩ độ) và longitude (kinh độ). Dẫn xuất ra các giá trị này phức tạp hơn bình thường một chút. JViews làm việc với các tọa độ được biểu diễn bằng radian chứ không sử dụng giá trị bằng độ, vì vậy chúng ta cần biểu thức * 3.14159 / 180.0 để chuyển đổi từ độ sang radian.

Các tọa độ trong cột LOCATION thực tế được lưu trữ bằng cách sử dụng hệ thống tọa độ phẳng quốc gia thường dùng cho các ứng dụng lập bản đồ có độ chính xác cao và đơn vị là phít ( “feed” - đơn vị đo chiều dài Anh). Chúng ta sử dụng hàm st_transform(1) của DB2 Spatial Extender để chuyển đổi từ phít sang độ trong hệ thống tọa độ thường dùng với dữ liệu Bắc Mỹ.

<diagrammer style="dw-demo1.css">
  <datasource class="ilog.views.diagrammer.datasource.IlvJDBCDataSource">
    <connection id="basic"
      url="jdbc:db2://localhost:50000/sample"
      user="davea5"
      passwd="my_password"
      driver="com.ibm.db2.jcc.DB2Driver"/>
    <query connection="basic"
      value="SELECT id, name, employees, 
             location..st_transform(1)..st_miny * 3.14159 / 180.0 as latitude, 
             location..st_transform(1)..st_minx * 3.14159 / 180.0 as longitude 
             FROM davea5.offices 
             where location is not null"
      tag="node"
      links="false">
<map columns="ID" property="id"/>
<map columns="LATITUDE" property="latitude"/>
<map columns="LONGITUDE" property="longitude"/>
<map columns="NAME" property="name"/>
<map columns="EMPLOYEES" property="employees"/>
   </query>
  </datasource>
</diagrammer>
            

resources\data\dw-demo1.css

Tệp này quy định bản đồ nền thường dùng và kiểu dáng của các nút (node) được trả về từ truy vấn trong tệp dw-demo1.idpr. Phần Map (Bản đồ) tham khảo bản đồ cụ thể được sử dụng, đó là dw-demo1.ivl.

Map {
   _rule_name : "Background Map" ;
   autoRegionOfInterest : "true" ;
   map : "url(dw-demo1.ivl)" ;
   regionOfInterest : "" ;
   regionOfInterestMargin : "5.0" ;
}            
            

Bạn cần thay thế tên tệp dw-demo1.ivl bằng tên của tệp bản đồ mà bạn tạo ra trong trình duyệt địa lý.

Trong phần node (nút), name : "@name" chỉ rõ rằng thuộc tính name được sử dụng cho giá trị tên được hiển thị cùng với ký hiệu trên bản đồ. class : "@|symbolResource(ilog/views/palettes/shared/symbols/SizedRound.css,Symbol)" chỉ rõ bảng ký hiệu được sử dụng và ký hiệu cụ thể là: SizedRound. size : "@employees" chỉ rõ rằng thuộc tính employees (các nhân viên) cần được sử dụng để điều khiển kích thước của ký hiệu.

node {
   Layer : "20" ;
   Interactor : "ilog.views.sdm.IlvSDMCompositeInteractor" ;
   fill : "false" ;
   name : "@name" ;
   class : "@|symbolResource(ilog/views/palettes/shared/symbols/SizedRound.css,Symbol)" ;
   size : "@employees" ;
}            
            

resources\data\dw-demo1.ivl

Đây là tệp bản đồ được trình duyệt địa lý tạo ra. Bạn cần thay thế nó bằng tệp bạn đã tạo ra.

5 của 9 | Trang trước | Trang sau

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=70
Zone=Information Management
ArticleID=787737
TutorialTitle=Phân tích dữ liệu không gian của DB2 với trình duyệt địa lý miễn phí
publish-date=01162012
author1-email=dadler@us.ibm.com
author1-email-cc=