TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.HCM KHOA CÔNG NGHỆ THÔNG TIN ~~~~~~*~~~~~~ BÁO CÁO THỰC TẬP TỐT NGHIỆP NGHIÊN CỨU BÀI TOÁN GEOCODING VÀ PHÁT TRIỂN ỨNG DỤNG MINH HỌA NGÀNH: CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN Giáo viên hướng dẫn : Lê Văn Quốc Anh Sinh viên thực hiện : Bùi Thiện Nhân MSSV: 1651120111 : Nguyễn Đức Hiếu MSSV: 1651120088 TP. HỒ CHÍ MINH – Năm 2020 LỜI CAM ĐOAN Chúng em bằng những sự cố gắng và nỗ lực tìm hiểu, học hỏi của bản thân mình. Với những tìm tòi từ thực tế và với những kiến thức đã học chúng em đã nghiên cứu các dịch vụ Geocoding. Nhóm chúng em cũng thực hiện so sánh, demo.
Từ những ngôn ngữ Javascript, PHP, MySQL … đã học và những tham khảo từ anh chị khoá trước, thông tin trên mạng đã giúp nhóm chúng em hoàn thành tốt TTTN của mình. Chúng em xin chịu hoàn toàn trách nhiệm với những gì mình đã viết. Mặc dù đã cố gắng hoàn thành đề tài với tất cả sự nỗ lực của bản thân, nhưng chắc chắn không thể tránh khỏi những thiếu sót nhất định, kính mong sự cảm thông và tận tình chỉ bảo của quý Thầy Cô. Chúng em xin chân thành cảm ơn.
HỒ CHÍ MINH – Năm 2020 Nhóm sinh viên thực hiện Bùi Thiện Nhân Nguyễn Đức Hiếu 2 MỤC LỤC LỜI CAM ĐOAN. 3 DANH MỤC HÌNH. 5 DANH MỤC BẢNG. 6 DANH SÁCH THUẬT NGỮ, CHỮ VIẾT TẮT.
Tính cấp thiết. Giới hạn và phạm vi của đề tài. Ý nghĩa khoa học của đề tài. Ý nghĩa thực tiễn của đề tài.
Công nghệ liên quan. Tìm hiểu về geocoding. Geocoding được sử dụng để làm gì?. Địa chỉ là gì?.
Quá trình xử lý geocoding. Các dịch vụ Geocoding. Dịch vụ Google Maps API. Dịch vụ MapQuest.
Dịch Vụ Here. So sánh đánh giá. Tìm hiểu về độ chính xác. Tiến hành so sánh độ chính xác.
Tổng kết so sánh. Tính thẩm định. Tài liệu và hỗ trợ. Phát triển ứng dụng demo.
Ứng dụng demo đánh dấu các địa điểm. Đăng ký API Key. Tiến hành thực hiện ứng dụng. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN.
Hướng phát triển. 51 Tài liệu tham khảo. 53 4 DANH MỤC HÌNH Hình 1 Mô tả địa chỉ US. 10 Hình 2 Google Map - Key Google Maps API.
15 Hình 3 Google Map - Bắt đầu. 16 Hình 4 Google Map - Tọa độ bắt đầu. 16 Hình 5 Google Map - Search Box. 17 Hình 6 Trang chủ MapQuest.
18 Hình 7 MapQuest - Key MapQuest API. 19 Hình 8 Mapquest - Demo. 20 Hình 9 Mapquest - Tọa độ bắt đầu. 20 Hình 10 Here - Giao diện trang chủ.
22 Hình 11 Minh họa interpulation. 24 Hình 12 Google Maps - Kết quả tọa độ. 25 Hình 13 Mapquest - Gửi dữ liệu đến API. 26 Hình 14 Here – Tiến hành tạo Bearer Key.
28 Hình 15 Here - Lấy Access_Token. 28 Hình 16 Here - Tạo credentials key. 29 Hình 17 Here - Access Key ID và Access Key Secret. 29 Hình 18 Here - Kết quả.
30 Hình 19 Here - Sử dụng Bearer. 31 Hình 20 Here - Lấy dữ liệu. 31 Hình 21 Google Map - Giá dịch vụ Map. 40 Hình 22 Google Map - Giá Geocoding, Places.
41 Hình 23 Callback Google Map Script. 44 Hình 24 Hàm callBack initMap(). 47 Hình 28 Giao diện ứng dụng. 47 Hình 29 AutoComplete SearchBox.
48 Hình 30 Kết quả tìm kiếm. 48 Hình 31 Kết quả lưu dữ liệu. 49 Hình 32 Kết quả hiển thị Markers. 49 Hình 33 Kết quả hiện thị InfoWindow.
50 5 DANH MỤC BẢNG Bảng 1 Bảng ký hiệu viết tắt. 6 Bảng 2 Tiến trình geocoding. 12 Bảng 3 So Sánh Độ Chính Xác Một Số Địa chỉ ở US. 34 Bảng 4 So Sánh Độ Chính Xác Trên Nhiều Nơi.
37 Bảng 6 So sánh Price. 42 DANH SÁCH THUẬT NGỮ, CHỮ VIẾT TẮT TT Viết tắt Diễn giải Giải thích 1 GCL Google Cloud Platform Nền tảng đám mây GG 2 POI Points of interest Một vị trí điểm cụ thể mà ai đó có thể thấy hữu ích hoặc thú vị 3 LON Longtitude Kinh độ 4 LAT Lattitude Vĩ đọ 5 MGRS Military Grid Reference System Hệ thống tham chiếu lưới quân sự 6 USNG United States National Grid Lưới quốc gia Hoa Kỳ 7 USPS United States Postal Service Dịch vụ Bưu chính Hoa Kỳ 8 WGS World Geodetic System Hệ thống trắc địa thế giới 9 SLA Service Level Agreement Cam kết chất lượng dịch vụ Bảng 1 Bảng ký hiệu viết tắt 6 1. Tính cấp thiết Ngày nay với sự phát triển mạnh mẽ của công nghệ bản đồ thì việc tìm kiếm thông tin cũng như định vị trên bản đồ ngày càng trở nên phổ biến. Không những thế việc ứng dụng công nghệ này trên nền tảng website cũng là một xu hướng tất yếu.
Trên thực tế đã có nhiều dịch vụ geocoding nổi tiếng như Here, MapQuest, MapBox, Openstreet, Google Map … Cùng với đó là sự phát triển mạnh mẽ việc sử dụng các dịch vụ thông qua các website. Nhận thấy xu hướng phát triển đó nhóm đã có ý tưởng sử dụng dịch vụ geocoding để tạo ra một ứng dụng giúp tìm kiếm và lưu lại các địa điểm trên nền tảng website. Mục tiêu Tìm hiểu, nghiên cứu các dịch vụ geocoding. So sánh, đánh giá, lựa chọn và áp dụng dịch vụ để xây dựng ứng dụng trên nền tảng website.
Áp dụng các kiến thức tìm hiểu được xây dựng hệ thống chạy trên nền tảng website để giải quyết các vấn đề sau: Tìm kiếm vị trí trên bản đồ qua tên của địa chỉ có sẵn. Hiển thị thông tin chính xác về tọa độ, địa chỉ đầy đủ. Lưu các thông tin liên quan đến địa chỉ vào cơ sở dữ liệu. Hiển thị các thông tin được lưu thể hiện trên bản đồ.
Giới hạn và phạm vi của đề tài - Về thời gian: Đề tài được thực hiện từ 2/3/2020 đến 20/5/2020 - Về nội dung: Đề tài nghiên cứu các dịch vụ geocoding và xây dựng ứng dụng demo dựa trên các phần mềm mã nguồn mở. - Về công nghệ: Sử dụng ngôn ngữ lập trinh Javascrip, PHP. Hệ quản trị cơ sở dữ liệu MySQL. Ý nghĩa khoa học của đề tài Đề tài góp phần vào việc phát triển và mở rộng các ứng dụng kết hợp với các dịch vụ geocoding đang có trên thế giới.
7 Đề tài là nền tảng trong việc nghiên cứu và ứng dụng dịch vụ geocoding trên bản đồ. Ý nghĩa thực tiễn của đề tài - Cung cấp cho người sử dụng một phương tiện tìm kiếm, lưu trữ địa điểm một cách nhanh chóng, hiệu quả và thân thiện. - Xây dựng ứng dụng hỗ trợ và cung cấp cho người dùng lưu lại thông tin về địa điểm. Tìm kiếm hoặc thêm thông tin cho địa điểm cụ thể.
Công nghệ liên quan 2. Tìm hiểu về geocoding Geocoding là quá trình chuyển đổi 1 mô tả của 1 vị trí chẳng hạn như cặp địa chỉ tọa độ, một tên địa chỉ hoặc tên của một nơi nào đó đến một vị trí trên bề mặt của trái đất. Chúng ta có thể nhập input là một chuỗi text mô tả địa chỉ hoặc tên địa danh, trả về tọa độ/vị trí của điểm đó trên bản đồ. Chúng ta có thể nhanh chóng tìm được các địa điểm/vị trí thông qua geocoding.
Các loại vị trí mà chúng ta có thể tìm kiếm bao gồm các điểm (POI) hoặc tên như tên các ngọn núi, các cây cầu hoặc các cửa hàng. Khi đó sẽ chuyển đổi sang các tọa độ dựa trên các kinh độ và vĩ độ hoặc hệ thống quy chiếu khác. Ví dụ như the Military Grid Reference System (MGRS) or the U. National Grid system.
Geocoding được sử dụng để làm gì? Ngay từ những việc phân tích dữ liệu đơn giản đến quản lý kinh doanh và quản lý khách hàng. Có rất nhiều thứ ứng dụng với geocoding. Với các mã địa chỉ được mã hóa địa lý chúng ta có thể nhận được các thông tin và hiển thị vị trí liên quan với địa chỉ đó. Hầu như các tổ chức kinh doanh đều muốn lưu lại địa chỉ và thông tin của khách hàng.
Vì vậy những thông tin về số nhà, tên đường, mã bưu chính, thành phố, tên của khách hàng đều được lưu lại. Geocoding sẽ cho phép các tổ chức, cá nhân có thể lưu được thông tin của khách hàng. Điều này hoàn toàn có thể được làm với các dịch vụ Geocoding hiện nay như Google Maps API, Here, MapQuest, MapBox … Nhờ các dịch vụ này chúng ta có thể hiển thị thông tin địa chỉ dựa trên những thông số nhất định hay cho phép phân tích thêm các thông tin liên quan đến địa chỉ này. Đề tài này hướng đến các dịch vụ như thế.
Tìm hiểu về các dịch vụ geocoding như Google Maps API, Developer Here, Mapquest. Thực hiện tìm hiểu và triển khai các dịch vụ. Sau đó so sánh các dịch vụ và tiến hành xây dựng ứng dụng demo dựa trên dịch vụ phù hợp nhất. Địa chỉ là gì? Để đại diện cho tọa độ đó chúng ta gọi là địa chỉ.
Địa chỉ đơn giản là cách thức được sử dụng để mô tả vị trí. Cho mục đích geocoding nó có thể là tên đường, tên một nơi hay vị trí. 9 Địa chỉ có nhiều kiểu và định dạng khác nhau bao gồm các tuyến đường, giao lộ, số nhà với tên con đường và mã bưu chính (Postal Code) tương ứng. Địa chỉ này giúp geocoding trong việc tìm kiếm, xác định chính xác đến vị trí cụ thể.
Ở Việt Nam phổ biến một số định dạng địa chỉ bao gồm - Phần số nhà và tên đường. Ví dụ: 114/4 Năm Châu - Phần tên thôn/ấp. Ví dụ: Thôn 3, xã Lộc Châu - Địa chỉ đầy đủ: 114/4 Năm Châu, Phường 12, Quận Tân Bình, Thành phố Hồ Chí Minh Ở Mỹ phổ biến các định dạng địa chỉ như: - Số nhà, tên đường, loại đường, tên căn hộ, thành phố, tiểu bang, mã bưu chính, đất nước Hình 1 Mô tả địa chỉ US 2.