Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa
Hoàng Anh Đức
1
Tin học Trắc địa K47
Mục lục
Mục lục 1
Mở đầu 4
Chơng I Giới thiệu chung về đồ án 6
I.1 Giới thiệu chung về bản đồ 6
I.1.1 Bản đồ thông thờng 6
I.1.2 Bản đồ số 6
I.1.3 Bản đồ trực tuyến 6
I.2 Mục đích, yêu cầu 7
I.2.1 Tên đề tài 7
I.2.2 Mục đích 7
I.2.3 Yêu cầu 7
Chơng II Những khái niệm cơ bản liên quan đến hệ
thống bản đồ trực tuyến 9
II.1 Các thành phần có liên quan 9
II.1.1 Phần mềm mã nguồn mở 9
II.1.2 Cơ sở dữ liệu 10
II.2 Tổng quan về bản đồ 12
II.2.1 Bản đồ là gì 12
II.2.2 Các yếu tố nội dung của bản đồ 13
II.2.3 Các phép toán cơ bản trên bản đồ 17
II.2.4 Các phép phân tích không gian trong GIS 19
II.2.5 Tổng quan các kiến trúc chung của các WebGIS 21
IV.1.1 Sơ đồ khối chức năng hệ thống 50
IV.1.2 Chức năng của hệ thống bản đồ trực tuyến 50
IV.1.3 Các yêu cầu 53
IV.2 Xây dựng ứng dụng bản đồ trực tuyến bằng công nghệ Cartoweb 58
IV.2.1 Hệ điều hành 58
IV.2.2 Cài đặt Webmap Server 58
IV.2.3 Cài đặt postgreSQL 61
IV.2.4 Cài đặt postGIS 64
Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa
Hoàng Anh Đức
3
Tin học Trắc địa K47
IV.2.5 Cài đặt Cartoweb 65
IV.3 Đa dữ liệu vào cơ sở dữ liệu 67
IV.4 Chuẩn hóa dữ liệu 68
IV.5 Thiết lập các thông số cho Mapserver & CartoWeb để hiển thị thông
tin địa lý 69
IV.5.1 Thiết lập thông số cho Mapserver 69
IV.5.2 Thiết lập thông số cho CartoWeb 77
IV.6 Chỉnh sửa giao diện ngời dùng 79
IV.7 Một số hình ảnh demo ứng dụng bản đồ trực tuyến 80
Kết luận, kiến nghị và đánh giá 82
Những kết quả đạt đợc 82
Hớng phát triển 82
Kết luận chung 83
Đứng trớc yêu cầu thực tế đó, em đã chọn cho mình đề tài để làm luận
văn tốt nghiệp là
Xây dựng ứng dụng bản đồ trực tuyến trên công nghệ CartoWeb.
Luận văn gồm:
Phần I: Giới thiệu chung về đồ án
Phần II: Những khái niệm cơ bản liên quan đến hệ thống bản đồ trực
tuyến
Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa
Hoàng Anh Đức
5
Tin học Trắc địa K47
Phần III: Khảo sát các công nghệ trên thế giới và lựa chọn công nghệ
để xây dựng đề tài
Phần IV: Phân tích và xây dựng ứng dụng bản đồ trực tuyến bằng công
nghệ CartoWeb
Xin trân trọng gửi lời cám ơn tới PGS, TS Lê Tiến Vơng cùng Th.S
Nguyễn Tiến Hng, cũng nh các anh trong phòng Quản lý Mạng thông tin và
Cơ sở dữ liệu Trung tâm thông tin Bộ tài nguyên và Môi trờng đã hớng
dẫn tận tình cho em hoàn thành luận văn này.
Xin trân trọng cám ơn,
Sinh viên thực hiện:
Hoàng Anh Đức
Lớp Tin học Trắc Địa K47
Khoa Công Nghệ Thông Tin
Trờng Đại Học Mỏ - Địa Chất
Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa
Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa
Hoàng Anh Đức
7
Tin học Trắc địa K47
giúp ngời sử dụng rất thuận tiện trong việc tìm kiếm, tra cứu thông tin địa lý
trên bản đồ. Với bản đồ trực tuyến, một đối tợng đợc gắn liền với thông tin
địa lý, do đó cho phép ngời sử dụng tra cứu thông tin rất nhanh chóng và
hiệu quả, gần nh làm việc với một ứng dụng bản đồ của máy tính thông
thờng mà có khả năng tra cứu thông tin GIS. Với một số tính năng nh in
ấn, zoom phóng, Bản đồ trực tuyến có thể đợc chuyển thành dạng bản đồ
giấy cho ngời dùng sử dụng lúc cần thiết qua thao tác in ấn bản đồ hoặc
cũng có thể chuyển thành dạng bản đồ số khác nh xuất ra các file dxf, jpg,
bmp
Bản đồ trực tuyến đang là hớng đi đợc phát triển mạnh, nhằm đa
thông tin đến cho mọi ngời ở mọi lúc, mọi nơi.
I.2 Mục đích, yêu cầu
I.2.1 Tên đề tài
Xây dựng ứng dụng bản đồ trực tuyến trên công nghệ CartoWeb
I.2.2 Mục đích
Xây dựng một ứng dụng bản đồ trực tuyến trên cơ sở mã nguồn mở
bằng công nghệ CartoWeb, nhằm hộ trợ tối đa ngời sử dụng trong việc tìm
kiếm thông tin địa lý của một khu vực trên nền bản đồ.
I.2.3 Yêu cầu
Xây dựng 1 website trong đó ngời sử dụng có thể thao tác với bản đồ
nh sau:
Có các công cụ điều khiển màn hình, nh: phóng to, thu nhỏ,
dịch chuyển, xem toàn bộ bản đồ, in ấn, quay về hình ảnh trớc, tới
Những khái niệm cơ bản liên quan đến
hệ thống bản đồ trực tuyến
II.1 Các thành phần có liên quan
II.1.1 Phần mềm mã nguồn mở
Hiểu theo nghĩa rộng là một khái niệm chung đợc sử dụng cho tất cả
các phần mềm mà mã nguồn của nó đợc công bố rộng rãi công khai và cho
phép mọi ngời tiếp tục phát triển phần mềm đó.
Các ứng dụng mã nguồn mở bao gồm:
a. Ngôn ngữ lập trình web
Việc xây dựng các trang web dựa trên công nghệ mã nguồn mở hiện
nay đang là xu hớng mới và đang phát triển rất mạnh. Có nhiều ngôn ngữ
lập trình web mã nguồn mở đang đợc sử dụng rộng rãi nh PHP, Ruby,
Ruby on Rails Đồ án đợc xây dựng dựa trên ngôn ngữ lập trình mã nguồn
mở PHP.
PHP (Personal Home Page) đợc phát triển từ một sản phẩm có tên là
PHP/FI (Personal Home Page/Forms Interpreter). PHP/FI do Rasmus Lerdorf
tạo ra năm 1995, ban đầu đợc xem nh là một tập con đơn giản của các mã
kịch bản Perl để theo dõi tình hình truy cập đến bản sơ yếu lý lịch của ông
trên mạng. Ông đã đặt tên cho bộ mã kịch bản này là 'Personal Home Page
Tools'. Khi cần đến các chức năng rộng hơn, Rasmus đã viết ra một bộ thực
thi bằng C lớn hơn để có thể truy vấn tới các cơ sở dữ liệu và giúp cho ngời
sử dụng phát triển các ứng dụng web từ đơn giản đến phức tạp. Rasmus đã
quyết định công bố mã nguồn của PHP/FI cho mọi ngời xem, sử dụng cũng
nh sửa các lỗi có trong nó đồng thời cải tiến mã nguồn. Trải qua quá trình
phát triển hơn 10 năm, đến nay, PHP đã trải qua nhiều phiên bản, với nhiều
Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa
Hoàng Anh Đức
10
Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa
Hoàng Anh Đức
11
Tin học Trắc địa K47
Geometry Types đợc đa ra bởi OGC. Điều này muốn đề cập đến môi
trờng SQL đợc mở rộng với một tập các kiểu dữ liệu hình học Geometry
Type. Một sql column có kiểu là Geometry đợc hiểu là column có kiểu là
Geometry. Các đặc tả cho tập các kiểu dữ liệu SQL geometry, cũng nh các
hàm cho các kiểu dữ liệu này tạo và phân tích các giá trị Geometry.
Một đặc tính của geometry là bất kỳ thứ gì mà có vị trí, có đặc tính có
thể là:
Một thực thể: Ví dụ: một ngọn núi, một cái hồ, một thành phố
Một vùng: Ví dụ một vùng có cùng mã bu điện, những vùng
nhiệt đới.
Một vị trí có thể định nghĩa đợc. Ví dụ, một ngã t, là một nơi
đặc biệt là nơi giao nhau giữa hai con đờng.
b. Cơ sở dữ liệu PostgreSQL
Đề tài sử dụng PostgreSQL 8.2 làm ngôn ngữ quản trị cơ sở dữ liệu.
PostgreSQL 8.2 là một ngôn ngữ quản trị cơ sở dữ liệu quan hệ đối tợng
(ORDBMS). Ban đầu, PostgreSQL đợc xây dựng trên nền tảng là hệ quản trị
cơ sở dữ liệu POSTGRES phiên bản 4.2, đợc phát triển ở trờng đại học
Công nghệ máy tính Berkeley California Mỹ. Postgres đã mở đờng cho
nhiều t tởng chỉ có thể thực hiện đợc ở một vài hệ cơ sở dữ liệu phát triển
rất lâu sau này.
PostgreSQL hỗ trợ phần lớn chuẩn SQL và cho phép nhiều công cụ
hiện đại:
Các query phức tạp
Các khóa ngoài
Hoàng Anh Đức
13
Tin học Trắc địa K47
II.2.2 Các yếu tố nội dung của bản đồ
a. Thuỷ hệ
Gồm các đối tợng thuỷ văn: biển, sông, kênh, hồ, các hồ chứa
nớc nhân tạo, mạch nớc, giếng, mơng máng, các công trình thuỷ lợi
khác và giao thông thuỷ: bến cảng, cầu cống, thuỷ điện, đập. Theo giá trị
giao thông chia sông thành tàu bè đi lại đợc hay không, theo tính chất
dòng chảy: có dòng chảy hoặc khô cạn một mùa, nguồn nớc: tự nhiên
nhân tạo các kiểu đờng bờ. Khi thể hiện thuỷ hệ ngời ta dùng các ký hiệu
khác nhau ho phép phản ánh đầy đủ nhất các đặc tính. Bằng những ký hiệu bổ
sung, giải thích con số, thể hiện các đặc tính nh: chiều rộng, sâu tốc độ
hớng dòng chảy, chất đáy, điểm đờng bờ chất lợng nớc, đối với những
đối tợng quan trọng ta ghi chú tên gọi địa lý của chúng. Trên bản đồ sông
đợc thể hiện bằng một hoặc hai nét phụ thuộc vào độ rộng trên thực địa mức
độ quan trọng và tỷ lệ bản đồ.
b. Điểm dân c
Là một trong các yếu tố quan trọng nhất của bản đồ địa hình đợc
đặc trng bởi kiểu c trú: (TT,TN), dân số ý nghĩa hành chính chính trị. Đặc
điểm của dân c đợc biểu thị bằng độ lớn màu sắc, kiểu dáng của ký hiệu và
ghi chú tên gọi.
Ví dụ: trên bản đồ địa hình tỷ lệ 1/5000 biểu thị tất cả các công trình
xây dựng theo tỷ lệ, đặc trng của vật liệu xây dựng
Trên bản đồ 25.000 đến 100.000 biểu thị các điểm dân c tập trung
bằng các ô phố và khái quát đặc trng chất lợng. Các công trình xây dựng
độc lập biểu thị bằng ký hiệu phi tỷ lệ, cố gắng giữ sự phân bố.
phơng diện đồ hoạ, các loại thực vật và thổ nhờng khác nhau đợc thể
hiện bằng ký hiệu qui ớc đặc trng.
Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa
Hoàng Anh Đức
15
Tin học Trắc địa K47
Ví dụ: Đầm lầy phân ra thành đầm lầy qua đợc, đầm lầy không qua
đợc và khó qua. Rừng, rừng già, rừng tha, rừng non, rừng mới trồng Các
loại thực vật tự nhiên và ngời trồng
Trên bản đồ chuyên đề lớp phủ thực vật và thổ nhờng thờng không
đợc thể hiện hoặc thể hiện sơ lợc phụ thuộc vào nội dung, tỷ lệ và mục
đích sử dụng của bản đồ.
g. Địa hình
Trên bản đồ địa lý đợc thể hiện bằng các đờng bình đồ. Một số
dạng riêng biệt thể hiện bằng ký hiệu (vực, khe xói, đá tảng, đá vụn).
Độ cao so với mặt biển của một số điểm đặc trng
Các đối tợng sơn băng (dãy núi, đồng bằng, thung lũng yên ngựa,
địa hình caster, đờng phân thuỷ, tụ thuỷ, ).
Khoảng cao đều giữa các đờng bình độ trên bản đồ địa hình đợc
qui định trong các qui phạm theo tỷ lệ bản đồ và đặc điểm khu vực (đồng
bằng hoặc núi). Ví dụ: bản đồ 1/50.000 khoảng cao đều bằng 10-20 m;
1/100.000 khoảng cao đều 20-40 m. Để thể hiện đầy đủ các tính chất đặc
trng của địa hình, đặc biệt là các vùng đồng bằng, ngời ta vẽ thêm các
đờng bình độ nửa khoảng cao đều và đờng bình độ phụ. Các đờng bình độ
cái đợc đánh số, các đờng bình độ ở yên núi bổ sung vạch chỉ dốc. Dáng
đất (địa hình) có khi đợc thể hiện bằng phơng pháp tô bóng địa hình, hoặc
phân tầng màu theo độ cao hoặc kết hợp giữa các phơng pháp.
II.2.3 Các phép toán cơ bản trên bản đồ
a. Phép chiếu bản đồ
Phép chiếu bản đồ là sự biểu diễn bề mặt Elipsoid hay mặt cầu của
Trái Đất lên mặt phẳng bằng các quy tắc toán học xác định.
Các quy tắc này đợc xác định thông qua phơng trình của phép chiếu
bản đồ, thờng gọi tắt là phơng trình chiếu. Có bốn hệ phơng trình thòng
gặp nhất tơng ứng với hai hệ toạ địa lí và hệ toạ độ cực cầu khi biểu diễn
trên mặt phẳng bằng hai hệ toạ độ vuông góc và hệ toạ độ cực phẳng.
Từ hệ toạ độ địa lí, ta có:
x = f1 (, )
y = f2 (, )
và
= f3 (, )
= f4 (, )
Trong đó , là toạ độ địa lí của một điểm nào đó trên bề mặt đợc
chiếu ; x, y là toạ độ vuông góc và , là toạ độ cực phẳng tơng ứng của
điểm đó trên mặt phẳng chiếu.
b. Từ hệ toạ độ cực cầu, ta có:
x = f5 (Z, )
y = f6 (Z, )
và
= f7 (Z, )
= f8 (Z, )
Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa
Hoàng Anh Đức
18
Tin học Trắc địa K47
Hoàng Anh Đức
19
Tin học Trắc địa K47
Nếu x = f1 (, ), y = f2 () thì kinh tuyến đợc biểu diễn thành những
đờng thẳng song song với trục X, vĩ tuyến là những đờng cong.Nếu x = f1
(, ), y = f2 (, ) thì ta có thể nhận đợc vô số phép chiếu có lới bản đồ
khác nhau. Hình dáng của chúng phụ thuộc vào f1 và f2.
II.2.4 Các phép phân tích không gian trong GIS
GIS cung cấp rất nhiều phép toán phân tích không gian trên mô hình
dữ liệu vector. Các phép toán này dựa trên cơ sở so sánh logic tập các đối
tợng này với tập đối tợng khác.
Sử dụng vùng đệm (Buffer)
Cho trớc một đối tợng và một
giá trị khoảng cách, phép toán buffer
sẽ tạo ra một vùng đệm là một
polygon bao phủ xung quanh tất cả
các điểm mà khoảng cách từ chúng
đến đối tợng nhỏ hơn hoặc bằng
khoảng cách đề ra.
So sánh (Difference)
toán intersect sẽ tạo ra một đối
tợng mới chính là phần giao giữa
hai đối tợng.
Bao lồi (Convex hull)
Cho trớc một đối tợng, phép
toán convex hull sẽ tạo ra một đối
tợng mới là một polygon bằng cách
nối tất cả các điểm ở biên của đối
tợng đó. Nói cách khác, đây là
polygon nhỏ nhất bao kín đối tợng.
So sánh khác biệt
(Symmetric difference)
Phép toán symmetric
difference sẽ tiến hành so sánh vị trí
hai đối tợng và tạo ra một đối
tợng mới từ hai đối tợng ban đầu
và bỏ đi phần giao giữa chúng.
Hình 2.3 Các phép phân tích không gian
Mô hình dữ liệu vector cho ta nhiều thao tác hơn trên các đối tợng so
với mô hình raster. Việc tính diện tích, đo khoảng cách của các đối tợng
đợc thực hiện bằng các tính toán hình học từ toạ độ của các đối tợng thay
vì việc tính toán trên các điểm ảnh của mô hình raster. Các thao tác trong mô
Database
Client
,
Browser
Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa
Hoàng Anh Đức
22
Tin học Trắc địa K47
riêng biệt của từng hãng mà chúng có khả năng phát triển, mở rộng thành
kiến trúc đa tầng (n-tier) hay không. Kiến trúc 3-tier đợc mô tả nh sau:
Chúng gồm 3 thành phần cơ bản, đại diện cho 3 tầng:
Database (Data tier): là nơi lu trữ các dữ liệu địa lý bao gồm cả các dữ
liệu không gian và phi không gian. Các dữ liệu này đợc quản trị bởi các hệ
quản trị cơ sở dữ liệu nh ORACLE, MS SQL SERVER, ESRI SDE,
POSGRESQL, hoặc là các file dữ liệu dạng flat nh shapefile, tab,
XML, Các dữ liệu này đợc thiết kế, cài đặt và xây dựng theo từng quy
trình đặc thù của từng cá thể hay tổ chức. Tùy theo quy mô và yêu cầu của hệ
thống mà tổ chức chọn lựa công nghệ quản trị cơ sở dữ liệu cho phù hợp.
Application Server (Bussiness Tier): thờng đợc tích hợp trong một
web server nào đó, ví dụ nh các webserver nổi tiếng nh Tomcat, Apache,
Internet Information Server. Đó là một ứng dụng phía server nhiệm vụ chính
của nó thờng là tiếp nhận các request từ client, lấy dữ liệu từ cơ sở dữ liệu
theo yêu cầu client, trình bày dữ liệu theo cấu hình định sẵn hoặc theo yêu
cầu của client và trả (response) kết quả về theo yêu cầu. Tùy theo dạng client
mà kết quả về khác nhau: có thể là một hình ảnh dạng bimap (jpeg, gif, png)
hay dạng vector đợc mã hóa nh SVG, KML, GML,Một khi dạng vector
đợc trả về thì việc trình bày hình ảnh bản đồ đợc đảm nhiệm bởi Client (ta
tier cần phải truy cập, trao đổi thông điệp (message) và xử lý qua nhiều tầng
Application của nhiều hệ thống hay thành phần khác nhau. Trong nhiều mô
hình khác, kiến trúc n-tier còn đợc thể hiện qua sự tơng tác trực tiếp của
Application
Database
Client, Browser
Application
Database
Client, Browser
Application
Database
Client, Browser
S
y
stem 1
S
y
stem 2
S
y
stem 3
Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa
Hoàng Anh Đức
24
Tin học Trắc địa K47
client với nhiều hệ thống . Kiến trúc n-tier này hiện nay đang phát triển rất
mạnh song song với phát triển các công nghệ khác, đặc biệt là công nghệ
Giao thức IP cung cấp một dịch vụ gửi dữ liệu không đảm bảo (còn gọi
là cố gắng cao nhất), nghĩa là nó hầu nh không đảm bảo gì về gói dữ liệu.
Gói dữ liệu có thể đến nơi mà không còn nguyên vẹn, nó có thể đến không
theo thứ tự (so với các gói khác đợc gửi giữa hai máy nguồn và đích đó), nó
có thể bị trùng lặp hoặc bị mất hoàn toàn. Nếu một phần mềm ứng dụng cần
đợc bảo đảm, nó có thể đợc cung cấp từ nơi khác, thờng từ các giao thức
giao vận nằm phía trên IP. IP có dạng xxx.xxx.xxx.xxx, các giá trị này đợc
cung cấp bởi 1 tổ chức chung trên thế giới gọi là NIC, các tổ chức NIC đợc
chia thành các cấp nhỏ hơn ở mỗi quốc gia, mỗi thành phố, mỗi cơ quan, cuối
cùng đến mỗi máy tính, IP đợc đảm bảo là duy nhất, do đó giao thức IP
cũng có thể đợc gọi là địa chỉ IP của 1 máy tính.
Địa chỉ Internet (IP) đang đợc sử dụng hiện tại là (IPv4) có 32 bit chia
thành 4 Octet ( mỗi Octet có 8 bit, tơng đơng 1 byte ) cách đếm đều từ trái
qua phải bít 1 cho đến bít 32, các Octet tách biệt nhau bằng dấu chấm (.) và
biểu hiện ở dạng thập phân đầy đủ là 12 chữ số.
Ví dụ một địa chỉ Internet: 203.168.110.224