Trong chương này, tôi đã nghiên cứu và trình bày về phần phân tích và thiết kế chi tiết các dịch vụ cần có của một hệ thống thông tin bản đồ, đưa ra được các mô hình hoạt động của hệ thống, với các lớp dịch vụ. Dựa trên cơ sở của mô hình của hệ thống, tôi cũng đã trình bày về các module trong hệ thống GIS từ phần cấu trúc database và các webserver cung cấp phần chức năng chính cho một hệ thống GIS.
Trên nền tảng hệ thống GIS, tôi cũng trình bày các thuật toán tìm đường, định vị trí các địa chỉ đuường phố, theo các yêu cầu cụ thể.
CÀI ĐẶT VÀ TRIỂN KHAI
NỘI DUNG CHÍNH:
- Module giao tiếp cơ sở dữ liệu
- Module cung cấp dịch vụ cho PC
- Thực hiện chuyển đổi, chuẩn hóa số liệu
- Kết luận
4
Formatted: Dutch (Netherlands)
IV.1 Module giao tiếp cơ sở dƣ̃ liê ̣u
IV.1.1 Kiến trúc và dạng hình học theo không gian và thời gian
Lược đồ khái niệm được chuẩn hóa cho các đặc tính không gian và thời gian làm tăng khả năng chia sẻ thông tin địa lý giữa các ứng dụng. Các lược đồ này được hệ thống thông tin địa lý, người phát triển phần mềm và người sử dụng thông tin địa lý dùng để cung cấp các cấu trúc dữ liệu không gian dễ hiểu.
Dạng hình học cung cấp phương tiện để mô tả chất lượng bằng tọa độ và các hàm toán học các đặc tính không gian của feature, bao gồm chiều, vị trí, kích thước hình dạng và hướng. Các hàm toán học dùng cho mô tả dạng hình học của đối tượng phụ thuộc vào loại hệ quy chiếu dùng để định nghĩa vị trí không gian. Dạng hình học là phần duy nhất của thông tin địa lý thay đổi khi thông tin được chuyển đổi từ hệ quy chiếu này sang hệ quy chiếu khác.
Topology xử lý các đặc điểm của dạng hình học, giữ không đổi nếu không gian thay đổi nhanh và liên tục, ví dụ khi dữ liệu địa lý được chuyển đổi từ hệ quy chiếu này sang hệ quy chiếu khác. Trong ngữ cảnh của thông tin địa lý, topology được dùng để mô tả kết nối của một đồ thị nhiều chiều, một thuộc tính không đổi khi chuyển đổi liên tục. Topology tính toán cung cấp thông tin về kết nối của các hình mà nhận được từ các hình ở lớp dưới.
Phần này cung cấp tổng quan và tham chiếu đến lược đồ khái niệm cho hình học, topology và hệ tham chiếu thời gian.
Đối tượng hình học là một tổ hợp của các tọa độ hình học và hệ quy chiếu. Nhìn chung đối tượng hình học là tập các điểm, biểu diễn vị trí trực tiếp. Vị trí này giữ tọa độ của một vị trí trong một số hệ quy chiếu.
minh họa các lớp cơ bản được định nghĩa trong lược đồ khái niệm hình học. Bất kỳ đối tượng nào kế thừa ngữ nghĩa của GM_Object sẽ hoạt động như tập các vị trí trực tiếp. Các đối tượng ở dưới GM_Primitive sẽ mở, không bao gồm các điểm biên giới, hình cong (curve) sẽ không bao gồm các điểm đầu cuối của chúng, bề mặt (surface) không gồm các đường cong biên giới và các khối đặc (solid) không gồm bề mặt biên của hình. Các đối tượng dưới GM_Complex là đóng, bao gồm các điểm biên.
Tham chiếu không gian
Phần này đưa ra làm thế nào để dữ liệu không gian được tham chiếu, bao gồm các nội dung sau:
- Thuật ngữ với tham chiếu không gian - Các hệ tọa độ tham chiếu
- Các chuyển đổi tọa độ
- Thư mục tổ chức vị trí (Location Organizer folder)
Tọa độ chỉ rõ ràng khi có hệ tham chiếu tọa độ đi kèm với tọa độ. Hệ tham chiếu tọa độ là hệ tọa độ tham chiếu đến trái đất. Hệ tham chiếu tọa độ bao gồm hệ tọa độ (coordinate system) và mốc (datum). Có các hệ tham chiếu tọa độ: geocentic, geographic (bao gồm một hình elip), hệ quy chiếu (projected), engineering, image, vertical, temporal
Tọa độ (Coordinate) là tập các giá trị vô hướng có thứ tự định nghĩa vị trí của một điểm trong một hệ tham chiếu tọa độ. Tập này bao gồm một, hai hoặc ba tọa độ (Ordinate). Tọa độ này phải độc lập nhau và số tọa độ bằng với số chiều hệ không gian tọa độ, ví dụ tọa độ không thể bao gồm hai chiều cao.
Hệ tọa độ (Coordinate System) bao gồm tập các trục tọa độ có đơn vị cụ thể. Khái niệm “đơn vị của không gian tọa độ” bao gồm tập các quy tắc toán học định nghĩa quan hệ giữa các giá trị tọa độ và chất lượng không gian không đổi giữa các điểm, ví dụ các quy tắc toán học yêu cầu tính toán góc và khoảng cách giữa các điểm từ giá trị tọa độ và ngược lại.
Gốc (Datum) định nghĩa gốc, hướng và tỉ lệ xích của hệ tọa độ và ràng buộc với trái đất. Datum đảm bảo cho khái niệm toán học “hệ tọa độ” có thể được dùng vào bài toán mô tả vị trí thực tế của các feature nằm trên hoặc gần bề mặt trái đất bằng các tọa độ.
Các hệ tham chiếu tọa độ
Tọa độ chỉ rõ ràng khi có hệ tham chiếu tọa độ đi kèm với tọa độ. Hệ tham chiếu tọa độ là hệ tọa độ tham chiếu đến trái đất. Hệ tham chiếu tọa độ bao gồm hệ tọa độ (coordinate system) và mốc (datum). Có các hệ tham chiếu tọa độ: geocentic, geographic (bao gồm một hình elip), hệ quy chiếu (projected), engineering, image, vertical, temporal
Tọa độ (Coordinate) là tập các giá trị vô hướng có thứ tự định nghĩa vị trí của một điểm trong một hệ tham chiếu tọa độ. Tập này bao gồm một, hai hoặc ba tọa độ (Ordinate). Tọa độ này phải độc lập nhau và số tọa độ bằng với số chiều hệ không gian tọa độ, ví dụ tọa độ không thể bao gồm hai chiều cao.
Hệ tọa độ (Coordinate System) bao gồm tập các trục tọa độ có đơn vị cụ thể. Khái niệm “đơn vị của không gian tọa độ” bao gồm tập các quy tắc toán học định nghĩa quan hệ giữa các giá trị tọa độ và chất lượng không gian không đổi giữa các điểm, ví dụ các quy tắc toán học yêu cầu tính toán góc và khoảng cách giữa các điểm từ giá trị tọa độ và ngược lại.
Gốc (Datum) định nghĩa gốc, hướng và tỉ lệ xích của hệ tọa độ và ràng buộc với trái đất. Datum đảm bảo cho khái niệm toán học “hệ tọa độ” có thể được dùng vào bài toán mô tả vị trí thực tế của các feature nằm trên hoặc gần bề mặt trái đất bằng các tọa độ.
Formatted: Dutch (Netherlands)
Hình IV-11: Hệ tham chiếu tọa độ
Chuyển đổi tọa độ
Ngoài việc mô tả hệ tham chiếu tọa độ, OGC còn cung cấp các mô tả cho chuyển đổi tọa độ giữa hai hệ tham chiếu tọa độ khác nhau (Hình IV-1Hình IV-1). Với thông tin như vậy dữ liệu địa lý có các hệ tham chiếu tọa độ khác nhau có thể được tổ hợp với nhau để cung cấp dịch vụ.
Chuyển đổi tọa độ (Coordinate Conversion) là hoạt động toán học trên các tọa độ mà không có sự thay đổi về Datum. Ví dụ điển hình của chuyển đổi tọa độ là một quy chiếu bản độ. Các tham số mô tả sự chuyển đổi tọa độ được định nghĩa theo lý thuyết chứ không phải nhận được từ thực nghiệm
Thay đổi tọa độ (Coordinate Transformation) là hoạt động toán học trên các tọa độ và có sự thay đổi Datum. Các tham số trong thay đổi tọa độ được lấy từ thực nghiệm từ tập dữ liệu bao gồm tọa độ của tập các điểm trong cả hai hệ tham chiếu tọa độ. Quá trình tính toán này thường dựa vào sự thỏa mãn về tính chính xác để chuyển đổi.
Hệ quy chiếu bản đồ là sự chuyển đổi tọa độ từ hệ thống tọa độ geodetic sang dạng mặt phẳng, chuyển đổi tọa độ ở dạng kinh độ, vĩ độ sang tọa độ phẳng của bản đồ. Kết quả là hệ tọa độ hai chiếu gọi là hệ quy chiếu tọa độ
Thƣ mục tổ chức vị trí (Location Organizer folder)
Tham chiếu không gian có thể được thực hiện bằng cách tập hợp các thông tin chia sẻ một vị trí chung theo không gian và thời gian. OGC đã định nghĩa thư mục tổ chức vị trí LOF là mô hình thông tin nhiều nguồn chung để xử lý thông tin không gian thời gian. LOF có thể bao gồm ảnh, bản đồ, feature, cáp và bất kỳ thành phần thông tin nào (ví dụ audio, video…). LOF cũng bao gồm mối quan hệ (liên kết) giữa bất kỳ thành phần thông tin LOF nào hoặc giữa thành phần LOF và tài nguyên bên ngoài (ví dụ liên kết đến trang web, truy vấn không gian của một cơ sở dữ liệu cụ thể…)
Formatted: Dutch (Netherlands)
Biểu đồ lớp vị trí (PT Logical Package: Positioning)
Hình IV-22: Biểu đồ lớp vị trí
IV.1.2Dữ liệu thuộc tính
Thông tin trong các dịch vụ được tổ chức theo từng category. Mỗi category có thể gồm một hoặc nhiều subcategory và content.
Category là khái niệm để chỉ một tập các đối tượng có các thuộc tính giống nhau (ví dụ “khách sạn”, “nhà hàng”, “rạp chiếu phim”, “bến tàu”, “bến xe”, “bưu điện” là các category).
Subcategory là các category con nằm trong category gốc (ví dụ “tên phim” là một subcategory nằm trong category “rạp chiếu phim”).
Content là nơi định nghĩa các view, table chứa thông tin về đối tượng nằm trong category xác định (ví dụ view “hotel” là một content của category “khách sạn”).
Formatted: Dutch (Netherlands)
Hình IV-33: Dữ liệu thuộc tính
IV.2Mô hình cơ sở dữ liệu cho dịch vụ Directory
Dịch vụ Directory cung cấp cho người sử dụng tập các thông tin về địa điểm quan tâm POI. Dịch vụ yêu cầu cần có hai loại thông tin:
ID duy nhất cho mỗi POI (cột khóa chính trong cơ sở dữ liệu)
Vị trí địa lý của POI (cột hình dạng không gian hoặc cột các tọa độ x, y trong cơ sở dữ liệu)
Dịch vụ yêu cầu ID duy nhất cho mỗi POI để định danh duy nhất một POI xác định, vì vậy POI này có thể được dùng cho các quá trình tìm kiếm sau đó. Dịch vụ cần có cột tọa độ không gian để cung cấp cách tìm kiếm dạng Proximity. Ngoài ra các thông tin khác về POI như tên POI, số điện thoại, địa chỉ, mô tả về POI cũng có thể cần thiết để cung cấp đầy đủ thông tin về POI tới người sử dụng.
Sau khi có được dữ liệu cần thiết, người quản trị hệ thống dịch vụ sẽ thiết kế cấu trúc phân tầng để chia dữ liệu thành các Category đơn giản và dễ hiểu. Các Category này cho phép người sử dụng dễ dàng tìm kiếm POI mà họ mong muốn. Cách thiết kế dữ liệu theo các Category cũng cải thiện hiệu năng tìm kiếm, mỗi yêu cầu tìm kiếm sẽ chỉ hoạt động trên một tập nhỏ của dữ liệu chứ không phải toàn bộ cơ sở dữ liệu. Cấu trúc phân tầng tương tự như trang vàng được dùng để phân loại dữ liệu.
Sau khi quyết định cấu trúc phân tầng của dữ liệu thì sẽ tiến hành thiết kế phân tầng các Category. Mỗi category có thể gồm một hoặc nhiều subcategory và content.
Category SubCategories Contents Contents Category SubCategories Contents Contents …. ROOT
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Category là khái niệm để chỉ một tập các đối tượng có các thuộc tính giống nhau (ví dụ “khách sạn”, “nhà hàng”, “rạp chiếu phim”, “bến tàu”, “bến xe”, “bưu điện” là các category).
Subcategory là các category con nằm trong category gốc (ví dụ “tên phim” là một subcategory nằm trong category “rạp chiếu phim”).
Content là nơi định nghĩa các view, table chứa thông tin về đối tượng nằm trong category xác định (ví dụ view “hotel” là một content của category “khách sạn”).
Mô hình cơ sở dữ liệu tổng quát được minh họa ở Hình IV-4Hình IV-4:
Hình IV-44: Mô hình cơ sở dƣ̃ liê ̣u tổng quát
Category SubCategories Contents Contents Category SubCategories Contents Contents …. Catalo g
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands) Mô hình dữ liệu cụ thể trong phần mềm :
Số phòng Khách sạn Loại Khách sạn Nhà hàng NH Việt Nam NH Nhật Bản NH Trung Quốc NH Châu âu Quán bar Các dịch vụ Bể Bơi Hội trường Dịch vụ khác Nhà hàng NH Việt Nam NH Nhật Bản NH Trung Quốc NH Châu âu Đồ ăn Rạp chiếu phim Yellow Page
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Hình IV-55: Mô hình cơ sở dƣ̃ liê ̣u cụ thể trong phần mềm IV.3Dữ liệu cho dịch vụ tìm kiếm
Bảng categories lưu trữ thông tin về các category trong cơ sở dữ liệu . Bảng này gồm các trường:
CATEGORY_ID NUMBER, CATEGORY_NAME VARCHAR2(256), FULL_PATH_NAME VARCHAR2(1024), DESCRIPTION VARCHAR2(1024), HAS_SUBCATEGORY NUMBER(1), LEVELS NUMBER);
Bảng contents lưu trữ thông tin về các content trong toàn bộ cơ sở dữ liệu . Bảng này gồm các trường: CONTENT_ID NUMBER, CONTENT_NAME VARCHAR2(256), VIEW_NAME VARCHAR2(256), KEYWORD VARCHAR2(256), DESCRIPTION VARCHAR2(1024), FOR_LOCATION NUMBER); Bến xe Chuyến xe Bến tàu Chuyến tàu Bưu điện Dịch vụ bưu điện Rạp chiếu phim Tên phim Giờ chiếu
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
CATEGORY_ID NUMBER,
CONTENT_ID NUMBER);
Các view (view_name) của các category khác nhau có thể bao gồm các trường thông tin khác nhau nhưng phải bao gồm các trường sau :
View [view_name] ID NUMBER, NAME VARCHAR2(256), POI_NAME VARCHAR2(256), HOUSE_NUMBER VARCHAR2(256), STREET_NAME VARCHAR2(256), MUNICIPALITYSUBDIVISION VARCHAR2(256), MUNICIPALITY VARCHAR2(256), TELEPHONE_NUMBER VARCHAR2(256), DESCRIPTION VARCHAR2(256), DETAIL VARCHAR2(1024), PARENT_VIEW_NAME VARCHAR2(64), PARENT_POI_ID NUMBER, LOC_LONG NUMBER, LOC_LAT NUMBER;
IV.4 Thƣ̣c hiê ̣n chuyển đổi, chuẩn hóa số liê ̣u
Dữ liê ̣u được thu thâ ̣p và câ ̣p nhâ ̣t dưới da ̣ng excel , tiến hành xây dựng các thủ tục trên Visual Basic và Oracle để chuyển đổi thành định dạng theo thiết kế, chuẩn hóa dữ liê ̣u và đưa vào hê ̣ thống cơ sở dữ liê ̣u Oracle .
IV.4.1Bản đồ nền
IV.4.1.1Biên tập bản đồ nền:
Biên tâ ̣p la ̣i các đối tượng trên bản đồ : nối đườ ng , tô màu , tên đường , phố,..
Chuẩn hóa hê ̣ thống tọa độ.
Thêm các thuộc tính phục vụ cung cấp di ̣ch vụ .
IV.4.1.2Đưa dữ liê ̣u bản đồ vào hê ̣ thống cơ sở dữ liê ̣u
Lâ ̣p trình phần mềm đọc dữ liê ̣u từ file bản đồ của Mapinfo và upload vào cơ sở dữ liê ̣u Oracle.
IV.4.1.3Chuẩn hóa bản đồ nền
Chuẩn hóa bản đồ nền để cung cấp dịch vụ trên Web .
IV.4.2Dƣ̃ liê ̣u về giao thông
Dựa trên bản đồ nền biên tâ ̣p dữ liê ̣u về giao thông :
Biên tâ ̣p các tuyến đường, tuyến phố
Các giao lộ
IV.4.3Dƣ̃ liê ̣u đi ̣a chỉ
Biên tâ ̣p đi ̣a chỉ trên bản đồ nền cho từng tuyến đường phố :
Đi ̣a chỉ các số nhà ta ̣i các giao lộ.
Đi ̣a chỉ các số nhà ta ̣i đầu phố, cuối phố, giữa phố, đoa ̣n đường
Cơ chế đánh đi ̣a chỉ: chẵn, lẻ,…
IV.4.4Các địa điểm cung cấp các di ̣ch vụ Bƣu chính - Viễn thông
Thực hiê ̣n các bước sau:
Kiểm tra tính hợp lê ̣ dữ liê ̣u
Kiểm tra tính chính xác của dữ liê ̣u so với bản đồ nền
Phân tích thông tin thuộc tính : thông tin địa lý, thông tin chung về các dịch vụ được cung cấp tại điểm bưu cục.
Phân chia các thông tin vào các catagory
Kết xuất thông tin thành đi ̣nh da ̣ng chuẩn phục vụ cho tra cứu
Lâ ̣p trình phần mềm chuyển đổi dữ liê ̣u từ các sheet của excel và import vào cơ sở dữ liê ̣u Oracle.
IV.4.5Các khách sạn lớn
Thực hiê ̣n các bước sau:
Kiểm tra tính hợp lê ̣ dữ liê ̣u
Kiểm tra tính chính xác của dữ liê ̣u so với bản đồ nền
Phân tích thông tin thuộc tính : thông tin địa lý , thông tin chung về khách sạn, phòng nghỉ, thông tin về các di ̣ch vụ (ăn uống, giải trí, thể thao,…)
Phân chia các thông tin vào các catagory
Kết xuất thông tin thành đi ̣nh da ̣ng chuẩn phục vụ cho tra cứu
Lâ ̣p trình phần mềm chuyển đổi dữ liê ̣u từ các sheet của exc el và import vào cơ sở dữ liệu Oracle