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
IV.4.6Các bến xe/bến tàu
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 tuyến, các chuyến, giờ đi, đến, giá vé,…
Phân chia các thông tin vào các category.
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.7Phần mềm
IV.4.7.1Các thành phần server
Formatted: Dutch (Netherlands)
Web Application server: Apache Tomcat 5.0. Đây là sản phẩm ổn đi ̣nh và được sử dụng rộng rãi trên thế giới, đă ̣c biê ̣t là các server sử dụng servlet .
Web Server: Spring Webmap Server
Web map server: Geoserver (như đã trình bày trong phần trên).
Location Server: OpenLS server bao gồm Directory service, Geocoder Service, Reverse Geocoder Service.
Route server: Route Server.
IV.4.7.2Các thành phần client
SVG Viewer: Bao gồm 2 SVG viewer: Adobe SVG Viewer plugin và Spring SVGViewer extension. Spring SVGViewer được phát triển riêng với mục đích tích hợp với applet dựa trên các module cơ sở của Batik SVG Browser.
Webmap Client: Spring Webmap client đảm nhiệm việc trình bày, biên tập bản đồ, xử lý bản đồ và các yêu cầu của client, tương tác với server.
Các cấu thành khác: bao gồm các kịch bản SVG, các style, ….
IV.4.8Dƣ̃ liê ̣u
Bản đồ nền : Bao gồm các bản đồ nền hai chiều tối thiểu phải có bao gồm Ranh giới Quâ ̣n huyê ̣n , Ranh giới Phường xã , Sông ngòi, Giao thông. Các bản đồ này phải có mức chi tiết không dưới tỉ lê ̣ 1:10000. Đối với Hà Nội, có thể dùng các bản đồ tỉ lệ 1:10000.
Bản đồ giao thông: Bản đồ giao thông phải chi tiết tới từng đoạn phố , các giao lô ̣. Các thông tin cần thiết kèm theo đối với bản đồ giao thông như đã trình bày trong phần thu thâ ̣p số liê ̣u về tuyến đường . Bản đồ giao thông có mức chi tiết tối thiểu là 1:10000. Hiện ta ̣i đối với Hà Nội, bản đồ tỉ lệ 1:10000 đang được sử dụng.
Các dữ liệu dịch vụ : Các dữ liê ̣u di ̣ch vụ cần phải đáp ứng đầy đủ các thông tin như đã trình bày trong phần thu thâ ̣p số liê ̣u di ̣ch vụ .
IV.5 Các chức năng của hệ thống
Căn cứ vào nhu cầu thực tế hiện nay của người dùng khi dùng các dịch vụ hướng vị trí trên bản đồ, tôi đã nghiên cứu và đưa ra các dịch vụ có thể xây dựng trên bản đồ nền để áp dụng cơ bản như sau:
IV.5.1Các chức năng về hệ thống:
Hệ thống cho phép thêm/bớt 1 hoặc 1 số dịch vụ mà không làm ảnh hưởng đến toàn bộ hệ thống
Hệ thống cho phép thiết lập dịch vụ và dữ liệu của dịch vụ một cách phân tán (tức là mỗi dịch vụ của hệ thống có thể được đặt ở các máy chủ khác nhau, dữ liệu của dịch vụ cũng được đặt ở những nơi khác nhau). Đây là ưu điểm của hệ thống thực hiện theo tiêu chuẩn của OpenGIS.
Trong đề tài này các webserver được dựng và triển khai trên 01 máy tính để chạy thử nghiệm.
IV.5.2Các chức năng về dịch vụ:
Thực hiện các chức năng định vị: Định vị đường phố thích hợp:
Định vị các địa điểm theo yêu cầu người sử dụng (POI - Point Of Interest).
Thực hiện các chức năng tìm đường ngắn nhất: dữ liệu điểm nguồn và điểm đích đưa vào tìm kiếm có thể là:
Tên đường phố
Tên địa điểm dịch vụ (POI) Tọa độ trên bản đồ
Thực hiện các chức năng tìm kiếm trang vàng
Liệt kê tất cả các Catalog, Category và Content hiện có Tìm kiếm theo một từ khóa bất kỳ
Tìm kiếm theo số điện thoại Tìm kiếm một POI cụ thể
Tìm kiếm các POI gần nhất so với một điểm, một địa chỉ hoặc một POI Tìm kiếm các POI gần nhất trong một khoảng cách nhất định
Tìm kiếm các POI nằm trong một category cụ thể thỏa mãn các tiêu chí tìm kiếm (gần nhất so với 1 điểm, 1 địa chỉ, 1 POI hoặc là gần nhất trong một bán kính xác định) Trong phần triển khai, tôi đã nghiên cứu và cung cấp các dịch vụ căn cứ vào địa chỉ để phục vụ người dung là dịch vụ trang vàng, ở đây người dùng có thể sử dụng dịch vụ để tìm kiếm, tra cứu các thông tin có sẵn. ví dụ như, nguời dùng muốn tìm các khách sạn 5 sao trên địa bàn Hànôi, hay khách hàng muốn tìm các nhà hàng, các dịch vụ mà các khách sạn cung cấp để có lựa chọn tốt nhất khi sử dụng dịch vụ.
Về cây phân cấp các dịch vụ mà hệ thống cung cấp như sau: Khách sạn o Loại khách sạn o Nhà hàng o Các dịch vụ o Số phòng o Tên khách sạn Nhà hàng o Nhà hàng Việt Nam o Nhà hàng Trung Quốc o Nhà hàng Nhật bản o Nhà hàng châu âu o Đồ ăn
Formatted: Dutch (Netherlands) Bến xe o Chuyến xe o Tên bến Bến tầu o Chuyến tầu o Tên ga Bưu điện o Tên bưu cục Rạp chiếu phim o Tên rạp o Tên phim
Với khả năng tìm kiếm và tra cứu thông tin phong phú và đa dạng, người dùng có thể tra cứu các thông tin đầy đủ dựa trên mục đích của mình mỗi khi có nhu cầu. Cũng như dịch vụ SMS Locator của Mobifone, hệ thống có thể đáp ứng tìm kiếm các dịch vụ như nhà hàng, khách sạn, bến tầu, bến xe trong phạm vị người dùng dang đứng hoặc trong phạm vi mà người dùng muốn tím kiếm. Ví dụ như muốn tìm kiếm xung quanh vị trí trường Đại học Công nghệ các bến tầu, bến xe, khách sạn nào, hệ thống có thể liệt kê ra. Với ưu điểm tìm kiếm online và không mất phí dịch vụ, có thể nói hệ thống sẽ mang lại nhiều tiện ích cho người dùng.
IV.5.3Các tính năng cơ bản của bản đồ
Mở biểu tượng của chương trình từ máy di động. Đưa vào địa chỉ của máy chủ, click OK, bản đồ nền của dữ liệu thành phố Hà nội hiện lên:
Hình IV-66: Minh họa truy câ ̣p hê ̣ thống
Tính năng quản lý các lớp của bản đồ nền: Từ menu „Quan ly lop‟, người sử dụng có thể thêm vào hoặc bớt đi một số lớp hiển thị của bản đồ nền.
Formatted: Dutch (Netherlands) Hình IV-77: Các chức năng bản đồ – quản lý lớp
Tính năng thu nhỏ: click vào nút hoặc từ menu chọn „Thu nho‟ để thực hiện chức năng thu nhỏ bản đồ.
Hình IV-88: Chứ c năng thu nhỏ
Formatted: Dutch (Netherlands)
Tính năng phóng to và phóng to theo vùng: click vào nút hoặc từ menu chọn „phong to‟ để phóng to bản đồ. Hay có thể phóng to theo vùng bằng cách từ menu chọn „phong to theo vung‟
Hình IV-99: Chứ c năng phóng to
Tính năng kéo – di chuyển vùng bản đồ: Từ menu chọn „Keo‟ để thực hiện di chuyển vùng bản đồ hiển thị
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands) Hình IV-1010: Chứ c năng phóng kéo
Tính năng hiển thị tọa độ con trỏ trên màn hình: từ menu chọn „Toa do‟ để thực hiện chức năng lấy tọa độ trên bản đồ tại vị trí con trỏ.
Hình IV-1111: Hiển thị to ̣a đô ̣
Tính năng đo khoảng cách từ hai điểm: từ menu chọn „Khoang cach‟ để thực hiện chức năng đo khoảng cách từ hai điểm trên bản đồ.
Hình IV-1212: Chứ c năng đo khoảng cách
IV.5.4Tính năng tìm kiếm của Directory
Từ menu chọn „Trang vang‟ hoặc ấn vào nút để bắt đầu chức năng tìm kiếm. Màn hình sẽ hiển thị 5 cách tìm kiếm:
Tìm kiếm theo từ khóa
Tìm kiếm theo tên địa điểm quan tâm POI Tìm kiếm theo số điện thoại của địa điểm
Tìm kiếm theo địa chỉ (địa chỉ đường phố/tên địa điểm)
Tìm kiếm theo loại: Khách sạn, Nhà hàng, Bến xe, Bến tàu, Rạp chiếu phim, Bưu điện.
Trong các cách tìm kiếm theo từ khóa, tìm kiếm theo địa điểm quan tâm POI và tìm kiếm theo loại đều có tùy chọn có tìm kiếm gần nhất hoặc trong khoảng cách nhất định so với điểm mốc hay không.
Kết quả tìm kiếm được có thể được dùng để làm điểm mốc cho các lần tìm kiếm sau hoặc đặt làm điểm đầu hay điểm cuối trong dịch vụ tìm đường.
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Hình IV-1313: Dịch vụ trang vàng
Tìm kiếm theo từ khóa: Nhập vào từ khóa cần tìm kiếm. Có thể nhập vào yêu cầu tìm kiếm từ một vị trí mốc xác định với một khoảng cách nhất định (tìm kiếm trong khoảng – within) hoặc không xác định khoảng cách (tìm kiếm gần nhất – nearest). Hình vẽ dưới đây là tìm kiếm các khách sạn gần nhất với ks melia.
Hình IV-1414: Tìm kiếm theo từ khóa
Việc lựa chọn điểm mốc để tìm kiếm ngoài cách nhập vào địa chỉ/địa điểm,