MỤC LỤC
DANH MỤC CÁC HÌNH VẼ.8
DANH MỤC BẢNG .10
MỘT SỐKHÁI NIỆM VÀ THUẬT NGỮ.11
MỞ ĐẦU.12
1. Đặt vấn đề.12
2. Nội dung và mục tiêu nghiên cứu.13
CHƯƠNG 1: GIỚI THIỆU VỀCÔNG NGHỆGIS TRÊN NỀN WEB.14
1.1 Giới thiệu vềbản đồ.14
1.2 Các phương pháp biểu diễn bản đồ.14
1.2.1 Phân loại bản đồ.14
1.2.2 Các thành phần của bản đồ.15
1.2.3 Độchính xác của bản đồ.16
1.2.4 Các chú giải trên bản đồ.16
1.2.5 Phương pháp thểhiện thông tin trên bản đồ.18
1.2.6 Sựkhái quát hóa và sựphóng đại .19
1.3 Công nghệGIS trên nền Web.19
1.4 Sơ đồhoạt động của ứng dụng GIS trên nền Web .20
1.5 Dữliệu vềGIS .21
1.5.1 Các khái niệm cơbản .21
1.5.2 Các dạng dữliệu của GIS.24
1.5.3 Mô hình thông tin không gian.24
1.5.4 Mô hình thông tin phi không gian.30
CHƯƠNG 2: CÁC GIẢI PHÁP BẢN ĐỒTRỰC TUYẾN.33
2.1 Một sốgiải pháp bản đồtrực tuyến .33
2.1.1 MapBender .33
2.1.2 MapGuide Open Source.33
2.1.3 OpenLayers .34
2.2 Phần mềm mã nguồn mởMapServer .34
2.2.1 Giới thiệu vềMapserver.34
2.2.2 Thành phần và mô hình xửlý của Mapserver.36
2.2.3 Tìm hiểu Mapfile.39
7
2.2.4 Xửlý kết nối các loại dữliệu .48
CHƯƠNG 3: XÂY DỰNG WEBSITE BẢN ĐỒTRỰC TUYẾN VỀCÁC ĐỊA
ĐIỂM DU LỊCH TRÊN THÀNH PHỐHÀ NỘI .52
3.1 Phân tích .52
3.1.1 Hiện trạng và nhu cầu của thông tin .52
3.1.2 Phân tích hệthống và định hướng công nghệ.52
3.2 Thiết kế.53
3.2.1 Thiết kếkiến trúc .53
3.2.2 Thiết kếcơsởdữliệu.54
3.2.3 Thiết kếchức năng .64
3.2.4 Thiết kếgiao diện.66
3.3 Xây dựng.70
3.3.1 Xây dựng máy chủcung cấp dữliệu.70
3.4 Cài đặt và thửnghiệm.70
KẾT LUẬN .72
1. Kết quả đạt được.72
2. Hướng phát triển đềtài .72
PHỤLỤC .73
Phụlục 1: Một sốgiao diện người dùng người dùng .73
Phụlục 2: Giao diện quản trị.79
TÀI LIỆU THAM KHẢO.81
81 trang |
Chia sẻ: oanh_nt | Lượt xem: 2307 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Khóa luận Các giải pháp bản đồ trực tuyến và ứng dụng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
hình hoặc trên giấy thông qua thiết bị ngoại vi … Số liệu phi không gian là những diễn
tả đặc tính, số lượng, mối quan hệ của các hình ảnh bản đồ với vị trí địa lý của chúng.
Các số liệu phi không gian được gọi là dữ liệu thuộc tính, chúng liên quan đến vị trí
địa lý hoặc các đối tượng không gian và liên kết chặt chẽ với chúng trong hệ thống
thông tin địa lý thông qua một cơ chế thống nhất chung.
1.5.3 Mô hình thông tin không gian
Dữ liệu là trung tâm của hệ thống GIS, hệ thống GIS chứa càng nhiều thì chúng
càng có ý nghĩa. Dữ liệu của hệ GIS được lưu trữ trong cơ sở dữ liệu và chúng được
thu thập thông qua các mô hình thế giới thực. Dữ liệu trong hệ GIS còn được gọi là
thông tin không gian. Đặc trưng thông tin không gian là có khả năng mô tả “vật thể ở
đâu” nhờ vị trí tham chiếu, đơn vị đo và quan hệ không gian. Chúng còn khả năng mô
tả “hình dạng hiện tượng” thông qua mô tả chất lượng, số lượng của hình dạng và cấu
trúc. Cuối cùng, đặc trưng thông tin không gian mô tả “quan hệ và tương tác” giữa các
hiện tượng tự nhiên. Mô hình không gian đặc biệt quan trọng vì cách thức thông tin sẽ
ảnh hưởng đến khả năng thực hiện phân tích dữ liệu và khả năng hiển thị đồ hoạ của
hệ thống.
25
a. Hệ thống Vector
Kiểu đối tượng điểm: Điểm được xác định bởi cặp giá trị x, y. Các đối
tượngđơn, thông tin về địa lý chỉ gồm cơ sở vị trí sẽ được phản ánh là đối tượng
điểm. Các đối tượng kiểu điểm có đặc điểm:
• Là toạ độ đơn (x,y)
• Không cần thể hiện chiều dài và diện tích
Hình 4: Số liệu vector được biểu thị dưới dạng điểm (Point).
Tỷ lệ trên bản đồ tỷ lệ lớn, đối tượng thể hiện dưới dạng vùng. Tuy nhiên trên
bản đồ tỷ lệ nhỏ, đối tượng này có thể thể hiện dưới dạng một điểm. Vì vậy, các đối
tượng điểm và vùng có thể được dùng phản ánh lẫn nhau.
Kiểu đối tượng đường: Đường được xác định như một tập hợp dãy của các
điểm. Mô tả các đối tượng địa lý dạng tuyến, có các đặc điểm sau:
• Là một dãy các cặp toạ độ.
• Một đường bắt đầu và kết thúc bởi node.
• Các đường nối với nhau và cắt nhau tại node.
• Hình dạng của đường được định nghĩa bởi các điểm vertices.
• Độ dài chính xác bằng các cặp toạ độ.
26
Hình 5: Số liệu vector được biểu thị dưới dạng đường
Kiểu đối tượng vùng: Vùng được xác định bởi ranh giới các đường thẳng. Các
đối tượng địa lý có diện tích và đóng kín bởi một đường được gọi là đối tượng
vùng(polygons), có các đặc điểm sau:
• Polygons được mô tả bằng tập các đường và điểm nhãn.
• Một hoặc nhiều đường định nghĩa đường bao của vùng.
• Một điểm nhãn nằm trong vùng để mô tả, xác định cho mỗi một vùng.
Hình 6: Số liệu vector được biểu thị dưới dạng vùng (Polygon)
27
Những dạng hình cơ bản
Hình 7: Một số khái niệm trong cấu trúc cơ sở dữ liệu bản đồ.
28
b. Hệ thống Raster
Mô hình dữ liệu dạng raster phản ánh toàn bộ vùng nghiên cứu dưới dạng một
lưới các ô vuông hay điểm ảnh (pixcel). Mô hình raster có các đặc điểm:
• Các điểm được xếp liên tiếp từ trái qua phải và từ trên xuống dưới.
• Mỗi một điểm ảnh (pixcel) chứa một giá trị.
• Một tập các ma trận điểm và các giá trị tương ứng tạo thành một lớp (layer).
• Trong cơ sở dữ liệu có thể có nhiều lớp.
Mô hình dữ liệu raster là mô hình dữ liệu GIS được dùng tương đối phổ biến
trong các bài toán về môi trường, quản lý tài nguyên thiên nhiên.
Mô hình dữ liệu raster chủ yếu dùng để phản ánh các đối tượng dạng vùng là ứng
dụng cho các bài toán tiến hành trên các loại đối tượng dạng vùng: phân loại; chồng xếp.
Các nguồn dữ liệu xây dựng nên dữ liệu raster có thể bao gồm:
• Quét ảnh.
• Ảnh máy bay, ảnh viễn thám.
• Chuyển từ dữ liệu vector sang.
• Lưu trữ dữ liệu dạng raster.
• Nén theo hàng (Run lengh coding).
• Nén theo chia nhỏ thành từng phần (Quadtree).
• Nén theo ngữ cảnh (Fractal).
Trong một hệ thống dữ liệu cơ bản raster được lưu trữ trong các ô (thường hình
vuông) được sắp xếp trong một mảng hoặc các dãy hàng và cột. Nếu có thể, các hàng
và cột nên được căn cứ vào hệ thống lưới bản đồ thích hợp.
Việc sử dụng cấu trúc dữ liệu raster tất nhiên đưa đến một số chi tiết bị mất. Với lý
do này, hệ thống raster-based không được sử dụng trong các trường hợp nơi có các chi
tiết có chất lượng cao được đòi hỏi.
29
Hình 8: Sự biểu thị kết quả bản đồ dưới dạng Raster
c. Chuyển đổi cơ sở dữ liệu dạng vector và raster
Việc chọn của cấu trúc dữ liệu dưới dạng vector hoặc raster tuỳ thuộc vào yêu
cầu của người sử dụng, đối với hệ thống vector, thì dữ liệu được lưu trữ sẽ chiếm diện
tích nhỏ hơn rất nhiều so với hệ thống raster, đồng thời các đường contour sẽ chính
xác hơn hệ thống raster. Ngoài ra cũng tuỳ vào phần mềm máy tính đang sử dụng mà
nó cho phép nên lưu trữ dữ liệu dưới dạng vector hay raster. Tuy nhiên đối với việc sử
dụng ảnh vệ tinh trong GIS thì nhất thiết phải sử dụng dưới dạng raster.
Một số công cụ phân tích của GIS phụ thuộc chặt chẽ vào mô hình dữ liệu
raster, do vậy nó đòi hỏi quá trình biến đổi mô hình dữ liệu vector sang dữ liệu raster,
hay còn gọi là raster hoá. Biến đổi từ raster sang mô hình vector, hay còn gọi là vector
hoá, đặc biệt cần thiết khi tự động quét ảnh. Raster hoá là tiến trình chia đường hay
vùng thành các ô vuông (pixcel). Ngược lại, vector hoá là tập hợp các pixcel để tạo
thành đường hay vùng. Nét dữ liệu raster không có cấu trúc tốt, ví dụ ảnh vệ tinh thì
việc nhận dạng đối tượng sẽ rất phức tạp.
Nhiệm vụ biến đổi vector sang raster là tìm tập hợp các pixel trong không gian
raster trùng khớp với vị trí của điểm, đường, đường cong hay đa giác trong biểu diễn
vector. Tổng quát, tiến trình biến đổi là tiến trình xấp xỉ vì với vùng không gian cho
trước thì mô hình raster sẽ chỉ có khả năng địa chỉ hoá các vị trí toạ độ nguyên. Trong
mô hình vector, độ chính xác của điểm cuối vector được giới hạn bởi mật độ hệ thống
toạ độ bản đồ còn vị trí khác của đoạn thẳng được xác định bởi hàm toán học.
30
Hình 9: Sự chuyển đổi dữ liệu giữa raster và vector (Tor Bernhardsen, 1992)
1.5.4 Mô hình thông tin phi không gian.
Số liệu phi không gian hay còn gọi là thuộc tính là những mô tả về đặc tính, đặc
điểm và các hiện tượng xảy ra tại các vị trí địa lý xác định. Một trong các chức năng
đặc biệt của công nghệ GIS là khả năng của nó trong việc liên kết và xử lý đồng thời
giữa dữ liệu bản đồ và dữ liệu thuộc tính. Thông thường hệ thống thông tin địa lý có 4
loại số liệu thuộc tính:
- Đặc tính của đối tượng: liên kết chặt chẽ với các thông tin không gian có thể
thực hiện SQL (Structure Query Language) và phân tích
- Số liệu hiện tượng, tham khảo địa lý: miêu tả những thông tin, các hoạt động
thuộc vị trí xác định.
- Chỉ số địa lý: tên, địa chỉ, khối, phương hướng định vị, …liên quan đến các
đối tượng địa lý.
- Quan hệ giữa các đối tượng trong không gian, có thể đơn giản hoặc phức tạp
(sự liên kết, khoảng tương thích, mối quan hệ đồ hình giữa các đối tượng).
Để mô tả một cách đầy đủ các đối tượng địa lý, trong bản đồ số chỉ dùng thêm
các loại đối tượng khác: điểm điều khiển, toạ độ giới hạn và các thông tin mang tính
chất mô tả.
31
Các thông tin mô tả có các đặc điểm:
• Có thể nằm tại một vị trí xác định trên bản đồ
• Có thể có các kích thước, màu sắc, các kiểu chữ khác nhau
• Nhiều mức của thông tin mô tả có thể được tạo ra với ứng dụng khác nhau.
• Có thể tạo thông tin cơ sở dữ liệu lưu trữ thuộc tính
• Có thể tạo độc lập với các đối tượng địa lý có trong bản đồ
• Không có liên kết với các đối tượng điểm, đường, vùng và dữ liệu thuộc
tính của chúng
Bản chất một số thông tin dữ liệu thuộc tính như sau:
• Số liệu tham khảo địa lý: mô tả các sự kiện hoặc hiện tượng xảy ra tại một
vị trí xác định. Không giống các thông tin thuộc tính khác, chúng không mô tả về
bản thân các hình ảnh bản đồ. Thay vào đó chúng mô tả các danh mục hoặc các hoạt
động như cho phép xây dựng, báo cáo tai nạn, nghiên cứu y tế, … liên quan đến các
vị trí địa lý xác định. Các thông tin tham khảo địa lý đặc trưng được lưu trữ và quản
lý trong các file độc lập và hệ thống không thể trực tiếp tổng hợp chúng với các hình
ảnh bản đồ trong cơ sở dữ liệu của hệ thống. Tuy nhiên các bản ghi này chứa các yếu
tố xác định vị trí của sự kiện hay hiện tượng.
• Chỉ số địa lý: được lưu trong hệ thống thông tin địa lý để chọn, liên kết và
tra cứu số liệu trên cơ sở vị trí địa lý mà chúng đã được mô tả bằng các chỉ số địa lý
xác định. Một chỉ số có thể bao gồm nhiều bộ xác định cho các thực thể địa lý sử
dụng từ các cơ quan khác nhau như là lập danh sách các mã địa lý mà chúng xác
định mối quan hệ không gian giữa các vị trí hoặc giữa các hình ảnh hay thực thể địa
lý. Ví dụ: chỉ số địa lý về đường phố và địa chỉ địa lý liên quan đến phố đó.
• Mối quan hệ không gian: của các thực thể tại vị trí địa lý cụ thể rất quan
trọng cho các chức năng xử lý của hệ thống thông tin địa lý. Các mối quan hệ không
gian có thể là mối quan hệ đơn giản hay lôgic, ví dụ tiếp theo số nhà 101 phải là số
nhà 103 nếu là số nhà bên lẻ hoặc nếu là bên chẵn thì cả hai đều phải là các số chẵn
kề nhau. Quan hệ Topology cũng là một quan hệ không gian. Các quan hệ không
gian có thể được mã hoá như các thông tin thuộc tính hoặc ứng dụng thông qua giá
trị toạ độ của các thực thể.
32
• Mối quan hệ giữa dữ liệu không gian và phi không gian: thể hiện phương
pháp chung để liên kết hai loại dữ liệu đó thông qua bộ xác định, lưu trữ đồng thời
trong các thành phần không gian và phi không gian. Các bộ xác định có thể đơn giản
là một số duy nhất liên tục, ngẫu nhiên hoặc các chỉ báo địa lý hay số liệu xác định vị
trí lưu trữ chung. Bộ xác định cho một thực thể có thể chứa toạ độ phân bố của nó, số
hiệu mảnh bản đồ, mô tả khu vực hoặc con trỏ đến vị trí lưu trữ của số liệu liên quan.
Bộ xác định được lưu trữ cùng với các bản ghi toạ độ hoặc mô tả số khác của các
hình ảnh không gian và cùng với các bản ghi số liệu thuộc tính liên quan.
33
CHƯƠNG 2: CÁC GIẢI PHÁP BẢN ĐỒ TRỰC TUYẾN
2.1 Một số giải pháp bản đồ trực tuyến
2.1.1 MapBender
Mapbender là kết quả của dự án thành lập tổ chức mã nguồn mở về không gian
địa lý. Mapbender là một phần mềm để quản lý dữ liệu địa lý, phần mền cung cấp
công nghệ web để quản lý dữ liệu địa lý được thực thi với ngôn ngữ PHP, JavaScript
và cơ sở dữ liệu XML, nó cung cấp mẫu dữ liệu và giao diện để hiển thị, xa hơn nữa
Mapbender cung cấp dịch vụ xác định thẩm quyền và quyền hạn, quản lý giao diện
người, nhóm người sử dụng, và quản trị dịch vụ trong một dữ án về bản đồ trực tuyến.
Đặc trưng
• Phần mềm vào dịch vụ quản trị cho bản đồ của OGC kiến trúc web
• Thực thi những công nghệ web mới nhất sử dụng, PHP, JavaScritp và XML
• Cung cấp một dữ liệu mẫu và dạng hiển thị, tìm vị trí và truy vấn
• Thẩm quyền vào quyền hạn dịch vụ
• Chức năng bảo mật proxy.
• Quản lý giao diện người dùng, nhóm người hay dịch vụ quản trị.
2.1.2 MapGuide Open Source
Cũng như Mapbender, phần mềm mã nguồn mở MapGuide là một nền tảng dựa
trên cơ sở web, chúng được sử dụng để phát triển và triển khai những ứng dụng trên
trang web về bản đồ và những dịch vụ web về địa lý một cách nhanh chóng.
MapGuide bao gồm một cơ sở dữ liệu XML để quản lý nội dung và nó hỗ trợ
phần lớn các dịnh dạng file địa lý, cơ sở dữ liệu về địa lý thông dụng.
MapGuide có thể được triển khai trên hệ điều hành Window hoặc Linux, hỗ trợ
Web server Apache và IIS, có thể được nhúng vào các ngôn ngữ PHP,.NET, Java, và
JavaScript API để phát triển các ứng dụng.
Đặc trưng
• Triển khai trên hệ điều hành Window và Linux, dùng máy chủ Apache và
ISS, sử dụng trên các trình duyệt web khác nhau.
• Hiển thị bản đồ chất lượng.
34
• Xây dựng cơ sở dữ liệu được lưu trữ trên XML.
• Mềm dẻo để phát triển các ứng dụng với PHP,.NET, Java
• Mở rộng và bảo mật cho phía server
2.1.3 OpenLayers
OpenLayers là một thư viện JavaScript thuần túy cho việc thể hiện dữ liệu bản
đồ trong phần lớn các trình duyệt web hiện đại, không phụ thuộc vào phía server,
OpenLayers thực thi một JavaScript API để xây dựng một ứng dụng địa lý trên nền
web một cách hiệu quả, tương tự với Google Maps. OpenLayers được phát triển bởi
cộng đồng phần mềm mã nguồn mở, được viết bởi MetaCarta và sau đó được phát
triển như một thư viện mã nguồn mở.
Và xa hơn nữa, OpenLayers thực thi các chuẩn công nghiệp về những phương
thức để truy xuất dữ liệu địa lý. OpenLayers được viết trên ngôn ngữ JavaScript hướng
đối tượng, sử dụng những thành phần từ file Prototype.js, những mã OpenLayers đã
trải qua hàng trăm lần test đơn vị.
Như một FrameWork được dự đoán sẽ chia những công cụ bản đồ từ dữ liệu
bản đồ, vì tất cả những công cụ có thể điều kiển trên tất cả các nguồn dữ liệu
Đặc trưng
• Hỗ trợ cho hàng loạt các nguồn dữ liệu
• Hỗ trợ cho việc hiện thị những đặc tính địa lý, đánh dấu và hiện bản đồ.
• Dễ dàng xây dựng và cấu hình, được thiết kế để giúp đỡ xây dựng OpenLayers
nhúng vào các ứng dụng khác.
2.2 Phần mềm mã nguồn mở MapServer
2.2.1 Giới thiệu về Mapserver
Hiện nay ở Việt Nam, MapServer được sử dụng khá phổ biến, MapServer có
tính năng hỗ trợ nhiều ngôn ngữ lập trình như.Net, PHP, và có thể thao tác với nhiều
loại cơ sở dữ liệu khác nhau, Nhiều công ty phần mềm ở Việt Nam đã lựa chọn
MapServer làm công cụ phát triển. So với các giải pháp khác, giải pháp sử dụng phần
mềm mã nguồn mở MapServer được sử dụng rỗng rãi hơn, và đặc biệt, có rất nhiều tài
liệu nghiên cứu về giải pháp này, chính vì thế trong luận văn này tôi đi sâu vào nghiên
cứu về giải pháp sử dụng phần mềm mã nguồn mở Mapserver.
35
MapServer là phần mềm mã nguồn mở cho phép tạo các bản đồ động và trình
bày dữ liệu không gian trên Web. Đây là sản phẩm của trường đại học Minnesota
(University of Minnesota - UMN) trong dự án kết hợp giữa NASA và bộ tài nguyên
Minnesota.[12].
MapServer có thể hoạt động ở hai chế độ CGI và API. Ở chế độ CGI, các chức
năng của MapServer trong môi trường WebServer là CGI MapScript. Đây là cách thức
dễ dàng để khởi tạo và phát triển một ứng dụng. Ở chế độ API, có thể truy cập
MapServer bằng PHP, Perl hoặc Python, chế độ này cho phép xây dựng các ứng dụng
uyển chuyển, giàu các chức năng và có khả năng truy cập các cơ sở dữ liệu mở rộng
khác.
MapServer hoạt động dựa vào các mẫu là chính. Trước khi thực thi yêu cầu của
web, MapServer đọc tệp tin cấu hình (mapfile) mô tả các lớp và các thành phần khác
của bản đồ. Nó sẽ vẽ và lưu lại bản đồ. Tiếp theo, nó sẽ đọc một hoặc nhiều tệp tin
mẫu HTML mà nó nhận diện trong tệp tin cấu hình. Mỗi tệp tin mẫu sẽ chứa đựng các
thẻ (tags) HTML và các chuỗi MapServer đặc biệt. Các chuỗi này sẽ được sử dụng, ví
dụ chuỗi chỉ đường dẫn để lưu ảnh bản đồ do Mapserver tạo ra, hoặc chuỗi dùng để
nhận diện các lớp nào sẽ được sắp xếp…MapServer thay thế các giá trị hiện tại vào
các các chuỗi này và gửi luồng dữ liệu về cho WebServer để WebServer tiếp tục
chuyển về cho trình duyệt. Khi có một yêu cầu mới phát sinh, MapServer sẽ nhận yêu
cầu từ WebServer với các giá trị mới và chu trình cứ thế tiếp diễn.
36
Sơ đồ hoạt động của Mapserver
Hình 10: Sơ đồ hoạt động của Mapserver
2.2.2 Thành phần và mô hình xử lý của Mapserver
a. Các thành phần của Mapserver
Ứng dụng Mapserver sử dụng chuẩn giao tiếp CGI để giao tiếp với các thành
phần và với HTTP Server, nên đôi khi ta gọi ứng dùng Mapserver là ứng dụng
Mapserver CGI. Do có mã nguồn mở nên cũng có những ứng dụng được biên dịch thể
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:
- Một HTTP Server như Apache hoặc IIS-Internet Information Server(Có vài
trò Web server).
- Phần mềm Mapserver(Vai trò WebGIS Application).
- File khởi tạo(initialization file) dùng để cấu hình và tùy biến các thông số của
ứng dùng Mapserver.
- Một file text được gọi là mapfile, điều khiển các tương tác với dữ liệu. Như
lấy dữ liệu gì, ở đâu, sắp xếp theo thứ tự như thế nào?..
- Một template file được dùng để định dạng kết quả được trình bày trên cửa sổ
trình duyệt.
37
- Tập dữ liệu GIS.
i. Initialization file(file khởi tạo).
Mapserver “không có trạng thái ” nghĩa là mỗi khi http server nhận yêu cầu từ
client thông qua URL thì http server sẽ gọi Mapserver và thực thi. Bằng cách sử dụng
file khởi tạo ta định nghĩa các tham số cơ bản cần thiết để mapserver có thể được thực
thi.
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èm trong
kết quả cho phía client.
ii. Mapfile.
Mapfile định nghĩa dữ liệu sẽ được dùng như thế nào trong ứng dụng, cách hiển
thị và các tham số cho truy vấn. Mapfile có thể xem như là một file cấu hình cho ứng
dụng. Mapfile có thể bao gồm cả thông tin về vẽ bản đồ như thế nào, ghi chú trên 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.
iii. Template file.
Template file điều kiển các hình bản đồ và các ghi chú trả về bởi Mapserver sẽ
xuất hiện trên trang html. Cách làm của Mapserver như sau. Trước hết Mapserver đọc
từ file template này và nếu gặp các từ khóa hoặc các từ mẫu thì nó sẽ nó sẽ thay thế
các giá trị tương ứng lấ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ường template file sẽ được lưu dưới dạng một trang html với phần mở rộng là.html.
iv. GIS Dataset.
Về dữ liệu Vector. Mapserver sử dụng shapefile 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 GIS phổ biến trên thê giới hiện nay.
Mapserver đều có thể hiểu và tương tác được. Như PostGIS, ArcGIS, MapInfo…và
nhiều định dạng khác.
38
b. Quy trình xử lý
Hình 11: Quy trình xử lý của Mapserver
Sai
Đúng
Tạo đối tượng bản đồ
Tính phạm vi bản đồ
Ccu: Thu nhỏ
Ccu: Phóng to
Ccu: Dịch chuyển
Ccu: Xác định
Ccu: Vẽ lại
Ccu: Truy vấn
Mặc định: Truy vấn
Tạo mới đối tượng
điểm từ điểm click
chuột
Công cụ=Xác
đinh
Lấy chỉ số
đối tượng
hình
Chọn công cụ
Tính phạm vi bản dồ
mới
Vẽ bản đồ
Truy vấn CSDL
Đếm số bản ghi
=0
=1
Hiển thị
bản ghi >1
Chọn 1 bản ghi
Hiển thị bản ghi
39
2.2.3 Tìm hiểu Mapfile
Mapfile được xem như file cấu hình cho ứng dụng dùng MapServer. Trong
phần này ta sẽ tìm hiểu về những đối tượng trong Mapfile, thiết lập các giá trị cho
chúng.
Trong Mapfile có nhiều đối tượng như MAP, PROJECTION, LAYER,
CLASS…mỗi đối tượng định nghĩa cách thức tạo nên ảnh bản đồ hoặc đối tượng để
MapServer truy xuất dữ liệu cho các câu truy vấn.
Ví dụ:
Hình 12: Mô hình đối tượng trong Mapfile
Trong hình vẽ minh họa trên, ảnh bản đồ (đối tượng MAP) là sự chồng xếp do
bốn layer tạo thành, trong đó có một layer sử dụng Raster (ảnh đồ họa) còn lại ba
layer được vẽ từ dữ liệu vectơ: polygon, line, Diễn giải…
Hình 13: Chồng xếp các Layer
Mỗi layer được vẽ, cần được chỉ ra nguồn dữ liệu (vectơ hay raster), hệ quy
chiếu cho mỗi layer...loại đối tượng được vẽ (line, label, polygon…). Tất cả được định
nghĩa trong từng đối tượng của mapfile.
40
a. Map Object(Đối tượng bản đồ)
Trong file MapFile thì MAP chính là đối tượng gốc,chứa trong nó các đối
tượng khác.
• CONFIG [key] [value]
Tham số này được dùng để định nghĩa vị trí đặt file EPSG dùng cho thư viện
PROJ.4 [X]). Giá trị [key] là PROJ_LIB và [value] là đường dẫn đến EPSG file. Tham
số ONFIG được thiết lập để tránh việc phải thiết lập biến môi trường PROJ_LIB đòi
hỏi quyền Admin.
Ví dụ:
CONFIG PROJ_LIB /tmp/proj/
• DEBUG [on|off]
Cho phép thực hiện debug trên các đối tượng map. Ngoài kết quả, MapServer
sẽ ghi các kết quả debug vào logfile nếu như logfile được chỉ ra trong tham số LOG
của đối tượng.
WEB.
• EXTENT [minx] [miny] [maxx] [maxy]
Không gian phạm vi của ảnh bản đồ được tạo ra. Nếu giá trị EXTENT không
được gán thì MapServer cũng có thể nội suy ra một giá trị từ dữ liệu và vị trí trung tâm
của ảnh bản đồ.
• FONTSET [filename]
Tập tin liệt kê danh sách các font được dùng. Định dạng rất đơn giản. Mỗi dòng
chứa hai thành phần: một bí danh và một là đường dẫn đến font được phân cách bằng
khoảng trắng. Alias đơn giản là tên mà ta dùng để chỉ font này trong mapfile. Các font
sử dụng được với MapServer là các True Font Type.
Ví dụ:
Hình 14: Danh sách font sử dụng
41
• IMAGECOLOR [r] [g] [b]
Màu được dùng làm background cho ảnh bản đồ. Khi mà thuộc tính
Transparency (trong suốt ) được chọn. thì màu này sẽ được đánh dấu như là màu trong
suốt trong bảng màu. Khi đó thành phần nào của ảnh bản đồ sử dụng màu này để vẽ
cũng trong suốt. Vì thế trong khi tạo ảnh bản đồ nếu chọn ảnh bản đồ trong suốt thì
nên chọn màu Imagecolor là màu không được dùng để vẽ các thành phần khác trên bản
đồ.
• IMAGETYPE [gif|png|jpeg|wbmp|gtiff|swf|userdefined]
Định dạng ảnh bản đồ được tạo ra.
• LAYER
Bắt đầu cho đối tượng LAYER.
• LEGEND
Bắt đầu cho đối tượng LEGEND.
• NAME [name]
Xác định tiền tố cho tên ảnh bản đồ, ảnh kích thước tỉ lệ, ghi chú được tạo ra từ
Mapfile này.
Ví dụ:
NAME VN_
Các ảnh bản đồ tạo ra sẽ có tiền tố là VN_ như VN_11197048662768.png,
VN_11197048992800.png, VN_1119719302224.png…
• PROJECTION
Bắt đầu cho đối tượng PROJECTION.
• QUERYMAP
Bắt đầu khai báo đối tựong QUERYMAP.
• REFERENCE
Bắt đầu đối tượng REFERENCE.
• RESOLUTION [int]
42
Định độ phân giải cho ảnh kết quả, độ phân giải sẽ ảnh hưởng đến việc tính toán tỉ lệ.
Mặc định là 72.
• SCALE [double]
Tính toán tỉ lệ của bản đồ.
• SHAPEPATH [filename]
Đường dẫn đến dữ liệu dạng vectơ.
• SIZE [x][y]
Kích thước theo đơn vị pixel của ảnh bản đồ.
• STATUS [on|off]
Trong mapfile ta có thể định nghĩa: ảnh bản đồ, thước tỉ lệ, ảnh tham chiếu
(dạng ảnh nhỏ toàn cục). STATUS cho phép ta lựa chọn có kích hoạt ảnh bản đồ
không? Nếu không được kích hoạt MapServer sẽ không tạo ra ảnh bản đồ khi sử dụng
mapfile này.
• SYMBOLSET [filename]
File name chứa tập hợp các biểu tượng được dùng trên bản đồ. Trên bản đồ, các
biểu tượng(symbol) được dùng để đánh dấu các đối tượng nhằm làm nổi bật và tăng
thêm ngữ nghĩa.
• SYMBOL
Dấu hiệu bắt đầu của đối tượng SYMBOL.
• TEMPLATEPATTERN [regular expression] và DATAPATTERN [regular
expression] Trong yêu cầu(request) được gởi lên từ trình duyệt gồm có 2 dạng tham số
là DATA và TEMPLATE. Như đã biết các tham số đều là các từ khóa được
MapServer quy định trước và thường khó nhớ. Tuy nhiên bằng cách sử dụng
TEMPLATEPATTERN và DATAPATTERN ta có thể định nghĩa một tên khác cho
các từ khóa này.
Ví dụ:
mapserv40?map=/data/projects/tutorial/example1-1.map&mode=map
Bằng cách sử dụng TEMPLATEPATTERN và DATAPATTERN với định nghĩa
43
anh_ban_do=map.
che_do_ban_do=mode
Ta có chuỗi URL dễ nhớ hơn
mapserv40?anh_ban_do=/data/projects/tutorial/example1-
1.map&che_do_ban_do=map
• TRANSPARENT [on|off]
Thiết lập nền trong suốt cho ảnh bản đồ hay không?Mặc định là off.
• UNITS [feet|inches|kilometers|meters|miles|dd]
Đơn vị của hệ tọa độ ảnh bản đồ. Được sử dụng cho thước tỉ lệ và các tính toán.
• WEB
Dấu hiệu bắt đầu đối tượng WEB.
b. Layer Object(Đối tượng lớp)
Đây chính là đối tượng được sử dụng nhiều nhất trong một MapFile, mỗi đối
tượng layer mô tả một layer được dùng để tạo ra ảnh bản đồ. Các layer được vẽ theo
thứ tự xuất hiện trong MapFile (layer đầu tiên ở dưới cùng,layer cuối dùng ở trên).
Hình 15: Thứ tự được vẽ các Layer
Các layer được vẽ ra còn được tính thêm thứ tự ưu tiên. Raster độ ưu tiên thấp
sẽ được vẽ trước và đặt ở phía dưới, tiếp đến là Vùng (Polygon), Đường (Line), Điểm
(Point) và Chú thích (Label). Thứ tự này đảm bảo các layer khi xếp chồng thì không
che khuất nhau.
• CLASS
44
Bắt đầu đối tượng CLASS. Trong các định dạng vectơ, mỗi Layer được vẽ lấy
dữ liệu từ một bảng dữ liệu. Mỗi bảng dữ liệu có nhiều trường thuộc tính, mỗi thuộc
tính được xem như một CLASS.
• CLASSITEM [attribute]
Ứng với tên của trường thuộc tính trong bảng dữ liệu, được định nghĩa trong
MapFile.
• CONNECTIONTYPE [local|sde|ogr|postgis|oraclespatial|wms]
Kiểu kết nối, mặc định là local. Kiểu kết nối OGR được dùng cho các loại dữ
liệu khác ngoài dữ liệu mặc định là shapfile của ESRI. Thực chất OGR là một thư viện
được viết bằng C++, hỗ trợ các kết nối nhiều loại dữ liệu như: MapInfo,Microstation
DGN, ArcInfo…
• CONNECTION [string]
Câu kết nối CSDL để nhận về dữ liệu đối với dữ liệu nằm trên các server hoặc
các hệ DBMS.
Ví dụ:
Câu kết nối đến SDE bao gồm hostname, instance name, database name,
username và password được phân cách bằng dấu phẩy.
Câu kết nối đến PostGIS có dạng “user=nobody password=*****
dbname=dbname host=localhost port=5432”.
Còn câu kết nối đến Oracle: user/pass[@db].
• DATA [filename]|[sde parameters][postgis table/column][oracle table/column]
Tên fil
Các file đính kèm theo tài liệu này:
- Ứng dụng công nghệ GIS xây dưng bản đồ trực tuyến các địa điểm du lịch tại Thành Phố Hà Nội.pdf