Khóa luận Các giải pháp bản đồ trực tuyến và ứng dụng

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

pdf81 trang | Chia sẻ: oanh_nt | Lượt xem: 2298 | Lượt tải: 2download
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:

  • pdfỨ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