MỤC LỤC
MỤC LỤC 1
DANH SÁCH CÁC BẢNG, HÌNH VÀ SƠ ĐỒ .3
MỞ ĐẦU 5
CHƯƠNG 1 – TỔNG QUAN 7
1.1 Giới thiệu cơ sở thực tập 7
1.1.1 Giới thiệu chung: 7
1.1.2 Tổ chức: 7
1.1.3 Sản phẩm – dịch vụ: .7
1.2 Cơ sở lý thuyết .10
1.2.1 Tổng quan về GIS 10
1.2.2 Tổng quan về WebGIS 14
CHƯƠNG 2 – PHƯƠNG PHÁP NGHIÊN CỨU ĐỀ TÀI 17
2.1 Khảo sát hệ thống 17
2.1.1 Tổng quan về hệ thống 17
2.1.2 Đánh giá các website cung cấp thông tin nhà đất đang tồn tại .17
2.2 Xây dựng hệ thống mới .18
2.3 Giới thiệu bài tốn: “ứng dụng cơng nghệ WebGIS xây dựng websitecung cấp thông tin nhà đất tại địa bàn Hà Nội” 20
2.3.1 Mục đích 20
2.3.2 Mục tiêu .21
2.3.3 Yêu cầu đối với website .21
2.4 Các công cụ xây dựng website 21
Trang 22.4.2 Ngơn ngữ lập trình PHP .24
2.4.3 Hệ quản trị cơ sở dữ liệu MySQL 25
2.4.4 Smarty 26
2.4.5 FCKeditor 27
2.4.6 Overlib 28
CHƯƠNG 3 – PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 30
3.1 Phân tích hệ thống .30
3.1.1 Thơng tin vào/ ra của hệ thống 30
3.1.2 Biểu đồ phân cấp chức năng 31
3.1.3 Biểu đồ luồng dữ liệu 31
3.3 Thiết kế hệ thống 37
3.3.1 Thiết kế cơ sở dữ liệu 37
3.3.2 Sơ đồ thực thể liên kết 39
CHƯƠNG 4 – CÀI ĐẶT HỆ THỐNG 40
4.1 Cài đặt thuật toán cho hệ thống 40
4.1.1 Các chức năng thao tác với bản đồ .40
4.1.2 Chức năng tìm kiếm .47
4.1.3 Chức năng cập nhật 48
4.1.4 Chức năng đăng nhập 49
4.1.5 Chức năng đăng ký: .50
4.1.6 Đăng tin: 52
4.2 Giao diện website 53
KẾT LUẬN 62
Trang 3DANH SÁCH CÁC BẢNG, HÌNH VÀ SƠ
Hình 1 1 – Mơ tả mối quan hệ giữa dữ liệu không gian và dữ liệu thuộc tính14
Hình 1 2 - Các dạng u cầu từ phía Client 16
YHình 3 1 - Biểu đồ phân cấp chức năng .31
Hình 3 2 - Biểu đồ luống dữ liệu mức ngữ cảnh 32
Hình 3 3 - Biểu đồ luồng dữ liệu mức đỉnh 33
Hình 3 4– Biểu đồ phân rã chức năng thao tác với bản đồ 35
Hình 3 5– Biểu đồ phân rã chức năng tìm kiếm 35
Hình 3 6- Biểu đồ phân cấp chức năng cập nhật 36
Hình 4 1- Giao diện trang chủ 53
Hình 4 2 – Giao diện trang tìm kiếm 54
Hình 4 3- Giao diện trang đăng ký thành viên .55
Hình 4 4- Giao diện trang đăng nhập 55
Hình 4 7 – Giao diện trang cá nhân 58
Hình 4 8 – Giao diện trang quản lý tin đăng 58
Hình 4 9 – Giao diện trang quản trị 59
Hình 4 20 – Giao diện trang đăng tin 60
Hình 4 21 – Giao diện trang đăng tin trên bản đồ 6
Sơ đồ 1 – Sơ đồ thực thể liên kết 39
Sơ đồ 2 - Sơ đồ giải thuật chức năng phóng to .41
Sơ đồ 3 - Sơ đồ giải thuật chức năng thu nhỏ .42
Sơ đồ 4 - Sơ đồ giải thuật chức năng di chuyển 43
Sơ đồ 5 - Sơ đồ giải thuật chức năng đưa ra khung nhìn .44
Sơ đồ 6 - Sơ đồ giải thuật chức năng bật tắt lớp 45
Sơ đồ 7 - Sơ đồ giải thuật chức năng tìm kiếm .48
Sơ đồ 8 - Sơ đồ giải thuật chức năng cập nhật 49
Trang 4Sơ đồ 10 - Sơ đồ giải thuật chức năng đăng ký .51
Sơ đồ 11 - Sơ đồ giải thuật chức năng đăng tin .52
YBảng 1 – Bảng vs_district .37Bảng 2 – Bảng vs_ree 37Bảng 3 – Bảng vs_user 38Bảng 4 – Bảng vs_ward 38MỞ ĐẦU
Trang 5đây là một dạng ứng dụng công nghệ thông tin nhằm mô tả thế giới thực mà lồingười đang sống - tìm hiểu - khai thác Với những tính năng ưu việt, kỹ thuật GISngày nay đang được ứng dụng trong nhiều lĩnh vực nghiên cứu và quản lý, đặc biệttrong quản lý và quy hoạch sử dụng - khai thác các nguồn tài nguyên một cách bềnvững và hợp lý
Trước đây công nghệ GIS chỉ được cài đặt trên các thiết bị cầm tay, thìngày nay, cùng với sự phát triển của Internet, các ứng dụng của công nghệ GIS đãđược phát triển rộng rãi qua mạng, việc tìm kiếm đường đi, tìm kiếm thơng tin thờitiết…trở nên hết sức dễ dàng.
Hiện nay, nhu cầu về tìm kiếm trao đổi thơng tin nhà đất trên internet là rất lớnvà đã có nhiều website được tạo ra cho mục đích này Tuy nhiên, một đặc tính củasản phẩm nhà đất cực kỳ quan trọng và có tính chi phối giá trị sản phẩm đó là vị trí.Trước đây những mơ tả về vị trí thường là bằng văn bản, khó hình dung, trong bốicảnh đó cơng nghệ GIS qua mạng (WEBGIS) ra đời đã có thể hiển thị một cáchdiễn cảm mọi thơng tin địa lý trên một bản đồ trực tuyến Người dùng nhanh chóngtìm ra các thơng tin địa lý về sản phẩm nhà đất mình quan tâm Xuất phát từ nhucầu đó em quyết định chọn đề tài “Ứng dụng công nghệ WEBGIS xây dựng websitecung cấp thông tin nhà đất trên địa bàn Hà Nội.”
Đây là lần đầu tiên em tiếp cận với công nghệ WEBGIS, cũng như thờigian có hạn nên khơng tránh khỏi những thiếu sót Vì vậy em rất mong được sự gópý của các thầy cơ cùng các bạn để website ngày càng hồn thiện và có thể áp dụngtrong thực tế.
Em xin gửi lời cảm ơn chân thành tới các thầy cô trong Bộ mơn CNTT, đặcbiệt là Th.S Phạm Minh Hồn đã hướng dẫn, chỉ bảo tận tình trong suốt thời gianem thực hiện đề tài này Em cũng xin chân thành cảm ơn các nhân viên bộ phậnGIS thuộc công ty FPT-IS đã tạo điều kiện cho em trong quá trình thực tập và thựchiện đề tài này.
Trang 6Phạm Thị Nhung
CHƯƠNG 1 – TỔNG QUAN1.1 Giới thiệu cơ sở thực tập
1.1.1 Giới thiệu chung:
Trang 71.1.2 Tổ chức:
FPT-IS bố trí mơ hình 7 cơng ty thành viên, và 3 trung tâm, chuyên sâu theocác lĩnh vực kinh doanh và lĩnh vực công nghệ.
* Công ty TNHH Hệ thống Thơng tin Ngân hàng – Tài chính FPT* Công ty TNHH Hệ thống Thông tin FSE FPT
* Công ty TNHH Hệ thống Thông tin Viễn thông và Dịch vụ Cơng FPT* Cơng ty TNHH Giải pháp Tài chính công FPT
* Công ty TNHH Phát triển phần mềm FPT
* Công ty TNHH Dịch vụ Hệ thống Thông tin FPT* Công ty TNHH Dịch vụ ERP FPT
* Trung tâm Phát triển Thương mại Tồn cầu* Trung tâm Hạ tầng Cơng nghệ Thông tin* Trung tâm Dịch vụ BPO
Đảm bảo hoạt động cho các công ty thành viên và trung tâm là 9 ban chứcnăng phụ trách các mảng công việc: Tài chính, Nhân sự, Kế hoạch kinh doanh, Chấtlượng, Hành chính, Truyền thơng, Thơng tin, Hồ sơ Thầu và Pháp chế, Hoạt độngphong trào.
1.1.3 Sản phẩm – dịch vụ:
-Tài chính – ngân hàng:
FPT.STSR - Hệ thống phần mềm Sở thơng tin chứng khốn
Mobile Banking
Phone Banking
FPT.SmartFinance - Phần mềm quản lý Cơng ty Tài chính
FPT.SmarConnect - Giải pháp kết nối Ngân hàng - Chứng khoán
FPT.INDEX - Phần mềm nghiệp vụ Cơng ty Chứng khốn
FPT.SmartBank - Phần mềm lõi ngân hàng (Core banking)
-Tài chính cơng:
Trang 8 HTKK - Hệ thống hỗ trợ tờ khai Thuế
TDTT - Hệ thống trao đổi thông tin Thuế
MSNS - Hệ thống cấp mã số đơn vị sử dụng Ngân sách
QLNS - Hệ thống Quản lý Ngân sách nhà nước
BCTC - Hệ thống khai thác Báo cáo Tài chính
MSDT - Hệ thống cấp mã số đầu tư xây dựng cơ bản
QLAC - Hệ thống Quản lý Ấn chỉ
QLT-TKTN - Hệ thống Quản lý Thuế
QHS - Hệ thống theo dõi trả nhận Hồ sơ Thuế
TTDT - Hệ thống Thanh toán Điện tử Kho bạc nhà nước
QTN - Hệ thống Quản lý và thu nợ Thuế
-Viễn thông:
Data Warehouse - Hệ thống Kho dữ liệu cho các công ty kinh doanh dịch vụViễn thông
FPT.SaleManager - Hệ thống quản lý bán hàng tập trung cho các công ty kinhdoanh dịch vụ Viễn thông
FPT.Provisioning Gateway - Hệ thống giao tiếp tổng đài
FPT.mTopup - Hệ thống quản lý nạp tiền qua tin nhắn SMS
FPT.Interconnect - Hệ thống đối sốt cước
FPT.BIS - Hệ thống tích hợp tính cước cho các công ty kinh doanh dịch vụViễn thông
FPT.RBIS - Hệ thống tính cước Roaming Quốc tế
FPT.Loyality - Hệ thống Quản lý và Chăm sóc khách hàng Trung thành
-Hành chính:
QLHC - Hệ thống Quản lý Hành chính "một cửa"
BQLKCN - Hệ thống Quản trị Thông tin dành cho Ban Quản lý Khu Côngnghiệp
CSDL-GTCC - Hệ thống Cơ sở Dữ liệu cho ngành Giao thông Công chính
Trang 9 DKKD-TTDN - Hệ thống Quản lý, cấp Giấy chứng nhận Đăng ký kinh doanhvà Quản lý Thông tin Doanh nghiệp
DTKN - Hệ thống Thông tin Quản lý đơn thư khiếu nại
QLHT - Hệ thống Thông tin Quản lý Hộ tịch
-Doanh nghiệp:
FPT.DHCD - Phần mềm quản lý Đại hội cổ đông
FPT.iPaint - Hệ thống Quản lý màu sơn
Incipit - Phần mềm quản lý xuất bản thông tin
eEditorial - Hệ thống tòa soạn điện tử
FPT.iStock - Hệ thống Quản lý Cổ đông
FPT.eCMS - Hệ thống khai thác và quản trị nội dung trên nền Web
FPT.Billing - Hệ thống Quản lý Hóa đơn
FPT.iHotel - Hệ thống Quản lý Khách sạn
FPT.iHRP - Hệ thống phần mềm quản lý Nhân sự và tiền lương
-Y tế - Giáo dục:
FPT.EMISPlus - Giải pháp quản lý đào tạo Đại học và Cao đẳng theo hệ thốngtín chỉ
FPT.eHospital - Hệ thống Thông tin quản lý Bệnh viện
FPT.ISM - Hệ thống quản lý thông tin Trường Quốc Tế
-Phần mềm GIS:
CNMS – Hệ thống quản lý mạng lưới cung cấp nước
RTPAMS – Hệ thống thông tin quản lý tổng hợp các số liệu quản lý, kỹ thuậttrên nền bản đồ
ArcMen - Hệ thống quản lý lưới điện trên bản đồ số
ArcLIS - Hệ thống thông tin Quản lý đất đai trên Bản đồ số
Trang 101.2 Cơ sở lý thuyết1.2.1 Tổng quan về GIS 1.2.1.1 Khái niệm GIS
GIS - Geographic Information System hay hệ thống thơng tin địa lý được hình
thành từ ba khái niệm địa lý, thông tin và hệ thống
Khái niệm “địa lý” liên quan đến các đặc trưng về khơng gian, vị trí Các đặctrưng này ánh xạ trực tiếp đến các đối tượng trong khơng gian Chúng có thể là vậtlý, văn hoá, kinh tế,… trong tự nhiên.
Khái niệm “thông tin” đề cập đến phần dữ liệu được quản lý bởi GIS Đó làcác dữ liệu về thuộc tính và khơng gian của đối tượng
GIS có tính “hệ thống” tức là hệ thống GIS được xây dựng từ các mô đun.Việc tạo các mô đun giúp thuận lợi trong việc quản lý và hợp nhất
GIS là một hệ thống có ứng dụng rất lớn Từ năm 1980 đến nay đã có rấtnhiều các định nghĩa được đưa ra, tuy nhiên khơng có định nghĩa nào khái quát đầyđủ về GIS vì phần lớn chúng đều được xây dựng trên khía cạnh ứng dụng cụ thểtrong từng lĩnh vực Có ba định nghĩa được dùng nhiều nhất:
- GIS là một hệ thống thông tin được thiết kế để làm việc với các dữ liệu trongmột hệ toạ độ quy chiếu GIS bao gồm một hệ cơ sở dữ liệu và các phương thứcđể thao tác với dữ liệu đó
- GIS là một hệ thống nhằm thu thập, lưu trữ, kiểm tra, tích hợp, thao tác, phântích và hiển thị dữ liệu được quy chiếu cụ thể vào trái đất
- GIS là một chương trình máy tính hỗ trợ việc thu thập, lưu trữ, phân tích vàhiển thị dữ liệu bản đồ
1.2.1.2 Một số ứng dụng của GIS
Trang 11- Quản lý hệ thống đường phố, bao gồm các chức năng: tìm kiếm địa chỉ khixác định được vị trí cho địa chỉ phố hoặc tìm vị trí khi biết trước địa chỉ phố Đườnggiao thông và sơ đồ; điều khiển đường đi, lập kế hoạch lưu thơng xe cộ Phân tích vị trí,chọn khu vực xây dựng các tiện ích như bãi đỗ xe, ga tàu xe…Lập kế hoạch phát triểngiao thông
Quản lý giám sát tài nguyên, thiên nhiên, mơi trường bao gồm các chức năng: quảnlý gió và thuỷ hệ, các nguồn nhân tạo, bình đồ lũ, vùng ngập úng, đất nông nghiệp, tầngngập nước, rừng, vùng tự nhiên, phân tích tác động mơi trường… Xác định ví trí chấtthải độc hại Mơ hình hố nước ngầm và đường ơ nhiễm Phân tích phân bố dân cư, quyhoạch tuyến tính
Quản lý quy hoạch: phân vùng quy hoạch sử dụng đất Các hiện trạng xu thế môitrường Quản lý chất lượng nước
Quản lý các thiết bị: xác định đường ống ngầm, cáp ngầm Xác định tải trọng củalưới điện Duy trì quy hoạch các thiết bị, sử dụng đường điện
Phân tích tổng điều tra dân số, lập bản đồ các dịch vụ y tế, bưu điện và nhiều ứngdụng khác
1.2.1.3 Dữ liệu trong GIS
Một cách tổng quát, người ta chia dữ liệu trong GIS thành 2 loại:
Dữ liệu không gian (spatial) cho ta biết kích thước vật lý và vị trí địa lý của các đốitượng trên bề mặt trái đất
Dữ liệu thuộc tính (non-spatial) là các dữ liệu ở dạng văn bản cho ta biết thêmthông tin thuộc tính của đối tượng
a.Dữ liệu khơng gian
bao gồm các thể loại - Ảnh hàng không vũ trụ
- Bản đồ trực ảnh (orthophotomap)
- Bản đồ nền địa hình lập từ ảnh hàng khơng - vũ trụ - Bản đồ địa hình lập từ số liệu đo đạc mặt đất - Bản đồ địa chính
Trang 12Các loại ảnh và bản đồ nói trên đều ở dạng số và lưu lại dưới dạng Vectorhoặc
Raster.
-Dạng vector:
Trong mơ hình vector người ta trừu tượng hố các sự vật hiện tượng bằngcác đối tượng hình học: point, line, polygon.
Points: biểu diễn các đối tượng khơng có miền bao hay độ dài, nhiều khi nó
biểu diễn các đối tượng có kích thước q nhỏ so với tỷ lệ của bản đồ Ví dụ:một tịa nhà, một cây xăng, trạm xe buýt…
Lines: dùng để biểu diễn các đối tượng có chiều dài xác định nhưng khơng có
miền bao hay những đối tượng rất hẹp so với tỷ lệ bản đồ Ví dụ như biểudiễn đường giao thơng, sông…
Polygons: được dùng để biểu diễn các đối tượng có miền bao xác định Ví
dụ: các đơn vị hành chính, hồ, ruộng…
Dạng raster:
Mơ hình raster biểu diễn các đặc trưng địa lý bằng các điểm ảnh (pixel) Dữliệu raster gắn liền với dữ liệu dạng ảnh hoặc dữ liệu có tính liên tục cao Dữ liệuraster có thể biểu diễn được rất nhiều các đối tượng từ hình ảnh bề mặt đất đến ảnhchụp từ vệ tinh, ảnh quét và ảnh chụp Định dạng dữ liệu raster rất đơn giản nhưnghỗ trợ rất nhiều kiểu dữ liệu khác nhau.
b.Dữ liệu thuộc tính
Là các thơng tin giải thích cho các đối tượng địa lý gắn liền với đối tượng địalý.
Ví dụ: đối tượng địa lý là quận/huyện, thì thơng tin thuộc tính đi kèm là tênquận/huyện đó Đối tượng là một ngơi nhà thì thơng tin thuộc tính là địa chỉ, tọa độđịa lý của ngôi nhà (kinh độ, vĩ độ), chủ sở hữu…
Thông thường hệ quản trị cơ sở dữ liệu GIS được xây dựng bao gồm 3 hệquản trị cơ sở dữ liệu con:
Trang 13 Hệ quản trị cơ sở dữ liệu quan hệ ở mức tra cứu, hỏi đáp Hệ này được tíchhợp cùng với hệ quản trị cơ sở dữ liệu địa lý cho phép người ta dùng truynhập dữ liệu địa lý và dữ liệu thuộc tính đồng thời Tuy nhiên, hệ quản trị cơsở dữ liệu này cho thao tác trên cơ sở dữ liệu thuộc tính bị hạn chế
Hệ quản trị cơ sở dữ liệu thuộc tính Thơng thường các hệ thống GIS đều lấymột hệ quản trị cơ sở dữ liệu quan hệ hiện có để quản trị và thực hiện các bàitốn trên dữ liệu thuộc tính mà khơng liên quan đến dữ liệu khơng gian Vídụ: MySQL, SQL Server, ORACLE.
1.2.1.4 Mối quan hệ giữa dữ liệu không gian và dữ liệu thuộc tính
Các đối tượng địa lý khi bắt đầu xây dựng đều được tự động gán cho một chỉsố ID, chỉ số này là duy nhất và nó được dùng để phân biệt các đối tượng Ví dụ:quận Tây Hồ có ID là 1, quận Ba Đình có ID là 2…
Các dữ liệu thuộc tính mơ tả cho đối tượng địa lý đó cũng được gán cho mộtchỉ số ID Chỉ số ID này phải trùng với chỉ số ID của đối tượng địa lý Chỉ số IDcủa dữ liệu thuộc tính sẽ được lưu trữ trong một file cơ sở dữ liệu cùng với cácthông tin mô tả đối tượng như tên đường, chiều dài đường giao thông…
Khi truy cập cơ sở dữ liệu, trường ID sẽ được truy cập để liên kết dữ liệukhông gian và dữ liệu thuộc tính.
Trang 14Hình 1 1 – Mô tả mối quan hệ giữa dữ liệu khơng gian và dữ liệu thuộc tính
1.2.2 Tổng quan về WebGIS1.2.2.1 Giới thiệu về WebGIS
WebGIS là hệ thống thông tin địa lý phân tán trên một mạng các máy tính đểtích hợp, trao đổi các thơng tin địa lý trên WWW (World Wilde Web) Trong cáchthực hiện nhiệm vụ phân tích GIS, dịch vụ này gần giống như là kiến trúc Client-Server của Web Xử lý thông tin địa lý được chia ra thành các nhiệm vụ ở phíaserver và phía client Điều này cho phép người dùng có thể truy xuất, thao tác vànhận kết quả từ việc khai thác dữ liệu GIS từ trình duyệt web của họ mà không phảitrả tiền cho phần mềm GIS
Một client tiêu biểu là trình duyệt web và server-side bao gồm một Web servercó cung cấp một chương trình phần mềm WebGIS Client thường yêu cầu một ảnh
IDTên quậnKý hiệu
1 Tây Hồ Q1
2 Ba Đình Q2
… … …
Trang 15bản đồ hay xử lý thông tin địa lý qua Web đến server ở xa Server chuyển đổi yêucầu thành mã nội bộ và gọi những chức năng về GIS bằng cách chuyển tiếp yêu cầutới phần mềm WebGIS Phần mềm này trả về kết quả, sau đó kết quả này được địnhdạng lại cho việc trình bày bởi trình duyệt hay những hàm từ các plug-in hoặc Javaapplet Server sau đó trả về kết quả cho client để hiển thị, hoặc gửi dữ liệu và cáccông cụ phân tích đến client để dùng ở phía client
Phần lớn sự chú ý gần đây là tập trung vào việc phát triển các chức năng GIStrên Internet WebGIS có tiềm năng lớn trong việc làm cho thơng tin địa lý trở nênhữu dụng và sẵn sàng tới số lượng lớn người dùng trên toàn thế giới Thách thức lớncủa WebGIS là việc tạo ra một hệ thống phần mềm không phụ thuộc vào platformvà chạy trên chuẩn giao thức mạng TCP/IP, có nghĩa là khả năng WebGIS đượcchạy trên bất kì trình duyệt web của bất kì máy tính nào nối mạng Internet Đối vớivấn đề này, các phần mềm GIS phải được thiết kế lại để trở thành ứng dụngWebGIS theo các kỹ thuật mạng Internet.
1.2.2.2 Các bước xử lý trong WebGIS
Quá trình làm việc với hệ thống web xử lý thông tin không gian được thựchiện theo các bước dưới đây:
1) Client gửi yêu cầu của người sử dụng thông qua giao thức HTTP đếnwebserver
2) Web server nhận yêu cầu của người dùng gửi đến từ phía client, xử lý vàchuyển tiếp yêu cầu đến ứng dụng trên server có liên quan
3) Application server (chính là các ứng dụng GIS) nhận các yêu cầu cụ thểđối với ứng dụng và gọi các hàm có liên quan để tính tốn xử lý Nếu có ucầu dữ liệu nó sẽ gửi yêu cầu dữ liệu đến data exchange server(server trao đổidữ liệu)
Trang 16Client Lấy mô tả lớp bản đồ
Mô tả về lớp bản đồ dược chọnClient
ClientClient
Xác định khả năng của webserver
Lấy ảnh bản đồ
Lấy thơng tin vị trí
Thơng tin mơ tả khả năng hỗ trợ của webserver
Thuộc tính thơng tinẢnh bản đồ
Ảnh bản đồClick lên
bản đồ Gửi yêu cầu
5) Data server dữ liệu tiến hành truy vấn lấy ra dữ liệu cần thiết và trả dữliệu này về cho data exchange server
6) Data exchange server nhận dữ liệu từ nhiều nguồn data server khác nhaunằm rải rác trên mạng Sắp xếp dữ liệu lại theo logic của yêu cầu dữ liệu,sauđó gửi trả dữ liệu về cho application server
7) Application server nhận dữ liệu trả về từ các data exchange server và đưachúng đến các hàm cần sử dụng, xử lý chúng tại đây và kết quả được trả vềcho web server
8) Web server nhận về kết quả xử lý, thêm vào các ngữ cảnh web (HTML,PHP ) để có thể hiển thị được trên trình duyệt và cuối cùng gửi trả kết quả vềcho trình duyệt dưới dạng các trang web
Trang 17
CHƯƠNG 2 – PHƯƠNG PHÁP NGHIÊN CỨU ĐỀ TÀI 2.1 Khảo sát hệ thống
2.1.1 Tổng quan về hệ thống
Sự xuất hiện của các cơn sốt nhà - đất tại Hà Nội khiến cho nhu cầu tìm hiểuthơng tin về bất động sản của người dân ngày càng tăng cao
Trên thực tế, số lượng người quan tâm và có nhu cầu trao đổi, mua bán, tìmhiểu thơng tin trong lĩnh vực nhà đất hiện nay đang rất lớn Trong khi đó, số lượngđầu báo có chuyên mục riêng cho lĩnh vực nhà đất hiện nay đang hạn chế, có thể kểđến: Báo xây dựng, Mua và bán, Diễn Đàn Doanh Nghiệp, Thị Trường có mụcdành riêng cho thị trường nhà đất Tuy vậy, xét cho cùng, chưa có một tờ báo nàochuyên hẳn về thị trường nhà đất nói chung và thị trường Hà Nội nói riêng Do đó,việc xây dựng một website là nơi để trao đổi các thông tin về nhà đất giữa nhữngngười có bất động sản và những người cần sử dụng là rất cần thiết.
Một yếu tố quan trọng quyết định sự tồn tại của website đó là thông tin nhà đấtphải luôn được cập nhật Điều này hoàn toàn dễ dàng khi mà các tin rao vặt nhà đấtdo người dùng cập nhật Để thực hiện điều này, người sử dụng phải đăng ký một tàikhoản làm thành viên của website
Khi tìm đến một trang giao dịch bất động sản, nhu cầu của người dùng đượcphân thành các nhóm sau: cần bán, cần mua, cho thuê, cần thuê Các tin đăng về nhàđất được phân loại theo các nhóm nhu cầu này, giúp cho người dùng dễ dàng tìmkiếm thơng tin.
Vị trí của nhà đất là một yếu tố rất quan trọng góp phần quyết định đến giá trịcủa bất động sản đó Làm thế nào để người dùng có thể xem được vị trí của nhà đất?Website tích hợp bản đồ số có thể giải quyết được vấn đề này.
Cơ sở dữ liệu của hệ thống phải được bảo mật và thường xuyên cập nhật
2.1.2 Đánh giá các website cung cấp thông tin nhà đất đang tồn tại
Trang 18Các site hoạt động hiệu quả có thể kể đến trang http://nhadat.timnhanh.comthuộc cổng thơng tin TimNhanh.com.
Tại đây, ngồi những thơng tin nóng nhất trên thị trường được tổng hợp từ tấtcả các báo, tạp chí trên tồn quốc, cịn có những chức năng tiện lợi khác như: Tìmkiếm nhà, đất theo tỉnh, thành, chợ bất động sản online, cài đặt thông báo tự động Người dùng truy cập vào các website này có thể đăng ký làm thành viên để sử dụngchức năng đăng tin rao mua, bán, thuê hoặc cho th nhà, đất miễn phí.
Thơng thường, điều đầu tiên thu hút sự quan tâm của người dùng khi truy cậpvào các trang thông tin này phải kể đến mức độ cập nhật thông tin trên site Cácwebsite không bị hạn chế bởi khơng gian, diện tích trang như báo giấy, nên có thểtổng hợp khơng hạn chế cùng lúc nhiều tin, bài
Ngồi việc cung cấp thơng tin, các website còn thiết lập được mạng lưới raovặt trực tuyến, hỗ trợ người dùng đăng tin rao mua, bán, trao đổi nhà đất miễn phí.Chức năng này cũng giúp tạo nên một "chợ ảo" bất động sản giao dịch khá sôi nổimỗi ngày trên mạng.
Tuy nhiên, một đặc tính của sản phẩm nhà đất cực kỳ quan trọng và có tính chiphối giá trị sản phẩm đó là vị trí Các website này chủ yếu mơ tả vị trí nhà đất bằngvăn bản rất khó hình dung Một số website cũng tích hợp bản đồ số của google map,nhưng nhìn chung, các thao tác với bản đồ là rất ít, và chưa có sự tương tác giữa vănbản và đồ họa.
2.2 Xây dựng hệ thống mới
Kế thừa những ưu điểm của các website trước và khắc phục những mặt chưalàm được, xuất phát từ nhu cầu của người sử dụng, việc xây dựng một website mớilà cần thiết.
Ngày nay với một người bình thường mọi việc có thể được thực hiện dễ dàngthơng qua sức mạnh của Internet, ví dụ như: tìm kiếm - mua bán nhà đất- đánh giánhà đất.
Trang 19đó, một website về thơng tin nhà đất sẽ là một cơng cụ hữu ích và thiết thực nhàcung cấp cũng như những người có nhu cầu về bất động sản (khách hàng).
Sự ra đời của website cung cấp thông tin nhà đất trên địa bàn Hà Nội khôngchỉ mang đến cho người dùng các thông tin trực tuyến về bất động sản mà còn đưara những hỗ trợ về mặt địa lý, nhằm cung cấp thông tin một cách trực quan và sinhđộng cho người sử dụng.
Website này bao gồm các chức năng sau:
-Xem các thông tin rao vặt bất động sản dưới dạng văn bản và xem trên bảnđồ
-Tìm kiếm thơng tin nhà đất
-Thao tác với bản đồ Hà Nội
-Đăng ký, đăng nhập hệ thống
-Đăng tin rao vặt
-Liên hệ với người quản trị để phản ánh, đăng ký quảng cáo
-Cập nhật thông tin người dùng, thông tin nhà đất
-Quản trị hệ thống: quản lý người dùng, quản lý tin đăng, quản lý quận/huyện,phường xã
Xem thông tin nhà đất
Đây là chức năng hỗ trợ cho mọi người dùng, tức là người dùng không đăngnhập vào hệ thống vẫn có thể xem được thơng tin Thơng tin nhà đất được chiathành các nhóm: tin nổi bật, tin mới nhất và các tin ngẫu nhiên Người dùng có thểxem nhanh các tiêu đề tin đăng này và xem chi tiết khi click chọn vào tiêu đề tinđăng Nội dung tin đăng được hiển thị dưới dạng văn bản và vị trí nhà đất được hiểnthị trên bản đồ Thơng tin về người đăng được đính kèm cùng thơng tin nhà đất,giúp cho người dùng có thể dễ dàng liên hệ với người đăng tin.
Tìm kiếm thông tin nhà đất
Đây cũng là chức năng hỗ trợ cho mọi người dùng Xuất phát từ nhu cầu thựctế của người dùng, chức năng tìm kiếm được xây dựng theo các tiêu chí sau:
Trang 20- Tìm kiếm theo quận/huyện
- Tìm kiếm theo loại tin đăng (cần bán, cần mua…)
Thao tác với bản đồ Hà Nội
Đây là chức năng cải tiến so với các website trước Bản đồ một số quận/huyệnHà Nội được tích hợp trên website giúp cho người dùng dễ dàng hình dung được vịtrí của nhà đất Người dùng đăng tin nhà đất sẽ click chọn vị trí của nhà đất đó trênbản đồ Hệ thống sẽ lưu lại tọa độ điểm click vào cơ sở dữ liệu Khi xem tin nhà đất,vị trí của đối tượng sẽ hiển thị trên bản đồ kèm theo một số thông tin ngắn gọn củađối tượng đó Người dùng có thể thao tác với bản đồ này như: phóng to, thu nhỏ, dichuyển…Thao tác với bản đồ là thao tác hai chiều, từ văn bản ra đồ họa, và ngượclại.
Đăng ký, đăng nhập hệ thống
Để đăng tin trên website, người dùng phải đăng ký một tài khoản trên hệthống Tài khoản chỉ được sử dụng khi người quản trị kích hoạt tài khoản Người sửdụng khi có tài khoản sẽ được chỉnh sửa thơng tin cá nhân của mình, quản lý các tinđã đăng, cũng như đăng những tin rao vặt mới Với chức năng này, cơ sở dữ liệucũng được bảo mật một phần Để tránh bị mất cắp password, hệ thống sử dụng hàmmã hóa md5 để mã hóa password.
Đăng tin rao vặt
Chức năng này giúp cho thông tin trên website luôn được làm mới Để sửdụng chức năng này người dùng phải đăng nhập vào hệ thống Thông tin nhà đấtđược cập nhật dưới dạng văn bản và vị trí của nhà đất trên bản đồ Các tin đăng phảiđược phân loại để sử dụng cho chức năng tìm kiếm.
2.3 Giới thiệu bài tốn: “ứng dụng cơng nghệ WebGIS xây dựng website cungcấp thông tin nhà đất tại địa bàn Hà Nội”
2.3.1 Mục đích
Trang 212.3.2 Mục tiêu
Nền bản đồ chỉ bao gồm một số quận/huyện trong thành phố Hà Nội, nên mọithông tin về nhà đất chỉ nằm trong địa bàn này.
- Cho phép người sử dụng xem tin rao vặt nhà đất dưới dạng văn bản vàđồ họa.
- Cho phép người sử dụng tìm kiếm thơng tin nhà đất theo tiêu đề, nộidung tin đăng, theo quận/huyện Kết quả trả về bao gồm các thơng tin thuộc tínhnhà đất dưới dạng văn bản và vị trí của đối tượng trên bản đồ.
- Cho phép người sử dụng website đăng ký tài khoản, đăng nhập vào hệthống.
- Người sử dụng sau khi đăng nhập vào hệ thống có quyền chỉnh sửa thơngtin cá nhân và đăng các tin rao vặt về nhà đất.
- Người sử dụng có thể liên hệ với cơng ty để có thể đăng các tin quảngcáo trên trang web hoặc phản hồi ý kiến về website với người quản trị hệ thống.
- Quản trị hệ thống bao gồm: quản lý và cập nhật các thông tin về ngườidùng, quản lý các tin đăng, quản lý và cập nhật các quận/huyện, phường/xã thuộcđịa bàn Hà Nội.
- Các thao tác với bản đồ Hà Nội bao gồm phóng to, thu nhỏ, di chuyển,xem thông tin đối tượng trên bản đồ, xem nhanh vị trí các quận huyện Hà Nội trênbản đồ, bật/tắt các lớp, đưa ra khung nhìn vị trí đối tượng so với toàn bộ bản đồ.
2.3.3 Yêu cầu đối với website
- Website phải dễ sử dụng, giao diện thân thiện, tốc độ load nhanh.- Thơng tin trả về khi tìm kiếm phải chính xác.
- Cơ sở dữ liệu phải được bảo mật
- Các thông tin về nhà đất phải được thường xuyên cập nhật.
2.4 Các công cụ xây dựng website2.4.1 MapServer
Trang 22MapServer là môi trường phát triển cho việc xây dựng các ứng dụng GISthông qua Internet Trong mơ hình kiến trúc WebGIS, MapServer đóng vai trị làứng dụng GIS được đặt trên web server Đây là phần mềm mã nguồn mở được xâydựng với các thành phần cũng ở dạng nguồn mở hoặc phi lợi nhuận
MapServer được phát triển bởi trường đại học Minesota, bang Minesota HoaKỳ, dưới sự tài trợ của NASA thơng qua các dự án ForNet và sau đó Terraship.Hiện nay số lượng các nhà phát triển tham gia phát triển ngày càng nhiều trên thếgiới
MapServer có thể chạy trên nhiều môi trường điều mà các phần mềm thươngmại khác chưa làm được MapServer với mã nguồn được viết bằng C++ được biêndịch để có thể chạy trên các version của UNIX/Linux, Microsoft Windows và cảtrên MacOS
Để giao tiếp với các thành phần khác trên môi trường web, MapServer sửdụng chuẩn giao tiếp CGI (Common Gateway Interface)
Hệ thống MapServer bao gồm cả MapScript, cho phép các ngôn ngữ kịch bảnkhác như PHP, Perl, Python và Java có thể truy xuất các hàm API của MapServer.MapScript cung cấp môi trường thuận lợi cho việc phát triển các ứng dụng tích hợpcác dữ liệu phân tán Ta có thể lấy dữ liệu khơng gian thơng qua các các ngôn ngữkịch bản kể trên và dựa vào MapScript ta có thể tạo được một ảnh bản đồ.
MapServer không hẳn là một ứng dụng WebGIS hoàn chỉnh tuy nhiênMapServer cung cấp những chức năng cốt lõi đủ mạnh để đáp ứng cho các ứngdụng web khác nhau Ngoài việc tương tác với các dữ liệu GIS, MapServer còn chophép người dùng điều khiển và tùy biến việc tạo ra ảnh bản đồ, có thể dưới dạngtrang web, file ảnh, report…Nói cách khác MapServer đóng vai trị như “mapengine” được cung cấp nội dung để tạo ảnh bản đồ khi cần đến.
Các thành phần của MapServer
Trang 23dụng MapServer CGI Do có mã nguồn mở nên cũng có những ứng dụng được biêndịch để có thể dùng MapScript truy xuất trực tiếp các hàm API của MapServer
Ứng dụng MapServer CGI sử dụng các tài nguyên như sau:
1) Một HTTP Server như Apache hoặc Internet Information Server (vai tròweb server)
2) Phần mềm MapServer (vai trò WebGIS application)
3) File khởi tạo, dùng để cấu hình và tùy biến các thông số của ứng dụngMapServer (không bắt buộc)
4) Một file text được gọi là Mapfile, điều khiển cách tương tác với dữ liệu,như lấy dữ liệu gì, ở đâu, sắp xếp chúng theo thứ tự nào ?…
5) Một template file được dùng để định dạng kết quả (đối với trường hợptruy vấn) được trình bày theo định dạng nào trên cửa sổ trình duyệt
6) Tập dữ liệu GIS. Initialization file
MapServer “khơng có trạng thái” nghĩa là mỗi khi HTTP server nhận đượcyêu cầu từ client thơng qua chuỗi URL thì http server sẽ gọi MapServer chạy vàthực thi Bằng cách sử dụng file khởi tạo (dưới dạng file html hoặc htm) ta địnhnghĩa những tham số cơ bản cần thiết để MapServer có thể thực thi được
Thông qua chuỗi URL nhận được, sử dụng file khởi tạo này MapServer biếtđược các tham số cơ bản này Các tham số này còn được MapServer gửi trả kèmtrong kết quả cho phía client
Mapfile
Mapfile định nghĩa dữ liệu sẽ được dùng như thế nào trong ứng dụng, cáchhiển thị và các tham số cho câu truy vấn Mapfile có thể xem như là một file cấuhình cho ứng dụng
Mapfile cũng bao gồm cả thông tin về vẽ bản đồ như thế nào, ghi chú bản đồra sao và vẽ kết quả của câu truy vấn Mapfile có phần mở rộng là map.
Trang 24Template file điều khiển các hình bản đồ và các ghi chú trả về bởi MapServersẽ xuất hiện trên trang html
Cách làm của MapServer như sau: trước hết MapServer đọc file template nàyvà nếu gặp các từ khóa hoặc các từ mẫu thì nó sẽ thay thế các giá trị tương ứng vớilấy từ chuỗi kết quả trả về, cuối cùng file html này được gửi về cho trình duyệt
Bởi vì template file sẽ được dùng để tạo ra một trang html nên thông thườngtemplate file cũng được lưu dưới dạng một trang html với phần mở rộng html.
GIS Dataset
Về dữ liệu vectơ, MapServer sử dụng shapefile (của ESRI )làm định dạng dữliệu mặc định Bên cạnh đó hầu hết các định dạng dữ liệu vectơ GIS phố biến trênthế giới hiện nay, MapServer đều có thể hiểu và tương tác được Như: PostGIS,ESRI ArcSDE, MapInfo…và nhiều định dạng khác thông qua thư viện OGR
Về dữ liệu raster, MapServer hỗ trợ TIFF/GeoTIFF,EPPL7 và các địnhdạng khác thơng qua thư viện GDAL
MapServer có mã nguồn mở nên người dùng có thể biên dịch lại MapServerđể thêm hay bỏ bớt các định dạng dữ liệu không muốn hỗ trợ.
2.4.2 Ngơn ngữ lập trình PHP
PHP là gì?
PHP ban đầu được viết tắt bởi cụm từ Personal Home Page, và được phát triểntừ năm 1994 bởi Rasmus Lerdorf Lúc đầu chỉ là một bộ đặc tả Perl, được sử dụngđể lưu dấu vết người dùng trên các trang web Sau đó, Rasmus Lerdorf đã phát triểnPHP như là một máy đặc tả (Scripting engine)
Trang 25là *.php) PHP4 nhanh hơn so với PHP3 rất nhiều PHP bây giờ được gọi là PHPHypertext PreProcesor Phiên bản PHP mới nhất là PHP 6.
Những điểm mạnh của PHP
PHP thực hiện với tốc độ rất nhanh và hiệu quả Một Server bình thườngcó thể đáp ứng được hàng triệu truy cập tới trong một ngày
PHP hỗ trợ kết nối tới rất nhiều hệ CSDL khác nhau: PostgreSQL,mySQL, Oracle… Ngồi ra cịn hỗ trợ kết nối với ODBC thơng qua đó có thể kếtnối với nhiều ngôn ngữ khác mà ODBC hỗ trợ
PHP cung cấp một hệ thống thư viện phong phú : Do PHP ngay từ đầuđược thiết kế nhằm mục đích xây dựng và phát triển các ứng dụng trên web nênPHP cung cấp rất nhiều hàm xây dựng sẵn giúp thực hiện các công việc rất dễ dàng:gửi, nhận mail ,làm việc với các cookie, và nhiều thứ khác nữa
PHP là một ngôn ngữ rất dễ dùng, dễ học và đơn giản hơn nhiều so vớicác ngôn ngữ khác như Perl, Java Nếu bạn đã biết ngơn ngữ C thì mọi việc sẽ hồntồn thuận lợi
PHP có thể sử dụng được trên nhiều hệ điều hành, chúng ta có thể viếtchúng trên Unix, Lunix và các phiên bản của Windows Và có thể đem mã PHP nàychạy trên các hệ điều hành khác mà không phải sửa đổi lại mã
PHP là ngơn ngữ mã nguồn mở.
Gói phần mềm MS4W dành cho windows tích hợp PHP, Apache vàMapserver được sử dụng trong đồ án này Download phiên bản mới nhất MS4W 3.0tại địa chỉ http://www.maptools.org/ms4w/
2.4.3 Hệ quản trị cơ sở dữ liệu MySQL
Đồ án sử dụng hệ quản trị cơ sở dữ liệu MySQL để lưu trữ các thơng tin thuộctính đối tượng như thơng tin về quận/huyện, phường/xã, thông tin về nhà đất.
Trang 26mạnh.Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng cótruy cập CSDL trên internet MySQL miễn phí hồn tồn cho nên bạn có thể tải vềMySQL từ trang chủ Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiênbản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS X, Unix
MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệuquan hệ sử dụng Ngơn ngữ truy vấn có cấu trúc (SQL).
MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngơn ngữ khác, nólàm nơi lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl,
Phiên bản MySQL mới nhất là 5.1.46, download tại địa chỉhttp://www.mysql.com/downloads/mysql/
2.4.4 Smarty
Smarty là một hệ thống tạo mẫu web (web template system) được viết trên nềnPHP Smarty được giới thiệu như là một công cụ cho việc chia nhỏ các quá trìnhthiết kế trang web Đây là một chiến lược thiết kế cho các ứng dụng web hiện đại.Smarty tạo ra các nội dung web từ các vị trí đặc biệt được gọi là smarty tag Cáctag này được nằm trong các mẫu (template) Các tag này sẽ được xử lý và chèn vàovới các code khác nhau.
Các tag này là chỉ thị cho Smarty mà có thể được bao đóng bới tag mở và tagkhóa Những hướng dẫn này có thể là biến, và được định nghĩa bởi dấu dollar ($),các chức năng, hàm logic hoặc các luồng điều khiển Smarty cho phép các lập trìnhviên có thể tự định nghĩa các chứng năng và truy cập sử dụng các Smarty tagsSmarty là kết quả của việc tối ưu hóa và phân luồng cơng việc, cho phép trình diễncác trang web bằng cách chia nhỏ chúng ở đầu cuối (back-end) Ý tưởng đó đã giúpgiảm thiểu rất nhiều giá thành và sự đồ sộ của các phần mềm Dưới mỗi một ứngdụng thành cơng thì ln phân chia thành 2 mảng là người thiết kế chính là lá chắnbảo về mã nguồn sau (back-end coding) và người lập trình php được bảo vệ bới mãtrình diễn
Trang 27PHP bạn hay viết lẫn cả phần HTML với mã lệnh PHP trên một trang Điều này sẽdẫn đến rất rối nhất là khi bảo trì Bạn là người viết ra và cũng là người bảo trì thìkhơng sao nhưng nếu bạn viết ra sau đó người khác bảo trì Chắc họ nhìn vào codecủa bạn họ sẽ ngất mất vì quá rối Mặt khác khi làm nhiều trang web có chức năngnhư nhau Chỉ khác giao diện nên nếu lập trình theo kiểu như vậy bạn phải viết lạihoàn toàn Ngoài ra muốn code được bạn phải chờ người thiết kế giao diện cho bạnsau đó cắt ra file HTML rồi mới code Tất cả những điều này sẽ làm giảm năngxuất công việc của bạn đi rất nhiều Smarty ra đời đã giải quyết được các vấn đề nêutrên Dưới đây là một số ưu điểm của Smarty:
Tốc độ load trang rất nhanh (do tạo được cache)
Code ứng dụng của bạn trở lên trong sáng, mạch lạc và dễ bảo trì hơn rấtnhiều (do tách biệt phần code và templates).
Hiệu quả công việc đạt tối đa (Người thiết kế và người lập trình làm việchồn tồn độc lập Thay đổi giao diện website nhanh chóng )
Được sử dụng phổ biến ( bên Nhật rất ưa chuộng Smarty )
2.4.5 FCKeditor
FCKeditor là một cơng cụ soạn thảo tin trực tuyến miễn phí đầy đủ tính nănghữu dụng gần như MS Word Khi được tích hợp vào hệ thống quản lý nội dungwebsite, người dùng có thể dễ dàng soạn thảo, cập nhập trang tin một cách nhanhchóng với định dạng phong phú
Điểm mạnh của FCKeditor ở chỗ nó chính là một phần mềm mã nguồn mở,miễn phí, cập nhập thường xuyên và chứa trong nó những tính năng phong phú hữudụng mà nhiều phần mềm thương mại khơng có:
Tương thích với hầu hết các trình duyệt phổ biến trên thị trường như IE,Nestcape, Mozilla, FireFox Đây chính là một đặc điểm rất quan trọng giúpmở rộng đối tượng sử dụng chương trình.
Hỗ trợ chuẩn định dạng XHTML 1.0 – sự kết hợp giữa HTML và XMLgiúp hiển thị và truyền tải thơng tin qua trình duyệt tốt hơn.
Trang 28 Có thể dễ dàng cắt/dán (cut/paste) giữ ngun định dạng và hình ảnh, cókhả năng phục hồi (undo/redo).
Tự động phát hiện và tạo liên kết cho đoạn text phù hợp ví dụhttp://www.thongtinnhadat.com tự động được chuyển thành
http://www thongtinnhadat.com.
Tải ảnh lên thư mục trên server một cách dễ dàng, nhờ đó người dùng cóthể chọn ảnh chèn vào bài viết dễ dàng.
Dễ dàng thêm các biểu tượng có sẵn
Tạo và định dạng bảng dễ dàng, đây là một tính năng rất quan trọng vàđược đánh giá là mạnh nhất trong số những công cụ soạn thảo trực tuyến. Hỗ trợ phát triển với hầu hết các ngôn ngữ lập trình web thơng dụng hiệnnay: ASP, ASP.NET, Java, Perl, Php, Java Script.
Trong đồ án này, công cụ FCKeditor được tích hợp vào trang webcho phần đăng nội dung tin nhà đất Đây chỉ là một phần rất nhỏ khi thiết kếwebsite.
2.4.6 Overlib
Overlib là một thư viện JavaScript dùng để tạo các hộp thông tin tooltip trêntrang web Khi người dùng click hoặc di chuột qua một đối tượng, các thông tin vềđối tượng sẽ được hiển thị trong một hộp nhỏ.
Trang 30CHƯƠNG 3 – PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG3.1 Phân tích hệ thống
Đối tượng tham gia vào hệ thống bao gồm:
Người sử dụng: là những người khách bất kỳ của website Nếu người sử dụng
không đăng nhập vào hệ thống, họ chỉ có quyền sử dụng các chức năng như xem tin(ở dạng văn bản và đồ họa), tìm kiếm thơng tin, in bản đồ, thao tác với bản đồ, liênhệ với admin Ngược lại, khi người dùng có tài khoản và login vào hệ thống, ngoàicác chức năng cơ bản trên người dùng cịn có thể đăng thơng tin lên website.
Người quản trị: là những người có quyền cao nhất trong hệ thống Nhiệm vụ
của họ là đảm bảo cho hệ thống vận hành tốt, quản lý dữ liệu của tồn hệ thống, cậpnhật các thơng tin về bản đồ.
Về chức năng, hệ thống bao gồm các khối chức năng lớn sau:
Cập nhật thông tin: thực hiện việc cập nhật các tin rao vặt trên website, cập
nhật thông tin về quận/huyện, phường/xã, thông tin về người dùng…
Thao tác với bản đồ: gồm các chức năng cơ bản như hiển thị bản đồ, phóng
to, thu nhỏ, dịch chuyển, chọn các đối tượng trên bản đồ.
Tìm kiếm thơng tin: thực hiện việc tìm kiếm thơng tin qua các điều kiện
được đặt ra Kết quả trả về bao giờ cũng ở dạng đồ họa và văn bản.
3.1.1 Thông tin vào/ ra của hệ thống
Luồng thông tin vào:
Thông tin về nhà đất
Thông tin về người sử dụngThông tin về quận/huyệnThông tin về phường/xãThông tin về giao thôngThông tin về khách sạn
Luồng thông tin ra:
Trang 31Cập nhật thành viênCập nhật thông tin nhà đấtCập nhật quận/huyệnCập nhật phường/xãTìm kiếm theo
loại tin đăngTìm kiếm theo quận huyệnTìm kiếm theo tiêu đề, nội dungĐưa ra khung nhìnPhóng toThu nhỏDi chuyểnBật/tắt lớpXem nhanh các quận/huyệnDịch chuyểnCác hướngXem thông tin
đối tượng
Cập nhậtTìm kiếm
Thao tác với bản đồ
CUNG CẤP THƠNG TIN NHÀ ĐẤT
Các bảng dữ liệu thể hiện thơng tin được cập nhật
3.1.2 Biểu đồ phân cấp chức năng
Hình 3 1 - Biểu đồ phân cấp chức năng
3.1.3 Biểu đồ luồng dữ liệu
Trang 32Người quản trị
Thông tin người dùngThông tin nhà đất
Thông tin phường/xãThông tin quận/huyệnVị trí đối tượng trên bản đồ
Thơng tin nhà đấtThơng tin người dùng
Yêu cầu tìm kiếmTương tác với bản đồ
Đăng tin nhà đấtĐăng ký thành viên
Người sử dụng
Cung cấp thông tin nhà đất
Yêu cầu tương tác với bản đồ
Dữ liệu không gian
Thao tác với bản đồ(1)
Biểu đồ luồng dữ liệu mức ngữ cảnh
Chức năng tổng quát của hệ thống: Cung cấp thơng tin nhà đấtTác nhân ngồi: Người sử dụng, người quản trị hệ thống
Bổ sung các luồng dữ liệu trao đổi giữa hệ thống và tác nhân ngoài, ta có biểuđồ luồng dữ liệu mức ngữ cảnh như hình 3.2
Hình 3 2 - Biểu đồ luống dữ liệu mức ngữ cảnh
Biểu đồ luồng dữ liệu mức đỉnh
Chức năng: Cung cấp thông tin nhà đất được phân rã thành ba chức năng con
là: thao tác với bản đồ, tìm kiếm và cập nhật.
Tác nhân ngồi: người sử dụng và người quản trị
Kho dữ liệu: dữ liệu không gian, tin đăng, thành viên, quận huyện, phường xã.
Trang 33Thông tin nhà đấtKết quả cập nhậtTin đăngThông tin nhà đấtCập nhật (3)
Thông tin người dùng
Quận/huyệnThành viênThông tin người dùng, tin đăng
Thông tin người dùng, tin đăng, quận/huyện, phường/xãThông tin phường/xã
Người quản trị
Phường/xã
Thông tin quận/huyện
Hình 3 3 - Biểu đồ luồng dữ liệu mức đỉnh
Biểu đồ luồng dữ liệu mức dưới đỉnh
Phân rã chức năng 1:
Chức năng: Chức năng thao tác với bản đồ được phân rã thành 8 chức năng con
là phóng to, thu nhỏ, dịch chuyển, bật/tắt lớp, đưa ra khung nhìn, xem nhanh cácquận, di chuyển các hướng, xem thông tin đối tượng.
Trang 34Dữ liệu không gian
Dữ liệu không gian
Dữ liệukhông gianDữ liệukhông gianphóng toVị trí đối tượngThu nhỏVị trí đối tượngDi chuyểnVị trí đối tượngVị trí đối tượngTương tác với bản đồPhóng toThu nhỏDi chuyểnĐưa ra khung nhìn
Dữ liệu khơng gian
Dữ liệu không gianDữ liệukhông gianDữ liệukhông gianTương tác với bản đồVị trí đối tượngTương tác với bản đồ
Thơng tin đối tượng
Vị trí đối tượng
Bật/tắt lớp
Dịch chuyển các hướngXem thơng tin đối tượng
Xem nhanh các quậnNgười
sử dụng
Xem vị trí quận trên bản đồVị trí quận
Tương tác với bản đồ
Dữ liệu khơng gian
Hình 3 4– Biểu đồ phân rã chức năng thao tác với bản đồ
Trang 35Thơng tin nhà đấtLoại tinKết quả tìm kiếmTin nhà đấtTên quận/huyệnKết quả tìm kiếmKết quả tìm kiếm
Dữ liệu khơng gian
Thơng tin quậnTin nhà đất
Dữ liệu không gianTin nhà đất
Dữ liệu khơng gian
Tin đăng Quận/huyện
Tìm kiếm theo tiêu đề, nội dung
Tìm kiếm theoloại tin
Người sử dụng Dữ liệu khơng gian
Tin đăng
Chức năng: Chức năng tìm kiếm được phân rã thành 3 chức năng con là tìm
kiếm theo tiêu đề, nội dung; tìm kiếm theo quận/huyện, tìm kiếm theo loại tin đăng.
Tác nhân ngồi:người sử dụng
Kho dữ liệu: dữ liệu khơng gian và tin đăng, quận/huyện
Hình 3 5– Biểu đồ phân rã chức năng tìm kiếm
Phân rã chức năng 3:
Chức năng: Chức năng cập nhậtđược phân rã thành 4 chức năng con là cập
nhật thành viên, cập nhật tin đăng, cập nhật quận/huyện, cập nhật phường/xã.
Tìm kiếmtheo quận
Trang 36Thông tin phường/xãTên quận huyện
Cập nhật quận huyện
Cập nhật phường xã
Phường/xãQuận/huyện
Người quản trị
Dữ liệu không gian
Tin đăngThông tin thành viên
Thông tin nhà đấtCập nhật thành viênCập nhật tin đăngNgười quản trịThành viên
Tác nhân ngoài:người quản trị
Các luồng dữ liệu: thêm các luồng dữ liệu vào/ra nội bộ và bảo toàn các luồng
dữ liệu ở mức đỉnh
Kho dữ liệu: dữ liệu không gian, tin đăng, quận/huyện, thành viên, phường/xã
Trang 373.3 Thiết kế hệ thống3.3.1 Thiết kế cơ sở dữ liệu
Thực thể vs_district:
Mơ tả: quận/huyệnKhóa chính: id
Field nameField TypeSizeComment
id int 11 Mã quận huyện
distname Varchar 50 Tên quận huyện
distalias Varchar 50 Tên quận huyện trong shapefile
Bảng 1 – Bảng vs_district
Thực thể vs_ree:
Mơ tả: Tin rao vặt nhà đấtKhóa chính: id
Khóa ngoại: distid tham chiếu đến thực thể vs_district wardid tham chiếu đến thực thể vs_ward
userid tham chiếu đến thực thể vs_user
Field nameField TypeSizeComment
id int 11 Mã tin đăng
title Varchar 255 Tiêu đề tin đăng
content Text Nội dung tin đăng
Image Varchar 256 Ảnh nhà đất
Latitude Varchar 20 Vĩ độ
Longtitude Varchar 20 Kinh độ
userid Integer 11 Mã người dùng
Distid Integer 11 Mã quận huyện
Wardid Integer 11 Mã phường xã
Type Varchar 50 Kiểu tin đăng
Ishot Tinyint 1 Tin nổi bật hay không?
Viewed Integer 11 Số lần xem tin
Bảng 2 – Bảng vs_ree
Trang 38Khóa chính: userid
Field nameField TypeSizeComment
userid int 11 Mã người dùng
username Varchar 50 Tên đăng nhập
Password Varchar 50 Mật khẩu
Fullname Varchar 50 Họ tên
Email Varchar 50
Tel Varchar 30 Điện thoại cố đi
Mobile Varchar 30 Di động
Diachi Varchar \
100
Isactived Tinyint 1 Đã kích hoạt chưa
Usertype Varchar 10 Là admin hay người sử dụng?
Bảng 3 – Bảng vs_user
Thực thể vs_ward:
Mơ tả: thơng tin phường xã
Khóa chính: id
Khóa ngoại: distid tham chiếu đến thực thể vs_district
Field nameField TypeSizeComment
id int 11 Mã phường xã
wardname Varchar 50 Tên phường xã
distid Integer 11 Mã quận huyện
Trang 39Thuộcvs_userĐăng tin1vs_ward1vs_districtvs_reeThuộcThuộc11nnnn3.3.2 Sơ đồ thực thể liên kết
Trang 40CHƯƠNG 4 – CÀI ĐẶT HỆ THỐNG4.1 Cài đặt thuật toán cho hệ thống
4.1.1 Các chức năng thao tác với bản đồ
MapScript của UMN MapSever cung cấp các đối tượng tương tác với bản đồ(MapObject), lớp (LayerObject), chú thích (LegendObject), Bản thân các đốitượng này đã được cài đặt các thuộc tính và các hàm cơ bản Các công cụ trong luậnvăn này khi xây dựng sử dụng các đối tượng và các hàm cơ bản của các đối tượngđó.
Phóng to
Tên chức năng: Phóng to
Đầu vào:
Độ phóng: zsize
Zoom= -1 (cơng cụ phóng to được chọn)
Chiều rộng, chiều cao của bản đồ ($width, $height) Tọa độ điểm click ($clkpoint)
Phạm vi hiện tại của bản đồ ($old_extent) Phạm vi lớn nhất của bản đồ ($max_extent) Bản đồ hiện tại ($map)
Đầu ra: Bản đồ đã được phóng to
Xử lý: Sử dụng biến $zoom_factor để kiểm tra là phóng to, thu nhỏ hay di