MỞ ĐẦU Hệ thống thông tin địa lý GIS Geographic Information System ra đời vào thập kỷ 70 và ngày càng phát triển mạnh mẽ trên nền tảng của tiến bộ công nghệ máy tính, đồ họa máy tính, ph
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Trang 3MỤC LỤC
MỤC LỤC 1
LỜI CẢM ƠN 4
LỜI CAM ĐOAN 5
DANH MỤC THUẬT NGỮ VÀ CÁC CHỮ VIẾT TẮT 6
MỞ ĐẦU 7
CHƯƠNG 1 BÀI TOÁN THỰC TẾ VÀ GIS 3D 9
1.1.1 Một số ứng dụng GIS trong ngành điện ở nước ngoài 9
1.1.2 Ứng dụng GIS trong ngành điện ở Việt Nam 10
1.2 Bài toán lựa chọn tuyến đường dây truyền tải diện 10
1.2.2 Lựa chọn công nghệ xây dựng ứng dụng 13
1.3 GIS-3D và phân tích không gian 3 chiều 14
1.3.1 Mô hình dữ liệu độ cao trong GIS 14
1.3.2 Các loại dữ liệu về độ cao 15
1.3.2.1 Lưới độ cao (Grid) 15
1.3.2.2 Dữ liệu dạng mô hình mạng tam giác không đều 16
1.3.2.3 Phép tam giác đạc Delaunay (Delaunay Triangulation) 17
1.3.3 Các chuẩn cho các mô hình độ cao số của USGS 18
1.3.4 Mô hình số độ cao DEM 18
1.3.4.1 Dữ liệu DEM là gì? 18
1.3.4.2 Các kiểu dữ liệu DEM 19
1.3.4.3 Cấu trúc của dữ liệu độ cao 20
1.3.4.4 Mô hình hóa địa hình bằng DEM 22
1.3.5 Phân tích dữ liệu không gian GIS-3D 26
1.3.5.1 Khái niệm 26
1.3.5.2 Phân biệt phân tích dữ liệu không gian GIS với các loại phân tích khác 26
1.3.5.3 Các phép phân tích tích không gian theo yêu cầu ứng dụng 27
1.3.5.4 Phân tích GIS trong các phần mềm thương mại 28
1.3.5.5 Một số phép phân tích không gian [2] 32
CHƯƠNG 2 HỆ THỐNG WEBGIS MÃ NGUỒN MỞ 42
2.1 Hệ quản trị cơ sở dữ liệu PostgreSQL/PostGIS 43
2.2 PostgreSQL hỗ trợ các đối tượng hình học 43
2.2.1 Những kiểu dữ liệu Hình học 43
2.2.2 Các hàm và toán tử hình học 47
2.2.3 PostGIS 50
2.3 Minnesota Mapserver 50
2.3.1 Vài nét về lịch sử của Mapserver 50
2.3.2 Các chức năng cơ bản của Mapserver 51
2.3.3 Mô hình của dịch vụ Mapserver 52
2.4 PHP/Mapscript - ngôn ngữ script của Mapserver 53
2.4.1 Ngôn ngữ PHP script 53
2.4.2 Một số nét khái quát về MapScript 54
2.4.3 PHP/Mapscript 55
2.5 Các thành phần của một ứng dụng Mapserver 56
2.5.1 Các tài nguyên cần thiết 56
2.5.2 Các tệp thành phần chính 57
2.5.3 Dữ liệu lưới điểm – raster 58
2.5.4 Dữ liệu Vector 60
2.6 Mapserver với PostGIS 61
Trang 42.6.1 Cấu trúc tệp map với tầng PostGIS 61
2.6.2 Applet Rosa 63
CHƯƠNG 3 XÂY DỰNG ỨNG DỤNG WEBGIS HỖ TRỢ TÍNH TOÁN VÀ LỰA CHỌN VỊ TRÍ XÂY LẮP THÀNH PHẦN HỆ THỐNG LƯỚI ĐIỆN 64
3.1 Giới thiệu bài toán 65
3.2 Phân tích và thiết kế cơ sở dữ liệu 65
3.3 Phân tích và thiết kế các chức năng của ứng dụng 72
3.3.1 Mô hình hóa chức năng theo biểu đồ Use Case: 73
3.3.2 Thiết kế các phép toán được dùng trong ứng dụng 73
3.3.3 Biểu đồ xử lý của các chức năng chính 81
3.4 Cài đặt và thử nghiệm 85
3.4.1 Các phần mềm đã được cài đặt và tổ chức thư mục 85
3.4.2 Kết quả thử nghiệm 86
3.4.3 Đánh giá kết quả chạy 89
KẾT LUẬN 90
TÀI LIỆU THAM KHẢO 92
Trang 5DANH MỤC THUẬT NGỮ VÀ CÁC CHỮ VIẾT TẮT
Geo-information: Ngành Thông tin địa lý
Geo-spatial: Không gian địa lý
Geo-metric data: Dữ liệu không gian
Thematic data: Dữ liệu thuộc tính
GIS: Geographic information system
ESRI: Environmental Systems Research Institute
TIN: Triangulated irregular network
NDCDB : National Digital Cartographic Data Base
UTM: Universal Transverse Mercator
USGS: United States Geological Survey
Trang 6MỞ ĐẦU
Hệ thống thông tin địa lý GIS (Geographic Information System) ra đời vào thập
kỷ 70 và ngày càng phát triển mạnh mẽ trên nền tảng của tiến bộ công nghệ máy tính, đồ họa máy tính, phân tích dữ liệu không gian và quản lý dữ liệu Trong những năm gần đây, công nghệ này đã có những phát triển nhảy vọt và trở thành một công cụ hữu hiệu trong công tác quản lý xử lý dữ liệu GIS khác với các hệ
đồ họa máy tính đơn thuần khác bởi GIS gắn liền với thế giới thực và tự nhiên hóa trong cách phân tích dữ liệu của hệ thống Từ các thông tin bản đồ và thông tin thuộc tính cần được lưu trữ như: Quản trị dữ liệu, bản đồ học, trắc địa, viễn thám hay hệ thống điện… có thể dễ dàng tạo được các lớp bản đồ và các báo cáo cung cấp một sự nhìn nhận có hệ thống và tổng thể nhằm thu nhận và quản lý thông tin vị trí có hiệu quả đối với các chuyên ngành khác nhau Ưu điểm lớn nhất của GIS là đối với từng lớp đối tượng cần quản lý, GIS cho phép tạo thêm một hệ cơ sở dữ liệu kèm theo để quản lý các đối tượng này như bất kỳ một hệ cơ
sở dữ liệu nào khác tạo điều kiện thuận lợi cho việc truy xuất, tính toán
Với sự phát triển không ngừng, ngày nay GIS trên thế giới đã quản lý được đối tượng với hệ không gian ba chiều (3D), từng lớp đối tượng được quản lý đã được phân định rõ nét Thí dụ như biểu diễn hai đường dây, một là ngầm và một là ở trên cao Nếu theo quản lý đối tượng GIS hai chiều thông thường thì sẽ bị trùng nhau Nhưng nếu được biểu diễn và quản lý bằng hệ thống GIS ba chiều thì sẽ thấy rõ là hai đường khác nhau bởi chúng được phản ánh ở những độ cao khác nhau Vì vậy, nếu có một quy hoạch tổng thể thì việc phân định không gian quản
lý của từng ngành Bưu điện, Giao thông, Điện lực… sẽ rất rõ ràng khi thiết kế và thi công các hạng mục công trình trên cùng một địa bàn
Ứng dụng GIS trong hệ thống điện cho phép lưu trữ và hiển thị thông tin ở các tỷ
lệ khác nhau để người sử dụng có thể dễ dàng quản lý tài sản lưới điện cũng như cung cấp các thông tin về đường dây, quản lý tài sản như trụ điện, máy biến áp
và các thiết bị điện khác, thể hiện thông tin về các thiết bị điện liên quan Bên cạnh đó, GIS cũng hỗ trợ tích cực việc vận hành lưới điện như quản lý hành lang
an toàn lưới điện, quản lý khách hàng, khắc phục nhanh sự cố mất điện, tính toán tổn thất điện năng, dự báo nhu cầu sử dụng…
Đối với hệ thống điện của Việt Nam, từ trước đến nay khi giải các bài toán trong
hệ thống từ mạng truyền tải đến phân phối cũng như quản lý và vận hành hệ
Trang 7thống đa phần đều dựa trên sơ đồ đơn tuyến Với ý tưởng ứng dụng công nghệ GIS vào việc quản lý và vận hành lưới điện phân phối nhằm đem lại hiệu quả cao trong vận hành sản xuất, bắt nhập với xu thế hiện đại hóa ngành Điện, thời gian qua việc ứng dụng GIS trong quản lý, vận hành hệ thống điện đã được triển khai thí điểm tại một số đơn vị điện lực và truyền tải điện
Yêu cầu về xây dựng hệ thống lưới điện càng trở nên phức tạp và tốn nhiều chi phí hơn Đặc biệt là tại các vùng có địa hình không bằng phẳng hoặc các vùng dân cư có nhiều nhà cao tầng thì việc thiết kế lưới điện gặp rất nhiều khó khăn Việc thực hiện xây dựng được một hệ thống lưới điện tiết kiệm chi phí là một bài toán khó và đang là vấn đề rất được quan tâm Bên cạnh đó, việc tích hợp công nghệ GIS và Internet đã tạo ra cơ hội để mọi người đều có thể sử dụng dữ liệu và các chức năng GIS mà không cần cài đặt bất kỳ một phần mềm GIS chuyên dụng nào Vì vậy trong luận văn này chúng tôi có đề xuất và xây dựng một ứng dụng WebGIS hỗ trợ trong thiết kê hệ thống lưới điện Nội dung luận văn tốt nghiệp
”Phân tích dữ liệu không gian GIS-3D và xây dựng ứng dụng” được chia thành 3
chương như sau:
Chương 1: Bài toán thực tế và GIS-3D
Giới thiệu tổng quan về GIS-3D mà cụ thể là mô hình dữ liệu độ cao số DEM Dựa trên những phép toán phân tích của GIS-3D để thiết kế các thuật toán cho bài toán thực tế của ngành Điện hiện nay
Chương 2: Hệ thống WebGIS mã nguồn mở
Chương này giới thiệu về các công cụ mã nguồn mở mà được sử dụng để xây dựng ứng dụng của GIS
Chương 3: Xây dựng ứng dụng WebGIS hỗ trợ tính toán và lựa chọn vị trí xây lắp thành phần hệ thống lưới điện
Chương này mô hình hóa ứng dụng WebGIS hỗ trợ nhà thiết kế tính toán và lựa chọn vị trí xây lắp thành phần hệ thống lưới điện Thiết kế các thuật toán dựa trên các phép toán phân tích không gian cở sở và mô hình hóa dữ liệu không gian GIS-3D cho ứng dụng
Trang 8Dựa trên các chức năng của GIS là thu thập dữ liệu, lưu trữ, phân tích và hiển thị Những nghiên cứu trong và ngoài nước được ứng dụng trong thực tế đã đạt được một số thành tựu đáng kể trong đó có nghành điện
1.1.1 Một số ứng dụng GIS trong ngành điện ở nước ngoài
Năm 1993, điện lực Liban (Electricité Du Liban - EDL) xây dựng bản đồ động, phục vụ trong công tác quản lý của điện lực bằng công nghệ GIS Dự án này có tên là GISEL (GIS at Electricity of Lebanon) có thời gian thực hiện trong 4 năm Sau khi hoàn thành, GISEL cung cấp dịch vụ cho hơn 800.000 khách hàng trong phạm vi phục vụ 10.000 km2
Công ty Điện lực Bangkok, Thailand thực hiện dự án triển khai ứng dụng GIS trong hệ thống truyền tải điện Dự án thực hiện từ năm 1996 đến năm 2002, được phân ra thành ba giai đoạn Tổng cộng có 15 chi nhánh điện lực được ứng dụng
Trang 91.1.2 Ứng dụng GIS trong ngành điện ở Việt Nam
Năm 2003, Điện lực Thủ Đức nghiên cứu và ứng dụng GIS phục vụ công tác quản lý tổn thất điện năng thông qua việc quản lý sơ đồ lưới điện và thông tin khách hàng trên phần mềm Mapinfo Kết quả, năm 2003 tổn thất là 5% thì đến năm 2006 tổn thất đã giảm xuống, chỉ còn 4,19% GIS đã đem lại hiệu quả rõ rệt
Với mục tiêu ứng dụng công nghệ GIS vào việc quản lý và vận hành lưới điện phân phối nhằm đem lại hiệu quả cao trong vận hành sản xuất, bắt nhập với xu thế hiện đại hóa ngành Điện, thời gian qua việc ứng dụng GIS trong quản lý, vận hành hệ thống điện đã được triển khai thí điểm tại một số đơn vị điện lực và truyền tải điện Tuy nhiên ở nước ta hầu hết các nghiên cứu và ứng dụng chỉ được triển khai trên các phần mềm thương mại như: MapInfo, ArcGIS… Các phần mềm này có nhiều tính năng mạnh, dễ sử dụng nhưng chi phí cao
Việc sử dụng các công nghệ GIS nguồn mở, kết hợp với ứng dụng Web dễ dàng khai thác qua Internet tạo ra cơ hội để nhiều người có thể sử dụng kho dữ liệu không gian và các chức năng GIS mà không cần cài đặt thêm phần mềm GIS chuyên dụng nào là một giải pháp nên được khuyến khích, nhằm phổ biến GIS đến đông đảo người dùng Sau một thời gian công tác trong ngành điện, tôi nhận thấy có thể thử nghiệm phát triển một ứng dụng WebGIS hỗ trợ việc lựa chọn bước đầu các phương án thiết kế hệ thống lưới điện
1.2 Bài toán lựa chọn tuyến đường dây truyền tải diện
Bài toán xây dựng hệ thống lưới điện là một bài toán phức tạp, nhất là tại các vùng có địa hình không bằng phẳng, các vùng dân cư xen kẽ, thì việc thiết kế lưới điện gặp rất nhiều khó khăn vì có nhiều yêu cầu kỹ thuật cần được thỏa mãn Việc lựa chọn sơ bộ các phương án khả thi cũng cần rất nhiều tính toán Tiết kiệm công sức và chi phí trong khâu này là vấn đề rất được quan tâm Dưới đây tình bày sơ bộ một số vấn đề kỹ thuật cần quan tâm của bài toán
1.2.1 Mô tả hệ thống lưới điện và các yêu cầu [4][5]
Dưới đây tình bày sơ bộ một số vấn đề kỹ thuật cần quan tâm của bài toán Xây dựng hệ thống lưới điện bao gồm các thành phần như sau:
Trang 101) Trạm biến thế, trạm biến đổi dạng điện, trạm cắt điện và các thiết bị phân phối điện
2) Cột điện cao thế, trung thế và hạ thế
3) Đường dây điện cao thế trên không
Các thành phần của hệ thống lưới điện được phân loại như sau:
(1) Phân loại địa hình
- (T0) Đồng bằng không dân cứ (Ví dụ: qua ruộng đồng)
- (T1) Đồng bằng gần dân cư, nhiều nhà cao tầng, cây cối <= 4m
- (T2) Đồng bằng gần dân cư, nhiều nhà cao tầng, cây cối > 4m
- (T3) Địa hình nhiều sông hồ
- (T4) Địa hình nhiều đồi núi
(2) Phân loại cột điện:
- (P1) Cột H:
o (P1.1) Cột H chiều cao 6,5m;
o (P1.2) Cột H chiều cao 7,5m ;
o (P1.3) Cột H chiều cao 8,5m
- (P2) Cột bê tông ly tâm (cột tròn):
o (P2.1) Cột ly tâm chiều cao chiều cao 8,5m;
o (P2.2) Cột ly tâm chiều cao chiều cao 10m;
o (P2.3) Cột ly tâm chiều cao chiều cao 12m;
o (P2.4) Cột ly tâm chiều cao chiều cao 14m;
o (P2.5) Cột ly tâm chiều cao chiều cao 16m ;
- (P3) Cột sắt lắp ghép:
(3) Phân loại đường dây
(3.1) Phân loại đường dây theo điện áp
Trang 11(3.2) Phân loại đường dây theo điểm xuất phát
- (TL1) Đường dây nối từ trạm biến áp tới cột điện
- (TL2) Đường dây nối hai cột điện
(4) Phân loại điện thế:
Trang 12Cột điện P1.1 P1.2 P1.3 P2.1 P2.2 P2.3 P2.4 P2.5 P3
Bảng 1.3: Quan hệ điện thế và phân loại đường dây
Bảng 1.4: Quan hệ điện thế và cột điện
1.2.2 Lựa chọn công nghệ xây dựng ứng dụng
Mục tiêu của đề tài là nghiên cứu xây dựng một ứng dụng dựa trên các công cụ
mã nguồn mở Dưới đây là những công cụ nguồn mở WebGIS thường dùng
(1) Apache 2.3 là một Web server mã nguồn mở và được hỗ trợ bởi Apache Software Foundation
(2) PHP 5.2.0 (PHP là viết tắt của Hypertext Preprocessor) là một ngôn ngữ kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở
(3) Mapserver 4.10.0 là một phần mềm cung cấp dịch vụ xử lý và hiển thị bản đồ trên Internet Là một phần mềm miễn phí, Mapserver được xây dựng dựa trên nền mã nguồn mở và các phần mềm miễn phí phổ biến như: Shapelib, FreeType, Proj 4, libTIFF, Perl …
Trang 13(4) PHP/Mapscript là ngôn ngữ kịch bản mà Mapserver hỗ trợ Mapsript cung cấp một môi trường tốt cho việc phát triển các ứng dụng kết hợp nhiều loại ứng dụng khác nhau Nếu dữ liệu có nhiều thành phần không gian thì ta có thẻ nhận lại nó thông qua môi trường kịch bản, sau đó ta có thể vẽ thành bản đồ
(5) PostgreSQL 8.3 là một hệ quản trị cơ sở dữ liệu quan hệ vạn năng mã nguồn mở, có hỗ trợ các kiểu hình học, và các thao tác truy vấn trên các đối tượng không gian
(6) PostGIS 5.1.2 là phần mở rộng của PostgreSQL, cho phép các đối tượng của GIS lưu trữ trong cơ sở dữ liệu PostgreSQL
(7) Một số thư viện hỗ trợ: Gdal/OGR 1.3.2, Proj 4
(8) BOUML là một công cụ mô hình hóa UML miễn phí
1.3 GIS-3D và phân tích không gian 3 chiều
1.3.1 Mô hình dữ liệu độ cao trong GIS
Mục đích cuối cùng của bản đồ là mô hình hoá thế giới thực Trong cuốn sách
Nature of Maps của Robinson & Petchenik (1976) bản đồ được định nghĩa có sử
dụng một thuật ngữ là „milieu‟ Thuật ngữ „milieu‟ thú vị bởi hàm ý bản đồ
không riêng là tờ giấy phẳng và tĩnh yên như một tờ bản đồ giấy Thật vậy, chúng ta đã có nhiều cố gắng thể hiện bằng bản đồ những đối tượng có số chiều nhiều hơn hai chiều (2D) Một trong những cố gắng đem lại một mô hình gần với thực tế là việc thiết lập bản đồ ba chiều (3D) Hữu ích và thực tiễn, bản đồ 3D luôn có sức hấp dẫn trong mọi ngành liên quan đến, nhất là trong lĩnh vực Công nghệ Thông tin Địa lý (GIS)
Sự cần thiết của mô hình sô độ cao thể hiện trong rất nhiều ứng dựng thực tiễn, ví
Trang 14(3) Biểu thị ba chiều trực quan điều kiện địa hình có mục đích quân sự( thiết kế hệ thống đạn đạo, huấn luyện phi công) và cho mục đích thiết kế
và quy hoạch cảnh quan (kiến trúc cảnh quan)
(4) Thiết kế xác định vị trí cho đường giao thông và cho đập nước
(5) Tính toán và thành lập bản đồ độ dốc, bản đồ hướng dốc, bản đồ hình dạng mái dốc để từ đó thành lập ảnh địa hình trực quan có hình bóng(ứng dụng trong nghiên cứu tầng địa chất hay dự báo khả năng xói mòn đất và dòng chảy mặt)…
1.3.2 Các loại dữ liệu về độ cao
Hiện nay, có vài tiêu chuẩn về dữ liệu độ cao nhưng điển hình vẫn là các kiểu dữ liệu như Grid, TIN, hoặc DEM Dưới đây sẽ trình bày về các loại dữ liệu này trong các hệ GIS
1.3.2.1 Lưới độ cao (Grid)
Đây là một tệp dùng để lưu trữ các giá trị về độ cao, có đuôi là grd Theo tiêu chuẩn của ESRI, tệp grd có 2 định dạng, đó là dạng mã nhị phân và ASCII Theo dạng ASCII thì tệp grd có cấu trúc như sau:
Dòng đầu tiên của tệp có 3 số: lon_min, d_lon, lon_max; tức là kinh độ nhỏ nhất, khoảng cách, kinh độ lớn nhất
Dòng thứ hai của tệp có 3 số: lat_min, d_lat, lat_max; tức là vĩ độ nhỏ nhất, khoảng cách, vĩ độ lớn nhất Các tham số trên cho phép xác định một lưới điểm hình chữ nhật
Bắt đầu từ dòng thứ 3 là dữ liệu về độ cao Theo đó mỗi độ cao tương ứng với một toạ độ nhất định Lưới có bao nhiêu điểm thì có bấy nhiêu mục dữ liệu độ cao
Nếu như lưới được xác định theo kinh độ và vĩ độ thì lon_min, d_lon, lon_max, lat_min, d_lat, lat_max phải có đơn vị theo độ (thí dụ 24º17'5" có thể đổi thành 24.2847 độ) Kinh độ Đông có dấu +, kinh độ Tây có dấu -, vĩ độ Bắc mang dấu +, vĩ độ Nam mang dấu -
Trang 15Nếu lưới được xác định theo khoảng cách (x,y), tức theo hệ toạ độ Đề-các thì 6 tham số trên có thể xác định theo các đơn vị: kilômet, mét, xentimet, dặm, hoặc phút Tuy nhiên cần phải đưa vào toạ độ và khoảng cách thực tế
Quá trình đọc dữ liệu độ cao bắt đầu từ điểm đầu tiên của dòng thứ 3 là điểm thuộc góc trên-trái có vĩ độ lớn nhất và kinh độ nhỏ nhất, đi dần từ trái sang phải (làm tăng kinh độ và làm giảm vĩ độ) Sau đó xuống dòng thứ 4 và cũng đi từ trái sang phải Cứ như vậy cho đến hết tệp
Số lượng giá trị trên mỗi dòng là không quan trong, một dòng có thể chứa một
số Số dòng của của tệp (không bao gồm 2 dòng đầu) là 1 + (lon_max - lon_min)/ d_lon
Ví dụ:
-152 0.0833333 -151
63 0.0833333 64
+244 +244 +275 +305 +305 +305 +305 +305 +244 +244 +228 +259 +259 +274 +289 +289 +289 +282 +274 +275 +305 +358 +274 +274 +274 +274 +274 +274 +259 +244 +305 +366 +488
…
Trong ví dụ trên dấu + có thể bỏ đi, nhưng dấu - thì cần phải giữ lại
1.3.2.2 Dữ liệu dạng mô hình mạng tam giác không đều
(TIN – Triangulated irregular network)
Mô hình TIN biểu diễn một tập hợp các bề mặt kề nhau xác định bởi các tam giác không chồng lên nhau Mỗi tam giác là một bề mặt Các tam giác được tạo nên bởi tập hợp các điểm, các điểm này gọi là các điểm khối lượng (mass points) Các điểm khối lượng này có thể được chọn là bất kì nơi nào trên bề mặt trái đất Tuy nhiên cách chọn các điểm khối lượng thích hợp làm tăng độ chính xác của
mô hình bề mặt Thông thường các điểm này thường được chọn là những điểm
Trang 16thay đổi chính của bề mặt ví dụ như đỉnh núi, đáy của thung lũng, cạnh của các vách đá,…
Mô hình TIN hấp dẫn bởi tính đơn giản và tiết kiệm hơn nhiều so với mô hình Grid thông thường
Hình 1.1: Hình minh họa mô hình mạng tam giác không đều
1.3.2.3 Phép tam giác đạc Delaunay (Delaunay Triangulation)
Nguyên tắc của phương pháp này là ba điểm gần nhau sẽ tạo nên một tam giác
mà hình tròn đi qua ba đỉnh của tam giác đó không chứa điểm thứ 4
Hình 1.2: Hình minh hoạ phép tam giác đạc Delaunay
Trang 17Phép đạc đa giác này có ưu điểm là:
- Tránh được việc tạo nên các tam giác gầy dài
- Đảm bảo các điểm tạo nên tam giác có thể gần nhau nhất
- Không phụ thuộc vào trật tự của các điểm [6]
1.3.3 Các chuẩn cho các mô hình độ cao số của USGS
Cục đo đạc địa hình địa lý của Mỹ (The U.S Geological Survey), viết tắt là USGS được chọn là cơ quan hàng đầu của liên bang Mỹ trong việc sưu tập và phân phát những dữ liệu bản đồ số Cơ quan này đã đề ra các chuẩn về sưu tập,
xử lý, và kiểm soát chất lượng của dữ liệu cho mô hình độ cao số (DEM) được dùng cho cơ sở dữ liệu bản đồ số quốc gia của Mỹ (National Digital Cartographic Data Base-NDCDB)
Những tiêu chuẩn này liên quan đến khả năng thay đổi và sử dụng dữ liệu DEM Sưu tập DEM và các hệ thống chỉnh sửa, không chỉ được sử dụng trong khu vực liên bang (Federal) mà còn được sử dụng trong chính phủ và các tổ chức khác Bởi sự thay đổi về mặt công nghệ một cách nhanh chóng trong các nghành công nghiệp bản đồ, các chuẩn DEM là sự tổng hợp của các hệ thống sưu tập, các công nghệ xử lý số liệu với những mức độ khác nhau Mục đích của chuẩn này là đảm bảo thống nhất dữ liệu được đưa vào trong NDCDB
Dữ liệu DEM được chọn lựa bởi các cơ quan liên bang khác, hoặc mua từ các tổ chức cá nhân và sẽ được đưa vào NDCDB sau khi được kiểm tra dựa trên các chuẩn [13]
1.3.4 Mô hình số độ cao DEM
1.3.4.1 Dữ liệu DEM là gì?
Mô hình độ cao số (DEM) là một tệp chứa đựng các dãy giá trị độ cao sử dụng phép chiếu UTM hoặc là phép chiếu toạ độ nào đó Một mảnh địa hình được xác định ở dạng hình tứ giác và một lưới xác định sẽ được phủ lên mảnh địa hình đó Mỗi mắt lưới sẽ xác định một độ cao của mảnh địa hình đó [15]
Trang 18Đơn vị giây cung (arc-second)
Dữ liệu DEM USGS được lưu giữ trong một định dạng sử dụng đơn vị đo 3, 5, hoặc 30 giây cung (arc-second) của kinh độ và vĩ độ để đăng kí các giá trị ô Hệ thống địa lý xem trái đất như một quả cầu được chia thành 360 phần theo kinh
độ và vĩ độ, mỗi phần coi là một độ Mỗi độ chia thành 60 phút Mỗi phút chia thành 60 giây Nói một cách khác, trái đất được chia thành 360 cung kinh độ và
360 cung vĩ độ, và giữa hai cung kinh độ hoặc hai cung vĩ độ là 60 giây cung (arc-second) Như vậy mỗi giây cung có giá trị (độ dài) là 1/3600 độ [13]
1.3.4.2 Các kiểu dữ liệu DEM
USGS sản xuất ra năm kiểu dữ liệu DEM cơ bản, đó là:
(1) DEM 7.5-phút (7.5-minute DEM)
Là một kiểu dữ liệu có khoảng cách lưới lên tới 30 mét, và có lưới chiếu toạ độ là UTM Khoảng cách chiều ngang của lưới được biểu diễn bởi số nguyên từ 1 đến
30 theo đơn vị là mét Nếu không thì theo lý thuyết có thể cho khoảng cách đó là
10 mét hoặc 30 mét Bề mặt địa hình được bao phủ bởi các khối dữ liệu DEM 7.5 Các khối này là các khối hình tứ giác Với lý do đó cùng với việc một vùng đất nào đó thường là các đường cong khép kín cho nên khi biểu diễn độ cao của một vùng nào đó bới các dữ liệu loại này thường biểu diễn sang cả một phần của vùng lân cận
(2) DEM 30-Phút (30-minute DEM)
Là kiểu dữ liệu có khoảng cách giữa hai điểm dữ liệu độ cao là 2 giây cung Hai khối 30-phút DEM cung cấp độ bao phủ đối với một mảnh địa hình tứ giác mà mỗi cạnh là 60-phút theo tiêu chuẩn của USGS
(3) DEM 1-độ
Là kiểu dữ liệu mà khoảng cách giữa hai điểm độ cao là 3 giây cung Mô hình độ cao cơ bản này được sản xuất bởi Cơ quan Bản đồ và hình ảnh quốc gia Mỹ-National Imagery and Mapping Agency (NIMA), trước đây là Cơ quan bản đồ quốc phòng-Defense Mapping Agency Dữ liệu được phân phối bởi USGS trong định dạng DEM
Trang 19(4) DEM 7.5-phút Alaska
Là kiểu dữ liệu mà khoảng cách giữa hai điểm dữ liệu là 2 giây cung Kiểu dữ liệu này cung cấp độ bao phủ tương tự như 7.5-phút DEM Đây là một loại dữ liệu biểu diễn độ cao đối với vùng Alaska
(5) DEM 15-phút Alaska
Là kiểu dữ liệu mà khoảng cách giữa hai điểm độ cao là 3 giây cung Đây là loại
dữ liệu biểu diễn độ cao đối với vùng Alaska
1.3.4.3 Cấu trúc của dữ liệu độ cao
Có hai loại lưới, UTM và giây cung, đã được sử dụng cho chương trình USGS DEM
(1) Cấu trúc DEM UTM (UTM structured DEM)
Cấu trúc của kiểu dữ liệu DEM 7.5-phút UTM được chỉ ra trong hình 1.3 Các đường profile (hiện trạng) được cắt cụt thành các đường thẳng bởi các đường thẳng nối bốn góc địa lý của hình tứ giác Kết quả là vùng được bao phủ là một vùng hình tứ giác Hai cặp cạnh của hình tứ giác này không song song với nhau Khoảng cách giữa hai đường profile là x Các điểm độ cao được xác định trên
các đường profile này với khoảng cách giữa hai điểm là y
Ví dụ:
Một mảnh địa hình hình tứ giác có 4 góc toạ độ là :
Góc của hình tứ giác Các toạ độ địa lý Các toạ độ UTM
SW 1 35 30' -107 37‟30" 261897 3931463
NW 2 35 37‟30" -107 37‟30" 262267 3945330
NE 3 35 37‟30" -107 30‟ 273590 3945036
Trang 20 =30m (hướng Đông)
y
= 30m (hướng Bắc) = Điểm độ cao sát kề hình tứ giác
(2) Cấu trúc DEM giây cung (Arc second structure DEM)
Cấu trúc của kiểu dữ liệu DEM giây cung được chỉ ra trong hình 1.4 Theo cấu trúc này các đường bao của mảnh địa hình sẽ tạo thành một hình chữ nhật và các đường profile song song với hai cạnh của hình chữ nhật chạy dọc theo kinh độ Khoảng cách giữa hai đường profile là x Các điểm độ cao được xác định trên các đường profile này với khoảng cách giữa hai điểm là y Do vậy dữ liệu DEM dạng này sẽ bao phủ một vùng có dạng hình chữ nhật
Việc sử dụng các toạ độ giây cung để xác định khoảng cách giữa các mắt lưới (hay các điểm độ cao) là bắt buộc đối với tất cả các loại dữ liệu DEM, ngoại trừ loại DEM 7.5-phút UTM
Trang 21Hình 1.4: Cấu trúc của DEM 1-độ, khoảng cách giữa các mắt lưới độ cao
tính theo giây cung [13]
1.3.4.4 Mô hình hóa địa hình bằng DEM
Bất kỳ sự biểu thị bằng số sự thay đổi liên tục của độ cao trong không gian đều được gọi là mô hình số độ cao (Digital Elevation Model – DEM) Nó có thể là độ cao tuyệt đối của các điểm trên bề mặt quả đất, độ cao của các tầng đất, hoặc của mực nước ngầm
Sự biến đổi giá trị độ cao địa hình trên một vùng đất có thể được mô hình hóa theo nhiều cách DEM có thể được biểu thị và lưu trữ dưới dạng hàm số toán học
ba chiều (Phương pháp mặt phẳng) hay dưới dạng các điểm hoặc các đường hình ảnh như liệt kê ở dưới
(1) Phương pháp toán học
+ Toàn vùng:
- Dãy Fourier
- Đa thức bậc bốn bội
Trang 22+ Chi tiết:
- Chia vùng đồng đều
- Chia vùng không đồng đều (2) Phương pháp vật thể bản đồ
+ Đường đồng mức (đường bình độ ngang)
Hình 1.5 Bản đồ đường đồng mức với khoảng cách độ cao 5m
+ Đường mặt cắt dọc
Hình 1.6 Biểu diễn mặt cắt dọc của DEM
+ Raster: Ma trận độ cao hay mạng lưới đều (regular rectangular grid – GRID)
Trang 23Hình 1.7 Biểu diễu diễn DEM bằng lưới đa giác đều
+ Vector: Mạng không đồng đều tam giác (triangular irregular network – TIN)
Hình 1.8 Lưới đa giác không đều
Hình 1.9 Sử dụng TIN để biểu diễn sự biến động độ cao của địa hình
Trang 24Biểu diễn DEM bằng Raster (Ma trận độ cao)
Trong mô hình Raster DEM (GRID) nhìn giống như một ma trận các ô vuông và chia thành các hàng và cột Mỗi ô (cell) chứa giá trị độ cao của điểm trung tâm của ô đó
Hình 1.10 Biểu diễn DEM bằng ma trận độ cao
Biểu diễn DEM bằng Vector
Trong cấu trúc Vector, DEM có thể được coi như là một chuỗi tam giác gọi là TIN (Triangle Irregular Network) TIN là tập các đỉnh nối với nhau thành các tam giác Mỗi một tam giác được giới hạn bởi 3 điểm đồng nhất về giá trị X,Y và
Z (độ cao)
Hình 1.11 Biểu diễn mô hình độ cao bằng lưới tam giác
Trang 251.3.5 Phân tích dữ liệu không gian GIS-3D
1.3.5.1 Khái niệm
Phân tích dữ liệu không gian là quá trình mô hình hoá, kiểm tra, diễn giải các kết quả mô hình Phân tích dữ liệu không gian thường dùng trong đánh giá khả năng phù hợp, trong ước lượng và dự đoán, trong giải đoán và diễn giải
Phân tích dữ liệu không gian bao gồm ba hoạt động chính: Giải quyết các câu hỏi
về thuộc tính, các câu hỏi về Phân tích dữ liệu không gian và tạo nên tập dữ liệu mới từ cơ sở dữ liệu ban đầu Mục tiêu của việc Phân tích dữ liệu không gian là
từ việc giải quyết các câu hỏi đơn giản về các hiện tượng, các vấn đề trong không gian, đi đến tập hợp các thuộc tính của một hay nhiều lớp và phân tích có sự liên quan giữa các dữ liệu ban đầu
Các thao tác Phân tích dữ liệu không gian làm việc trên tập dữ liệu không gian (spatial data): là những thông tin về vị trí, hình dạng của các đối tượng không gian và mối quan hệ giữa chúng Dữ liệu không gian thường được lưu dưới dạng toạ độ và cấu trúc liên kết
1.3.5.2 Phân biệt phân tích dữ liệu không gian GIS với các loại phân tích khác
Phân tích dữ liệu không gian có thể xem như là phân tích dữ liệu định lượng và tập trung vào phần không gian để dự đoán hoặc điều tra các hiện tượng Trong loại phân tích này, các đặc tính địa lý được sử dụng để xác định toạ độ địa lý trong khi các phân tích thống kê cổ điển bỏ qua các toạ độ và các thuộc tính địa phương không được dùng để biểu diễn thông tin Và do vậy, trong các phân tích thống kê cổ điển, các quan hệ tương quan về mặt không gian thường được bỏ qua, trong khi trong Phân tích dữ liệu không gian nếu tồn tại tương quan này thì
có nghĩa là có các đối tượng không gian
Một phân biệt nữa mà chúng ta cần chú ý là giữa phân tích 3D thông thường và Phân tích dữ liệu không gian 3D Nói chung, hai loại phân tích này là khá gần nhau do cùng làm việc trên không gian 3 chiều Tuy nhiên, Phân tích dữ liệu không gian gắn với một hệ toạ độ nhất định còn phân tích 3D thông thường thì không Trong phân tích không gian, ảnh ở dạng bản đồ 3D cụ thể và tuân theo các đặc điểm cơ bản về bản đồ nói chung Còn trong phân tích 3D, ảnh chỉ là
Trang 26một dạng địa hình thường Nói chung, chúng ta vẫn có thể áp dụng các thuật giải
3D cho một dạng địa hình địa lý cụ thể được nhưng sẽ có một chút thay đổi nhỏ
1.3.5.3 Các phép phân tích tích không gian theo yêu cầu ứng dụng
Như đã nói ở trên, Phân tích dữ liệu không gian trong GIS-3D trở thành một
hướng nghiên cứu mới và đầy hấp dẫn Các yêu cầu về Phân tích dữ liệu không
gian trong các ngành khoa học Trái đất rất phong phú và đa dạng, nhưng tựu
chung lại có thể phân loại như sau:
Hình 1.12: Các nhóm chức năng Phân tích không gian
(1) Phân tích bề mặt: là phép phân tích đặc tính bề mặt như : gradient, tầm nhìn,
hàm mật độ, đường bình độ, bóng (hillshade), và các phép nội suy không gian,
mô hình hoá Phân tích bề mặt cũng bao gồm cả phân tích 3D dựa trên dữ liệu
DEM, chuyển đổi từ TIN sang GRID và ngược lại
(2) Phân tích mạng: là phép phân tích đặc tính mạng để tìm ra các luồng trong
mạng đó Ví dụ: tìm đường đi tối ưu qua nhiều điểm, xác định vùng dịch vụ và
thiết lập thuộc tính cho đường đi
(3) Trực quan hoá: Tạo các mô hình 3D và hiển thị chúng Thực hiện xoay các
đối tượng, bay, thám hiểm ,
Nhóm chức năng Phân tích không gian
Phân tích bề
Trực quan hoá
Phân loại Thống kê không
gian
Trang 27(4) Truy xuất: Tìm kiếm đối tượng trên bản đồ,
(5) Phân tích hình học: Các phép đo đạc như đo khoảng cách giữa 2 điểm trong
không gian, chu vi, diện tích Tạo các đối tượng hình học trên bản đồ như: đường dẫn và đa giác
(6) Chồng chập (Overlay): Tổ hợp 2 hay nhiều bản đồ theo các điều kiện và sử
dụng các phép toán: nhân, chia, cộng, trừ hay điều kiện Logic để tạo nên bản đồ mới Ví dụ: chồng chập Raster, Vector
(7) Liền kề (Neighborhood): Gán giá trị cho vị trí theo đặc tính của vùng xung
quanh và liên quan đến phép đo trung bình, max/min, tổng, các đặc tính trong bản đồ Ví dụ: đếm số khách hàng trong phạm vi 2 dặm quanh cửa hàng
(8) Kết nối (Connectivity): Tích lũy các giá trị xung quanh, đo khoảng cách giữa
các đặc tính và tạo bộ đệm (Buffer) theo điểm, đường và vùng Ví dụ: xác định khoảng cách đến hàng xóm từ một vị trí
(9) Phân loại: Chuyển thông tin thuộc tính liên kết với bản đồ thành các nhóm
Phân loại kết hợp các đặc tính giống nhau về 1 nhóm để tạo nên 1 quan hệ mới
và bản đồ mới Ví dụ: Bản đồ mật độ dân số
(10) Thống kê không gian: mô tả thuộc tính, đối tượng điểm, nhận dạng mẫu
1.3.5.4 Phân tích GIS trong các phần mềm thương mại
Như chúng ta đã biết, yêu cầu về các phép Phân tích dữ liệu không gian trong các ngành Khoa học Trái đất là rất lớn và cấp thiết để có thể đưa ra những quyết định mang lại hiệu quả kinh tế - xã hội cao Sau đây, chúng ta sẽ điểm qua một số phần mềm GIS-3D thương mại của các hãng lớn trên thế giới để xem mức
độ phát triển của chúng đến đâu và khả năng đáp ứng đối với các yêu cầu này như thế nào
(1) ArcGIS 3D: Đây là một phần mở rộng của phần mềm ArcGIS 9.2 do hãng
ERSI phát triển Phần mềm này cho phép ta hiển thị và phân tích hiệu quả dữ liệu
bề mặt
Trang 28Hình 1.13: Phần mềm ArcGIS 9
(2) Google Earth: Google Earth có lẽ là phần mềm GIS-3D nổi tiếng nhất mà
bất cứ người dùng Internet nào đều biết tới Phần mềm này có khả năng thực hiện một khối lượng lớn các phép Phân tích dữ liệu không gian 3D trên một dải bản
đồ rộng và cung cấp các tính năng tương tác với bản đồ đó
Hình 1.14: Phần mềm Google Earth
(3) ArcView: ArcView® là phần mềm hệ thống thông tin địa lý với đầy đủ chức
năng cho phép biểu diễn, quản lý, xây dựng và phân tích dữ liệu địa lý Sử dụng ArcView, ta có thể hiểu được bối cảnh địa lý của dữ liệu, cho phép thể hiện các mối quan hệ và nhận dạng các mô hình theo một cách mới ArcView giúp cho hàng chục ngàn tổ chức ra những quyết định tốt hơn và giải quyết vấn đề nhanh chóng hơn
Trang 29- Tạo mô hình TIN từ tập dữ liệu có giá trị Z; Hiển thị mô hình TIN theo các biểu tượng khác nhau, chồng dữ liệu vector/
raster vào TIN
- Nội suy đường thẳng để tạo thông tin
về bề mặt địa hình (dạng biểu đồ)
- Tạo đường thẳng các điểm nhìn trên địa hình
- Tạo bề mặt dạng GRID từ mô hình TIN
- Tạo bóng địa hình
- Nội suy đường bình độ, nội suy độ dốc từ một lưới độ cao, tính giá trị phần trăm độ dốc ra độ, nội suy hướng phơi địa hình, nội suy bề mặt từ các điểm mang giá trị
- Tính mật độ dân
cư
- Tạo mô hình TIN
từ những dữ liệu có giá trị Z
Phân tích
mạng
- In chi tiết đường đi
từ 2 địa điểm khác nhau
- Cho phép mô phỏng lại hành trình
đi từ điểm này đến điểm kia trên bản đồ
Trang 30- Quan sát bầu trời
- Tạo hoạt ảnh để lưu giữ việc tham quan khung cảnh
- Biểu diễn dữ liệu 3D, chồng ảnh, xoay địa hình, tăng độ cao địa hình
Kết nối - Xác định khoảng
cách từ những vị trí cho trước
- Xác định vùng giới hạn gần nhất
- Vẽ đường dẫn và đa giác
- Chỉnh sửa và viết mô
tả cho địa điểm
- Thay đổi độ cao, biểu tượng địa điểm
- Đo đường hoặc đường đi
- Đo bán kính đường tròn hoặc đa giác
- Tính diện tích và thể tích của một bề mặt
Truy xuất - Tìm kiếm một vị trí
trên bản đồ như: tên thành phố, tỉnh, tiểu bang hay quốc gia
- Cho phép tìm cả doanh nghiệp hay trường đại học hoặc một tổ chức phổ biến trên thế giới
- Liên kết với Google Map để xem
thông tin cập nhật
- Cho phép lưu địa
- Hiển thị bản đồ theo các thuộc tính lựa chọn
- Xem thông tin 3D của từng lớp
Trang 31điểm và hành trình để dùng
- Điều hướng ảnh, thêm ảnh
- Hiển thị thông tin đường trên bản đồ
- Có chế độ xem phố
- Hiển thị bản đồ địa hình
- Hiển thị biên giới
1.3.5.5 Một số phép phân tích không gian [2]
(1) Bài toán Hiển thị tọa độ
- Ý nghĩa:
Trong một hệ thống thông tin địa lý, việc hiển thị toạ độ của các điểm trên bản đồ
là rất quan trọng Nó giúp ta biết được vị trí chính xác của các đối tượng trên bản
đồ để từ đó phục vụ cho các thao tác phân tích phức tạp tiếp theo
- Mô tả bài toán:
Chương trình hiển thị một mảnh bản đồ ba chiều, yêu cầu khi người dùng click chuột trên bản đồ thì chương trình sẽ tự động hiển thị tọa độ của điểm trên bản
đồ tương ứng với vị trí click của con trỏ chuột Tọa độ hiển thị là tọa độ trong hệ thống UTM
- Thuật toán:
Tư tưởng thuật toán rất đơn giản: khi người dùng nhấn chuột trên bản đồ thì bộ cảm biến sự kiện sẽ lưu giữ một xâu gồm các giá trị toạ độ theo các định dạng khác nhau tuỳ theo hệ toạ độ và khung tham chiếu không gian đang dùng là gì Chúng ta chỉ cần lấy các giá trị đó, thực hiện việc tách xâu và in lên màn hình kết quả
Trang 32function print(value)
Hình 1.16: Hiển thị tọa độ địa lý
(2) Bài toán Phóng to và thu nhỏ địa hình
- Ý nghĩa:
Chúng ta có thể quan sát các đối tượng ở các tỷ lệ độ cao khác nhau và như vậy làm cho thế giới trở nên giống thật hơn Trong phần này, chúng ta sẽ thực hiện việc tăng giảm tỷ lệ độ cao của đối tượng hay phóng to hoặc thu nhỏ đối tượng
- Mô tả bài toán:
Cho một bản đồ 3D Hãy thiết kế nút để tăng hoặc giảm độ cao của đối tượng
- Thuật toán:
Chúng ta thiết kế đối tượng hình cầu và gắn cho chúng sự kiện: Nếu ấn vào nút này thì sẽ đổi trạng thái phóng to hay thu nhỏ, sau đó ấn vào một vị trí bất kỳ trên bản đồ thì sẽ thực hiện một trong hai kiểu sau:
+ Hình cầu “tăng”: tỷ lệ= tỷ lệ + 1 hoặc
+ Hình cầu “giảm”: tỷ lệ= tỷ lệ - 1
Trang 33Sau đó tiến hành cập nhật lại khung cảnh theo tỷ lệ mới sửa đổi
Hình 1.17: Phóng to hoặc thu nhỏ địa hình
(3) Tính khoảng cách gấp khúc
- Ý nghĩa:
Việc đo khoảng cách có ý nghĩa quan trọng trong GIS Nó cho chúng ta biết được
độ dài giữa các điểm trong thế giới thực là bao nhiêu Khoảng cách gấp khúc được định nghĩa là một dãy (x1, x2, x3,…, xn) trong đó các đoạn (xi, xj) là các đoạn thẳng (tính theo đường chim bay) Trong thực tế, người ta rất hay đo khoảng cách gấp khúc này
- Mô tả bài toán:
Cho một bản đồ 3D Chúng ta tạo đường thẳng gấp khúc bằng cách nhấn vào một điểm trên bản đồ rồi nhấn tiếp vào điểm thứ hai để tạo đoạn thẳng thứ nhất Tiếp tục nhấn vào điểm thứ ba trên bản đồ và điểm này sẽ được nối với điểm thứ hai
để tạo thành đoạn thẳng thứ hai Cứ tiếp tục như vậy cho đến khi kết thúc Đoạn thẳng tổng hợp nhận được gọi là đoạn thẳng gấp khúc
Câu hỏi đặt ra là: Tính khoảng cách gấp khúc đó như thế nào?
- Thuật toán:
Tư tưởng thuật toán rất đơn giản Xuất phát từ công thức: với 2 điểm trong không gian 3 chiều: A có tọa độ (x1,x2,x3) và B có tọa độ (y1,y2,y3) thì khoảng cách giữa 2 điểm này là:
Trang 34Distance = (x1y1)2(x2y2)2(x3y3)2
Để tính khoảng cách gấp khúc, ta cộng dồn các khoảng cách đoạn thẳng là:
TotalLength = distance
Để làm đơn giản thuật toán, chúng ta chỉ cần lưu giữ 2 biến d cho khoảng cách đoạn thẳng và td cho khoảng cách gấp khúc Tương tự, cũng chỉ cần lưu giữ 2 điểm (x1,x2,x3) và (y1,y2,y3) Mỗi lần người dùng nhấn vào một điểm trên bản
đồ, chúng ta thực hiện tính toán khoảng cách và vẽ các đường nối các điểm lại Thuật toán có thể được viết như sau:
y0=t[0]; y1=t[1]; y2=t[2];
if (i>1) “vẽ đường thẳng nối 2 điểm”
Trang 35Hình 1.18: Tính khoảng cách gấp khúc
Chú ý: Để có thể vẽ đường thẳng lên bản đồ ta cần phải chuyển đổi hệ toạ độ
theo toạ độ của điểm nhìn hiện tại (GeoViewPoint) Cách thức quy đổi ta đã đề cập trong phần đầu của Chương này
(4) Tính độ dài đường đi thực địa
- Ý nghĩa:
Khoảng cách gấp khúc còn khá đơn giản Trong thực tế, đôi khi ta muốn xấp xỉ
độ dài đường đi trên thực địa theo mặt địa hình Điều này có ý nghĩa vì các đường đi trong thực tế không phải lúc nào cũng ở dạng đoạn thẳng mà đôi khi là dạng đường cong
- Mô tả bài toán:
Cho một bản đồ 3D Chúng ta bắt đầu bằng cách nhấn vào một điểm trên bản đồ Sau đó, mỗi khi con trỏ chuột di chuyển tới một vị trí nào đó thì hệ thống sẽ tự động hiển thị tọa độ con trỏ chuột và khoảng cách từ đó tới vị trí của con trỏ chuột trước đó, cho đến khi chúng ta nhấn vào một điểm trên bản đồ Khoảng cách từ điểm nhấn đầu tiên và cuối cùng được gọi là độ dài đường đi thực địa Câu hỏi: Tính độ dài đường đi thực địa đó?
- Thuật toán:
Thực chất của bài toán này là việc tính độ dài của tập các đường cong liên tiếp Đường cong đó có thể là đoạn thẳng như đoạn (a, b) hay (c, d) trong ví dụ bên dưới hay là một parabol (b,c) Khoảng cách đường đi thực địa bằng tổng khoảng
Trang 36cách các đoạn con Thực tế, các đường con này có thể ở dạng bậc 1, 2, 3… nên rất phức tạp
Hình 1.19: Mô tả về đường đi gấp khúc
Để đơn giản hóa bài toán, ta xuất phát từ nhận xét sau: Thực tế, các điểm a, b, c hay d ở hình vẽ trên chính là vị trí của con chuột trong các thời điểm t khác nhau: t0, t1, t2, t3 Do các thời điểm t này là tương đối gần nhau (cách nhau vài phần trăm mili giây) cho nên các khoảng cách a,b,c,d là khá sát nhau Do vậy, chúng ta
có thể xấp xỉ các đường cong bậc cao trở về đường cong bậc 1 tức là đoạn thẳng
Và do vậy, khoảng cách theo đường đi thực địa bằng tổng các đoạn thẳng liên tiếp
hệ toạ độ GeoVRML
Để mỗi khi ta đưa con trỏ chuột đến vị trí nào thì hàm cal_distance được gọi, ta kết nối các sự kiện:
ROUTE GEOTOUCH.hitGeoCoord_changed TO S.cal_distance
ROUTE S.new_child TO GEOLOC_Trans.addChildren
Kết quả:
Trang 37- Mô tả bài toán:
Cho một bản đồ 3D Kẻ một đoạn thẳng từ hai điểm bất kỳ trên bản đồ, giả sử là
Trang 38Độ dốc được định nghĩa là tỷ số của trục Y đối với trục X giữa 2 điểm (đạo hàm bậc 1):
- Tính khoảng cách giữa A và B (độ dài thực tế): dAB
- Xác định tổng độ cao thay đổi dọc theo đoạn AB: AB hmaxhmin
- Khi đó, phần trăm độ dốc thay đổi là:
AB AB
d
- Góc lệch thay đổi là: b = arctan (a)
Điều này có nghĩa là, cứ 100 feet đoạn thẳng nằm trong bề mặt giới hạn bởi A, B thì độ cao lại tăng lên (giảm xuống) a*100 feet
Trang 39Chú ý:
- Có thể có cả trường hợp độ dốc không thay đổi Đó là khi ta xét độ dốc trên một mặt núi với các điểm có độ cao như nhau Trong trường hợp này, thuật toán vẫn chạy tốt và sẽ cho thông báo "Độ dốc không đổi"
- Để xác định tổng độ cao thay đổi dọc theo đoạn AB, ta có thể tính theo tọa độ của 2 điểm A và B Bởi vì trong 2 điểm, sẽ có một điểm có độ cao nhỏ nhất và điểm còn lại sẽ có độ cao lớn nhất Nghĩa là:
Tuy nhiên, ở đây có thể A và B không là các điểm lưới mà chỉ nằm trong một ô lưới nào đó thôi Do vậy, để xác định độ cao của A và B, ta phải xác định xem nó nằm trong ô lưới nào Sau đó, tìm hình chiếu của điểm này lên ô lưới và tính độ cao Thuật toán này đã được mô tả trong bài toán "Tính độ cao tối thiểu của ngọn hải đăng"
- Để tính khoảng cách giữa 2 điểm A và B, ta tham khảo thuật toán "Tính khoảng cách gấp khúc"
- Trong bản đồ 2D, để xác định tổng độ cao thay đổi dọc theo một đoạn, ta phải xác định độ cao của những điểm mà AB cắt ngang qua đường bình
độ Cách này hơi khác so với trên bản đồ 3D Nói chung, việc xác định độ dốc trên cả bản đồ 2D và 3D đều có ý nghĩa trong thực tế
Hình 1.23: Tính độ dốc trong bản đồ 2D
Kết quả chạy chương trình:
Trang 40Hình 1.24: Kết quả tính toán độ dốc trong bản đồ 3D