Đề tài Ứng dụng công nghệ thông tin thành lập bản đồ trên cơ sở dữ liệu đo của máy toàn đạc điện tử

Ngày nay, với sự phát triển không ngừng của khoa học kỹ thuật, công nghệ thông tin và điện tử thì công tác thành lập bản đồ bằng các phương pháp truyền thống trở nên lạc hậu. Nhu cầu thực tế ngày càng cao, đòi hỏi nghành trắc địa phải có phương pháp m ới tạo ra bản đồ đáp ứng được nhu cầu thực tiễn. Công nghệ đó là công nghệ bản đồ số. Để thực hiện kết nối việc tự động hoá quy trình đo dạc và thành lập bản đồ địa hình giữa máy đo và máy tính thì chúng ta cần phải có những modul chương trình tiện ích, thực dụng và phù hợp với thực tế sản xuất của Việt Nam. Đây là công việc cần thiết mà các cơ quan sản xuất đang yêu cầu.

pdf75 trang | Chia sẻ: lylyngoc | Lượt xem: 2583 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đề tài Ứng dụng công nghệ thông tin thành lập bản đồ trên cơ sở dữ liệu đo của máy toàn đạc điện tử, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Tài nguyên và Môi trường ban hành. 1.4.4.5 In, kiểm tra, đối soát và bổ sung thực địa Công đoạn này được thực hiện sau khi đã có bản đồ giấy với dữ liệu thô (chưa biên tập). Bản đồ giấy được mang ra thực địa để đối soát và bổ xung những đối tượng còn thiếu, dáng địa hình chưa đúng... và hoàn chỉnh các thông tin cần thiết. 1.4.4.6 Biên tập và hoàn thiện bản đồ Bản đồ đã được bổ sung các yếu tố cần thiết cần được cập nhật vào máy tính và tiến hành biên tập hoàn chỉnh bản đồ theo đúng quy trình quy phạm, sau đó tiến hành in để kiểm tra nội nghiệp. Sau khi đã kiểm tra nội nghiệp tiến hành chỉnh sửa những lỗi biên tập và in chính thức bản đồ. 1.4.4.7 Giao nộp sản phẩm Sản phẩm giao nộp là bản đồ địa hình, lưới khống chế trắc địa các cấp đã được bình sai đạt yêu cầu kỹ thuật, các tài liệu liên quan như sơ họa mốc, sổ đo, báo cáo tổng kết kỹ thuật... Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 20 Tin học Trắc địa K47 Ch­¬ng 2 THÀNH LẬP BẢN ĐỒ SỐ ĐỊA HÌNH TỪ DỮ LIỆU ĐO CỦA CÁC MÁY TOÀN ĐẠC ĐIỆN TỬ 2.1 Máy toàn đạc điện tử 2.1.1 Giới thiệu chung Máy toàn đạc điện tử (Total Station) hiện đang được sử dụng rộng rãi trên thế giới và ở nước ta. Cấu tạo một máy toàn đạc điện tử bao gồm 3 khối chính: Máy toàn đạc điện tử gồm 3 khối chức năng: Hình 2.1 Sơ đồ tổng quát máy toàn đạn điện tử Khối 1: Bộ đo xa điện quang (Electronic Distance Meter viết tắt EDM) là khối đo xa điện tử. Kết quả đo được hiển thị trên màn hình tinh thể lỏng LCD. Khối 2: Khối kinh vĩ số (Digital Theodolite viết tắt DT) có cấu tạo tương tự như máy kinh vĩ cổ điển, điểm khác nhau cơ bản là khi thực hiện đo góc không phải thực hiện các thao tác thông thường như chập vạch, đọc số trên thang số mà số đọc tự động hiển thị trực tiếp trên màn hình của máy nhờ một trong hai phương pháp mã hoá bàn độ và phương pháp xung. Khối 3: Trong khối này cài đặt các chương trình tiện ích để xử lý một số bài toán trắc địa như cải chính khoảng cách nghiêng về khoảng cách bằng, Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 21 Tin học Trắc địa K47 tính lượng hiệu chỉnh khoảng cách do các yếu tố khí tượng, hiệu chỉnh do chiết quang và độ cong trái đất, tính chênh cao giữa 2 điểm theo công thức của đo cao lượng giác. Tính toạ độ của các điểm theo chiều dài cạnh và phương vị, từ các đại lượng toạ độ đã tính được đem áp dụng để giải các bài toán như giao hội, tính diện tích, khối lượng, đo gián tiếp ... vv. Ngoài ra bộ chương trình còn cho phép kết nối và trao đổi dữ liệu với máy tính điện tử. Kết hợp 3 khối trên với nhau thu được một máy toàn đạc điện tử đa chức năng có thể đo đạc, tính toán các đại lượng cần thiết và cho kết quả tin cậy với hầu hết các bài toán trắc địa thông thường. 2.1.2 Máy toàn đạc điện tử của hãng Leica - TC 305 2.1.2.1 Các thông số kỹ thuật của máy Hình 2.2 Hình ảnh máy TC - 305 Độ chính xác đo góc : m =  5” Độ chính xác đo cạnh : mD = 2mm+2mm/km Độ phóng đại ống kính : Vx = 30x Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 22 Tin học Trắc địa K47 2.1.2.2 Truyền số liệu a. Thiết lập các thông số Hình 2.3 Menu đặt chế độ truyền dữ liệu Để trao đổi dữ liệu giữa máy tính PC và máy đo, cần thiết đặt các thông số hoạt động cho giao diện nối tiếp RS232. Các thông số chuẩn của máy hãng Leica: 19200 Baud, 7 Databit, Parity Even, 1 Stopbit, CRLF. Baudrate: Tốc độ truyền có thể đặt: 2400, 4800, 9600, 19200 (bits/giây) Databits : +7: Truyền dữ liệu được thực hiện với 7 bít dữ liệu, được đặt tự động nếu parity là “Even” hoặc “Odd” +8: Truyền dữ liệu thực hiện với 8 bit dữ liệu, được đặt tự động nếu parity là “None”. Parity : Even: Kiểm tra chẵn lẻ kiểu chẵn Odd : Kiểm tra chẵn lẻ kiểu lẻ None : Không kiểm tra (nếu Databits được đặt là 8) Endmark: CRLF Carriage Return (ký tự 13 trong bảng mã ASCI) ; Line COMMUNICATION Baudrate: 9600◄► Databits: 7◄► Parity : Even◄► Endmark : CRLF◄► Stopbits: 1◄► Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 23 Tin học Trắc địa K47 feed CR Carriage Return Stopbits: Tuỳ thuộc vào việc đặt cho số bit dữ liệu (Databits) và kiểm tra chẵn lẻ (Parity) mà số bit dừng có thể là 0, 1 hay 2. b. Chọn chức năng truyền dữ liệu Để truyền số liệu từ máy toàn đạc điện tử TC sang máy tính ta có thể dùng chương trình có tên là Leica Survey Office. Khi truyền dữ liệu thì với máy toàn đạc điện tử TC, vào mục Data Dowloand, mục này cho phép truyền dữ liệu đo theo cổng giao diện nối tiếp với thiết bị nhận (máy tính). Sử dụng cách truyền này cho phép truyền dữ liệu không có kiểm tra trong quá trình truyền. Hình 2.4 Menu truyền dữ liệu  : Lựa chọn các thông số cụ thể. : Truyền dữ liệu theo cổng giao diện. Jop : Lựa chọn Jop để truyền. Data : Chọn kiểu dữ liệu truyền. Có thể truyền các điểm toạ độ hay các số đo một cách riêng lẻ. Format : Lựa chọn định dạng dữ liệu. Các định dạng có thể lựa chọn phụ thuộc vào các Format đã nạp vào máy. Các định dạng mới có thể được nạp vào khi sử dụng chương trình Leica Survey Office (mục Data Exchange Manager). DATA DOWNLOAD Jop : Prọect_04B ◄ ► Data: Coord ◄ ► Format: APA ◄ ► Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 24 Tin học Trắc địa K47 2.1.2.3 Khuôn dạng dữ liệu Định dạng chuẩn của Leica là *.gsi và *.idx có cấu trúc sau: Khuôn dạng dữ liệu sau khi đã chuyền sang máy tính có khuôn dạng toạ độ cực có dạng như sau: a. Khuôn dạng file *.gsi : 110001+000T-191 21.024+00000050 22.024+08928020 31...0+00756860 51....+0014+030 87...0+00001300 88...0+00001553 110002+000000B7 21.024+18537530 22.024+09001280 31...0+00802517 51....+0014+030 87...0+00001300 88...0+00001553 110003+000000B7 21.024+00538020 22.024+26958230 31...0+00802522 51....+0014+030 87...0+00001300 88...0+00001553 110004+000000B7 21.024+18537590 22.024+09001220 31...0+00802519 51....+0014+030 87...0+00001300 88...0+00001553 110005+000000B7 21.024+00537550 22.024+26958330 31...0+00802520 51....+0014+030 87...0+00001300 88...0+00001553 110006+00000001 21.024+09016350 22.024+08946170 31...0+00383384 51....+0014+030 87...0+00002100 88...0+00001553 110007+00000002 21.024+09541340 22.024+08946400 31...0+00384401 51....+0014+030 87...0+00002100 88...0+00001553 110008+00000003 21.024+10223440 22.024+08946340 31...0+00392755 51....+0014+030 87...0+00002100 88...0+00001553 110009+00000004 21.024+32324190 22.024+09007060 31...0+00332753 51....+0014+030 87...0+00002100 88...0+00001553 110010+00000005 21.024+32715010 22.024+09006470 31...0+00349123 51....+0014+030 87...0+00002100 88...0+00001553 110011+00000006 21.024+33146420 22.024+09005170 31...0+00373088 51....+0014+030 87...0+00002100 88...0+00001553 110012+00000007 21.024+19702260 22.024+09002400 31...0+00777074 51....+0014+030 87...0+00002100 88...0+00001553 110013+00000008 21.024+11105170 22.024+08951110 31...0+00405832 51....+0014+030 87...0+00002100 88...0+00001553 110014+00000009 21.024+33519070 22.024+09005430 31...0+00396203 51....+0014+030 87...0+00002100 88...0+00001553 110015+00000010 21.024+11724190 22.024+08951030 31...0+00421923 51....+0014+030 87...0+00002100 88...0+00001553 110016+00000011 21.024+19724470 22.024+09003340 31...0+00744428 51....+0014+030 87...0+00002100 88...0+00001553 110017+00000012 21.024+12400190 22.024+08952000 31...0+00446236 51....+0014+030 87...0+00002100 88...0+00001553 110018+00000013 21.024+33926300 22.024+09005130 31...0+00429909 51....+0014+030 87...0+00002100 88...0+00001553 110019+00000014 21.024+08012580 22.024+08956550 31...0+00257943 51....+0014+030 87...0+00002100 88...0+00001553 110020+00000015 21.024+19745470 22.024+09003170 31...0+00709122 51....+0014+030 87...0+00002100 88...0+00001553 110021+00000016 21.024+12947460 22.024+08951160 31...0+00474573 51....+0014+030 87...0+00002100 88...0+00001553 Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 25 Tin học Trắc địa K47 110022+00000017 21.024+07226450 22.024+08958200 31...0+00269085 51....+0014+030 87...0+00002100 88...0+00001553 110023+00000018 21.024+34150060 22.024+09005200 31...0+00410471 51....+0014+030 87...0+00002100 88...0+00001553 110024+00000019 21.024+13457450 22.024+08951390 31...0+00508698 51....+0014+030 87...0+00002100 88...0+00001553 Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 26 Tin học Trắc địa K47 b. Khuôn dạng file *.idx : 200006, "T-191", 0.017833, 756.826960, 7.328048, "", 10-07-2004/07:18:32.0 , MEAS; 200007, "B7", -78.751666, -798.643712, -0.045345, "", 10-07-2004/07:22:21.0 , MEAS; 200008, "B7", -78.785717, -798.644964, -0.081426, "", 10-07-2004/07:24:06.0 , MEAS; 200009, "B7", -78.772533, -798.643971, -0.023937, "", 10-07-2004/07:25:57.0 , MEAS; 200010, "B7", -78.758768, -798.645927, -0.039249, "", 10-07-2004/07:27:41.0 , MEAS; 200011, "1", 383.375990, -1.850079, 0.992906, "", 10-07-2004/07:36:12.0 , MEAS; 200012, "2", 382.502336, -38.130850, 0.954364, "", 10-07-2004/07:37:16.0 , MEAS; 200013, "3", 383.596424, -84.307226, 0.998254, "", 10-07-2004/07:38:37.0 , MEAS; 200014, "4", -198.370236, 267.157545, -1.227040, "", 10-07-2004/07:41:51.0 , MEAS; 200015, "5", -188.865100, 293.626661, -1.227845, "", 10-07-2004/07:44:05.0 , MEAS; 200016, "6", -176.426488, 328.736761, -1.110821, "", 10-07-2004/07:47:26.0 , MEAS; 200017, "7", -227.719024, -742.959042, -1.110260, "", 10-07-2004/07:47:50.0 , MEAS; 200018, "8", 378.652087, -146.018218, 0.505304, "", 10-07-2004/07:49:32.0 , MEAS; 200019, "9", -165.442665, 360.006772, -1.194991, "", 10-07-2004/07:49:46.0 , MEAS; 200020, "10", 374.570681, -194.202635, 0.563690, "", 10-07-2004/07:50:34.0 , MEAS; 200021, "11", -222.774419, -710.312359, -1.283221, "", 10-07-2004/07:51:36.0 , MEAS; 200022, "12", 369.921987, -249.565145, 0.503974, "", 10-07-2004/07:52:24.0 , MEAS; 200023, "13", -150.966483, 402.529600, -1.186831, "", 10-07-2004/07:53:10.0 , MEAS; 200024, "14", 254.191275, 43.833321, -0.311132, "", 10-07-2004/07:53:30.0 , MEAS; 200025, "15", -216.341462, -675.314746, -1.189683, "", 10-07-2004/07:53:55.0 , MEAS; 200026, "16", 364.626178, -303.752390, 0.673457, "", 10-07-2004/07:54:10.0 , MEAS; 200027, "17", 256.554783, 81.157771, -0.411816, "", 10-07-2004/07:54:19.0 , MEAS; 200028, "18", -127.966161, 390.014140, -1.172942, "", 10-07-2004/07:54:35.0 , MEAS; 200029, "19", 359.938260, -359.466265, 0.706742, "", 10-07-2004/07:55:48.0 , MEAS; Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 27 Tin học Trắc địa K47 2.1.3 Máy toàn đạc điện tử của hãng Nikon 2.1.3.1 Các thông số kỹ thuật của máy Hình 2.5 Hình dạng máy của hãng Nikon - DTM330 Độ chính xác đo góc của máy: m = 5” Độ chính xác đo cạnh của máy:  (3+2ppm x D)mm Khoảng cách đo xa nhất bằng gương đơn: 2400m 2.1.3.2 Thiết lập dữ liệu cho bản đồ địa hình Tại một trạm máy, nhập toạ độ các điểm trạm đo và điểm định hướng vào máy bằng các phím chức năng hiển thị trên màn hình của máy đo. Hình ảnh hiển thị các thông số cần thiết trong quá trình đo như sau: Hình 2.6 Các thông số đo Ấn phím MSR hoặc TRK để đo tới các điểm tiếp theo. Nếu muốn ghi lại dữ liệu đã đo ấn REC màn hình hiển thị thông báo nhập chiều cao gương, HA: 1420 29’ 30’’ Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 28 Tin học Trắc địa K47 mã địa vật điểm đo, sau đó ấn ENT. Hình 2.7 Đặt mã điểm địa vật 2.1.3.3 Trút dữ liệu Từ màn hình cơ bản ấn phím Menu màn hình hiển thị : Để lựa chọn nội dung truyền dữ liệu, chúng ta chọn “5: Comm “ khi đó màn hình hiển thị như sau: Hình 2.9 Chọn kiểu giao tiếp Chọn “1: Down load “ màn hình hiển thị: Hình 2.10 Loại dữ liệu trút Sử dụng phím ,  các dữ liệu ,  dịch chuyển đến định dạng yêu PT :20 HT : 1.5 1: J0B 5: com m 2: Cogo 6: Time Communication 1:Down load 2:Upload Data 3:Upload list Select Format Format: NiKON Data : RAW Hình 2.8 Chọn chế độ truyền dữ liệu Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 29 Tin học Trắc địa K47 cầu và chuyển đổi định dạng các dữ liệu đó . Format: NiKON / SDR2x/SDR33 Data: RAW/ Coordinate Sau đó ấn ENT, màn hình hiển thị chế độ kết nối như sau: Hình 2.11 Chế độ kết nối Nối cáp RS tới cổng Com của máy tính sau đó ấn ENT màn hình hiển thị: Hình 2.12 Trút dữ liệu Sau khi máy DTM - 330 truyền hết dữ liệu vào máy tính, màn hình hiển thị thông báo kết thúc: Hình 2.13 Hoàn thành việc trút dữ liệu Máy hỏi có xoá công việc vừa trút dữ liệu không. Nếu không ta ấn ESC. Nếu có ta ấn ENT, màn hình hiển thị : Hình 2.14 Xoá dữ liệu trong máy đo Please conect RS 232C Cable Job =KHAOSAT SENDING Complete Delete Job? Delete Job KHAOSAT Are you sure Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 30 Tin học Trắc địa K47 Máy hỏi có chắc chắn xoá không nếu không xoá ấn ESC để trở lại còn nếu xoá ta ấn ENT. 2.1.3.4 Khuôn dạng dữ liệu Sau khi truyền dữ liệu của máy DTM 332 vào máy tính, chúng ta có các dạng sau (*.nrw) Khuôn dạng toạ độ cực : CO,Nikon Raw Data Format V2.00 CO,B:\DOMCDTC4 CO,Description: CO,Client: CO,Comments: CTTDNGOIPHAT CO,Software: Pre-Installed Software V1.22 CO,Instrument: Nikon DTM-851 CO,Dist Units: Metres CO,Angle Units: DDDMMSS CO,Zero azimuth: North CO,Zero VA: Zenith CO,Coord Order: NEZ CO,HA Raw data: Azimuth CO, DOMCDTC4 Created 18-Feb-2005 19:17:01 CO,Tilt Correction = OFF MP,C1,,2498544.2770,373906.3130,408.6870, MP,C2,,2498372.0180,373694.8920,455.0220, MP,C3,,2498420.4060,373739.4090,441.7860, MP,C5,,2498337.1780,373591.2450,444.1490, MP,C6,,2498351.3470,373462.1200,442.0320, MP,C7,,2498358.8550,373305.4290,436.9400, MP,A10,,2498098.2290,373126.5600,405.9780, MP,A11,,2498105.6680,373121.7210,405.5650, MP,A12,,2498166.2730,373151.5860,417.7720, MP,A13,,2498206.2800,373165.7360,429.7720, MP,A14,,2498013.3670,373118.0840,422.6100, MP,A15,,2498213.3170,373185.4330,436.5590, MP,0,,2498503.7709,374087.3092,0.0000, MP,1,,2498511.2960,374077.3656,0.0000, Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 31 Tin học Trắc địa K47 2.2 Thành lập BDDH từ số liệu đo của máy toàn đạc điện tử 2.2.1 Quy trình thành lập bản đồ số địa hình từ dữ liệu máy toàn đạc điện tử. Hình 2.15 Quy trình thành lập bản đồ số địa hình từ dữ liệu máy toàn đạc điện tử. Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 32 Tin học Trắc địa K47 2.2.2 Cấu trúc dữ liệu và sơ đồ thuật toán của các máy toàn đạc điện tử Để thực hiện việc tự động thành lập bản đồ địa hình bằng phương pháp số từ dữ liệu đo được của các máy toàn đạc điện tử, chúng ta cần phải chuyển về một khuôn dạng nhất định. Các khuôn dạng chính của dữ liệu đo chi tiết là toạ độ vuông góc x, y, H và toạ độ cực. Dữ liệu nhận được của các máy toàn đạc điện tử cũng được lưu dữ dưới hai dạng cơ bản đó là dạng toạ độ cực và dạng toạ độ vuông góc. Đối với dạng dữ liệu toạ độ vuông góc chúng ta chuyển ngay về quy cách dữ liệu x, y, H để thực hiện việc số hoá bản đồ địa hình. Đối với dữ liệu toạ độ cực thì cần phân tích cấu trúc dữ liệu đo đạc của từng loại máy, từ đó chuyển đổi về một dạng chung nhất, sau đó tính toán để đưa về dạng X, Y và H theo một quy chuẩn chung. Đối với dữ liệu toạ độ cực, khuôn dạng dữ liệu trong tệp tin sau khi chuyển đổi được thống nhất như sau: Thứ tự, Kh_cách_nghiêng, Góc_bằng, Chênh_cao, Cao_mia, Ghi_chú Đối với dữ liệu toạ độ vuông góc, khuôn dạng dữ liệu trong tệp tin sau khi chuyển đổi trực tiếp từ dữ liệu đo ngoài thực địa hoặc từ tệp dữ liệu toạ độ cực được thống nhất như sau: Thứ tự, Toạ độ_X, Toạ_độ_Y, Độ_Cao_H, Ghi_chú Để có cơ sở cho việc xây dựng các modul chương trình, phải thực hiện việc phân tích các khuôn dạng dữ liệu cụ thể đối với từng máy toàn đạc điện tử. 2.2.2.1 Máy toàn đạc điện tử hãng Nikon (DTM - 330) Cấu trúc dữ liệu - Dữ liệu dạng tọa độ cực CO,Nikon RAW data format V2.00 Format tệp dữ liệu *.raw Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 33 Tin học Trắc địa K47 CO,Dist Units: Metres Đơn vị đo chiều dài: Mét CO,Angle Units: Degrees Đơn vị đo góc: Độ, Phút, Giây CO,Zero azimuth: North Hướng khởi đầu: Hướng Bắc CO,Scale Factor: 1.0000 Tỷ số tỷ lệ: 1.000 CO,DHMo Địa danh khu đo: DHmo CO,Downloaded 08-Mar-2004 10:57:08 Thời gian trút dữ liệu: CO,Instrument: Nikon DTM-330 Tên máy đo: Nikon DTM-330 MP,1,,2373000.0000,567000.0000,0.0000, Toạ độ điểm đặt máy. MP,2,,2373500.0000,577000.0000,0.0000,BAC Toạ độ điểm định hướng. CO,Temp:22C Press:760mmHg Prism:30 Điều kiện môi trường. ST,1,,2,,1.5000,0.00000,0.00000 Trạm máy 1 Định hướng 2, chiều cao máy SS,3,1.5300,67.8550,71.25340,90.08290,08:43:03, SS,4,1.5300,67.4790,68.58460,91.18580,08:44:05, ... Trong đó dữ liệu từng điểm đo được ghi trên một bản ghi, bao gồm: SS_Mã hiệu điểm chi tiết, 3_số thứ tự của điểm đo, 1.5300_chiều cao gương, 67.8550_khoảng cách nghiêng (m), 71.25340_góc bằng (độ, phút, giây), 90.08290_góc thiên đỉnh (độ, phút, giây), 08:42:10_thời gian đo. Quá trình đo ghi được thực hiện tương tự đối với tất cả các điểm chi tiết trong một trạm đo, các trạm đo khác tương tự. 2.2.2.2 Máy toàn đạc điện tử hãng Leica _ TC-305 a. Cấu trúc dữ liệu Khuôn dạng dữ liệu máy toàn đạc điện tử hãng Leica như TC-600, TC- 605, TC-1100, TC-305, đều được lưu trữ theo cùng một nguyên tắc. Mỗi điểm đo được lưu lại những thông tin cần thiết, mỗi thông tin bao gồm mã số của thông tin đó và giá trị kèm theo. Cụ thể như sau: Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 34 Tin học Trắc địa K47 11 Mã số số thứ tự điểm 21 Mã số giá trị góc bằng 22 Mã số giá trị góc thiên đỉnh 31 Mã số khoảng cách nghiêng 51 Mã số hằng số gương 87 Mã số chiều cao gương 81 Mã số toạ độ X 82 Mã số toạ độ Y 83 Mã số độ cao H ... Trong quá trình đo, chúng ta lưu dữ liệu hoặc chế độ toạ độ cực hoặc đồng thời toạ độ cực và toạ độ vuông góc - Toạ độ cực của file *.gsi: 110001+000T-191 21.024+00000050 22.024+08928020 31...0+00756860 51....+0014+030 87...0+00001300 88...0+00001553 110002+000000B7 21.024+18537530 22.024+09001280 31...0+00802517 51....+0014+030 87...0+00001300 88...0+00001553 110003+000000B7 21.024+00538020 22.024+26958230 31...0+00802522 51....+0014+030 87...0+00001300 88...0+00001553 110004+000000B7 21.024+18537590 22.024+09001220 31...0+00802519 51....+0014+030 87...0+00001300 88...0+00001553 110005+000000B7 21.024+00537550 22.024+26958330 31...0+00802520 51....+0014+030 87...0+00001300 88...0+00001553 110006+00000001 21.024+09016350 22.024+08946170 31...0+00383384 51....+0014+030 87...0+00002100 88...0+00001553 110007+00000002 21.024+09541340 22.024+08946400 31...0+00384401 51....+0014+030 Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 35 Tin học Trắc địa K47 87...0+00002100 88...0+00001553 110008+00000003 21.024+10223440 22.024+08946340 31...0+00392755 51....+0014+030 87...0+00002100 88...0+00001553 110009+00000004 21.024+32324190 22.024+09007060 31...0+00332753 51....+0014+030 87...0+00002100 88...0+00001553 110010+00000005 21.024+32715010 22.024+09006470 31...0+00349123 51....+0014+030 87...0+00002100 88...0+00001553 110011+00000006 21.024+33146420 22.024+09005170 31...0+00373088 51....+0014+030 87...0+00002100 88...0+00001553 110012+00000007 21.024+19702260 22.024+09002400 31...0+00777074 51....+0014+030 87...0+00002100 88...0+00001553 110013+00000008 21.024+11105170 22.024+08951110 31...0+00405832 51....+0014+030 87...0+00002100 88...0+00001553 110014+00000009 21.024+33519070 22.024+09005430 31...0+00396203 51....+0014+030 87...0+00002100 88...0+00001553 110015+00000010 21.024+11724190 22.024+08951030 31...0+00421923 51....+0014+030 87...0+00002100 88...0+00001553 110016+00000011 21.024+19724470 22.024+09003340 31...0+00744428 51....+0014+030 87...0+00002100 88...0+00001553 110017+00000012 21.024+12400190 22.024+08952000 31...0+00446236 51....+0014+030 87...0+00002100 88...0+00001553 Trong đó : 110001+000T-191: 11: Mã thứ tự điểm; T-191: Mã tên điểm 21.024+00000050: 21: Mã góc bằng; 00000050: Giá trị góc bằng (5”) 22.024+08928020: 22: Mã góc đứng; 08928020: Giá trị góc đứng (độ/phút/giây) 31...0+00756860: 31:Mã số khoảng cách nghiêng; 00756860:khoảng cách nghiêng (756.86 m) Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 36 Tin học Trắc địa K47 51....+0014+030: 51: Mã số hằng số gương; 0014+030: hằng số gương 88...0+00001553: 88: Mã số chiều cao máy; 00001553: chiều cao máy(1.553 m) 87...0+00001300: 87: Mã số chiều cao gương; 00001300: giá trị chiều cao gương(1.30m). - Dạng tọa độ cực của file *.idx : 200004, "T-191", , , ,"", 10-07-2004/07:17:38.0 , MEAS; 200006, "T-191", 0.017833, 756.826960, 7.328048, "", 10-07-2004/07:18:32.0 , MEAS; 200007, "B7", -78.751666, -798.643712, -0.045345, "", 10-07- 2004/07:22:21.0 , MEAS; 200008, "B7", -78.785717, -798.644964, -0.081426, "", 10-07- 2004/07:24:06.0 , MEAS; 200009, "B7", -78.772533, -798.643971, -0.023937, "", 10-07- 2004/07:25:57.0 , MEAS; 200010, "B7", -78.758768, -798.645927, -0.039249, "", 10-07- 2004/07:27:41.0 , MEAS; 200011, "1", 383.375990, -1.850079, 0.992906, "", 10-07- 2004/07:36:12.0 , MEAS; 200012, "2", 382.502336, -38.130850, 0.954364, "", 10-07- 2004/07:37:16.0 , MEAS; 200013, "3", 383.596424, -84.307226, 0.998254, "", 10-07- 2004/07:38:37.0 , MEAS; 200014, "4", -198.370236, 267.157545, -1.227040, "", 10-07- 2004/07:41:51.0 , MEAS; 200015, "5", -188.865100, 293.626661, -1.227845, "", 10-07- 2004/07:44:05.0 , MEAS; 200016, "6", -176.426488, 328.736761, -1.110821, "", 10-07- 2004/07:47:26.0 , MEAS; 200017, "7", -227.719024, -742.959042, -1.110260, "", 10-07- 2004/07:47:50.0 , MEAS; 200018, "8", 378.652087, -146.018218, 0.505304, "", 10-07- 2004/07:49:32.0 , MEAS; 200019, "9", -165.442665, 360.006772, -1.194991, "", 10-07- 2004/07:49:46.0 , MEAS; 200020, "10", 374.570681, -194.202635, 0.563690, "", 10-07- 2004/07:50:34.0 , MEAS; 200021, "11", -222.774419, -710.312359, -1.283221, "", 10-07- 2004/07:51:36.0 , MEAS; Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 37 Tin học Trắc địa K47 200022, "12", 369.921987, -249.565145, 0.503974, "", 10-07- 2004/07:52:24.0 , MEAS; 200023, "13", -150.966483, 402.529600, -1.186831, "", 10-07- 2004/07:53:10.0 , MEAS; 200024, "14", 254.191275, 43.833321, -0.311132, "", 10-07- 2004/07:53:30.0 , MEAS; 200025, "15", -216.341462, -675.314746, -1.189683, "", 10-07- 2004/07:53:55.0 , MEAS; 200026, "16", 364.626178, -303.752390, 0.673457, "", 10-07- 2004/07:54:10.0 , MEAS; 200027, "17", 256.554783, 81.157771, -0.411816, "", 10-07- 2004/07:54:19.0 , MEAS; 200028, "18", -127.966161, 390.014140, -1.172942, "", 10-07- 2004/07:54:35.0 , MEAS; 200029, "19", 359.938260, -359.466265, 0.706742, "", 10-07- 2004/07:55:48.0 , MEAS; 200030, "20", -211.489741, -640.755240, -1.285331, "", 10-07- 2004/07:56:00.0 , MEAS; 200031, "21", 259.178827, 118.465420, -0.259619, "", 10-07- 2004/07:56:29.0 , MEAS; 200032, "22", -144.232297, 347.457960, -1.156772, "", 10-07- 2004/07:56:59.0 , MEAS; 200033, "23", 354.585830, -416.080790, 0.681942, "", 10-07- 2004/07:57:27.0 , MEAS; Trong đó: 2007: Mã số thứ tự điểm; B7: tên điểm; 185.375350 : giá trị góc bằng (Phút); 90.012790 :giá trị góc đứng (Phút); 802.517079 : khoảng cách nghiêng (m); 1.300000 : cao gương (m); 10-07-2004/07:22:21.0: ngày đo Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 38 Tin học Trắc địa K47 Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 39 Tin học Trắc địa K47 b. Sơ đồ thuật toán Hình 2.16 Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 40 Tin học Trắc địa K47 Ch­¬ng 3 NGÔN NGỮ LẬP TRÌNH VISUAL BASIC 6.0 3.1 Giới thiệu chung Visual basic là một ngôn ngữ lập trình được phát triển bởi hãng Microsoft nhằm cung cấp cho người lập trình một môi trường phát triển các ứng dụng trên Windows một cách nhanh chóng và dễ dàng. Visual Basic đã trải qua nhiều phiên bản và hiện nay là phiên bản Visual basic 6.0 Enterprise Edition đang được ưa chuộng nhất. Visual Basic cung cấp cho người lập trình một môi trường tích hợp, nơi mà người lập trình có thể sử dụng các công cụ có sẵn để tạo ra giao diện người sử dụng một cách nhanh chóng và dễ dàng tạo ra mã lệnh để đáp ứng các tác động từ phía người sử dụng. Visual Basic cung cấp cho người lập trình cả kỹ thuật lập trình hướng sự kiện và lập trình hướng đối tượng. Môi trường phát triển của Visual Basic chứa những công cụ soạn thảo và gỡ rối tinh vi, cho phép người lập trình gắn mã lệnh với giao diện một cách nhanh chóng đáp ứng cho từng sự kiện. “Basic” đề cập đến ngôn ngữ Basic (Beginner all – purpose Symbolic Introduction Code) một ngôn ngữ lập trình được sử dụng phổ biến đầu tiên vào đầu thập niên 60. Sau một thời gian vắng bóng do các ngôn ngữ khác chiếm hữu thị trường như: ngôn ngữ lập trình Pascal, Database/Foxbase…Basic trỏ lại với một cái tên mới là Visual Basic. “Visual” đề cập tới phương pháp được dùng để tạo giao diện đồ họa với người sử dụng (GUI – Graphical User Interface). Hơn thế nữa ta có thể đưa vào trong không gian màn hình các đối tượng một cách dễ dàng. Như vậy, Visual Basic bắt nguồn từ ngôn ngữ BASIC. Vissual Basic cung cấp hàng trăm tình huống, các từ khóa thông dụng và một bộ các công cụ Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 41 Tin học Trắc địa K47 được thiết lập sẵn nhằm làm đơn giản hóa các chức năng phát triển các ứng dụng và giúp người lập trình triển khai các ứng dụng Windows một cách dễ dàng. Sử dụng Visual Basic, ta dễ dàng tạo ra được những form giao diện (Interface) ứng dụng thông qua những thao tác kéo thả đơn giản. bằng cách kéo thả các đối tượng sẵn có như: Frame, Label, Command button, Picturebox…Những đối tượng này sẽ mang những thuộc tính (Properties) riêng biệt như: font chữ, màu sắc, độ rộng, chiều cao, kích thước…được gán trong bảng danh sách thuộc tính. Yêu cầu tối thiểu hệ thống: - Visual Basic là chương trình 32 bit nên nó chạy trên môi trường Window từ phiên bản Windows 95 trở lên, không thể chạy hoặc xây dựng các ứng dụng Windows 3.1. - 50 MB không gian đĩa cứng còn trống. - Chip yêu cầu Pentium 166 MHz - RAM 32 MB Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 42 Tin học Trắc địa K47 3.2 Làm việc với Visual basic 6.0  Chọn Standard.exe Project để mỏ một Project mới.  Chọn Tab Existing nếu muốn mở một ứng dụng có sẵn.  Chọn Tab Recent nếu muốn mở các ứng dụng gần nhất. Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 43 Tin học Trắc địa K47 Cửa sổ làm việc của VB khi chọn STANDARD.EXE Hình 3.1 Cửa sổ làm việc chính của Visual Basic 3.2.1 Thanh tiêu đề (Title bar) Thông báo tên của Project đang làm việc. 3.2.2 Thanh Menu (Menu bar) Chứa đầy đủ các commands mà bạn sử dụng để làm việc với VB6, kể cả các menu để truy cập các chức năng đặc biệt dành cho việc lập trình chẳng hạn như Project, Format, hoặc Debug. Trong Menu Add-Ins có Add-Ins Manager cho phép bạn gắn thêm những menu con để chạy các chương trình lợi ích cho việc lập trình. 3.2.3 Thanh công cụ (Tool bar) Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 44 Tin học Trắc địa K47 Các toolbars có hình các icons cho phép bạn click để thực hiện công việc tương đương với dùng một menu command, nhưng nhanh và tiện hơn. Bạn dùng menu command View | Toolbars (click lên menu command View cho popupmenu hiện ra rồi click command con Toolbars) để làm cho các toolbars hiện ra hay biến mất đi. Bạn có thể thay đổi vị trí một toolbar bằng cách nắm vào hai gạch vertical nằm bên trái toolbar rồi dời toolbar đi chỗ khác (nắm ở đây nghĩa là để pointer của mouse lên chỗ chấm đỏ trong hình phía dưới rồi bấm xuống và giữ nút bên trái của mouse, trong khi kéo pointer đi nơi khác). 3.2.4 Hộp công cụ(Tool box) Hình 3.2 Hộp công cụ Toolbox Đây là hộp đồ nghề với các công cụ, gọi là controls, mà bạn có thể đặt lên các form trong lúc thiết kế (design). Nếu Toolbox biến mất, bạn có thể display nó trở lại bằng cách dùng menu command View | Toolbox. Bạn có thể khiến toolbox display nhiều controls hơn bằng cách chọn Components... từ context menu (chọn Toolbox rồi bấm nút phải của mouse để display context menu) hay dùng menu command Project | Components. Ngoài việc trình bày Toolbox mặc định, bạn có thể tạo cách trình bày khác bằng cách chọn Add Tab... từ context menu và bổ sung các control cho tab từ kết quả. Tùy vào từng đồ án mà hộp công cụ có các giao diện khác nhau tùy thuộc vào yêu cầu của project và còn tùy thuộc vào cách sử dụng của mỗi người lập trình. Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 45 Tin học Trắc địa K47 3.2.5 Cửa sổ Properties Window- cửa sổ thuộc tính: Hình 3.3 Cửa sổ Properties Windows Liệt kê các thuộc tính của các biểu mẫu hoặc điều kiểm được chọn. Một property là một đặc tính của một đối tượng chẳng hạn như size, caption, hoặc color. Khi bạn sửa đổi một property bạn sẽ thấy hiệu quả ngay lập tức, thí dụ thay đổi property Font của một Label sẽ thấy Label ấy được hiển thị bằng Font chữ mới. Khi bạn chọn một Property của control hay form trong cửa sổ thuộc tính, phía bên phải ở chỗ value của property có thể display ba chấm (. . .) hay một tam giác chỉa xuống. Bấm vào đó để hiển thị một hộp thoại cho bạn chọn giá trị. Thí dụ dưới đây là hộp thoại để chọn màu cho property ForeColor của control Label1. Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 46 Tin học Trắc địa K47 3.2.6 From Layout Window Bạn dùng form Layout để chỉnh vị trí của các forms khi form hiện ra lần đầu lúc chương trình chạy. Dùng context command Resolution Guides để thấy nếu dùng một màn ảnh với độ mịn (resolution) tệ hơn, thí dụ như 640 X 480, thì nó sẽ nhỏ như thế nào. Khi ta bắt đầu chạy chương trình thì biểu mẫu sẽ nằm ở góc trên bên trái, thay vì dùng chuột để kéo Form đến vị trí tùy ý, Form Layout sẽ giúp bạn làm điều này: + Trỏ chuột vào Form trong màn hình form layout window, lúc này con trỏ sẽ có hình dạng là mũi tên bốn hướng. + Rê Form đến vị trí muốn Form xuất hiện rồi thả chuột. Khi chạy chương trình Form sẽ nằm ở đúng vị trí mong muốn. Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 47 Tin học Trắc địa K47 3.2.7 Project Explorer Window Hình 3.4 Cửa sổ Project Explorer Windows Cửa sổ này quản lý toàn bộ dự án mà đang thiết kế, trong cửa sổ này sẽ liệt kê tên dự án và toàn bộ tất cả các form, các modul của dự án. Để mở một form hoặc một modul nào đó ta sử dụng chuột để chọn, sau đó kích vào tab có tên View Object. Hình 3.5 Giao diện thiết kế Để xem cửa sổ viết mã lệnh của form hoặc modul nào đó ta cũng làm như trên rồi sau đó kích vào tab có tên View code. Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 48 Tin học Trắc địa K47 Hình 3.6 cửa sổ viết mã lệnh Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 49 Tin học Trắc địa K47 Ch­¬ng 4 THIẾT KẾ CHƯƠNG TRÌNH 4.1 Thiết kế giao diện Chương trình được thiết kế theo chức năng của đề tài tốt nghiệp đó là: “Ứng dụng công nghệ tin học thành lập bản đồ địa hình trên cơ sở dữ liệu đo của máy toàn đạc điện tử”. 4.1.1 Giao diện chính của chương trình Hình 4.1 Giao diện chương trình Bước đầu tiên là khởi tạo một project mới. Từ cửa sổ làm việc chính của Visual Basic vào File\New Project (phím tắt Ctrl + N) để tạo mới một Project. Ở cửa sổ hiện ra ta tiến hành đưa các điều kiểm cần thiết vào trong biểu mẫu bằng các động tác kéo thả chuột để chọn các các đối tượng trong hộp công cụ Toolbox. Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 50 Tin học Trắc địa K47 Thêm một biểu mẫu mới, modul, lớp mới vào trong project hiện hành bằng cách chọn nút 4.1.2 Thanh menu Sử dụng menu Editor để xây dựng thanh menu theo các chức năng của chương trình. Hình 4.2 Giao diện thiết kết menu chương trình Thanh menu của chương trình được thiết kế gồm có các menu con như: Tệp tin, soạn thảo, cửa sổ, công cụ... Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 51 Tin học Trắc địa K47 Menu tệp tin Menu soạn thảo Khi làm việc với cửa sổ đồ hoạ như sao chép, cắt, dán các đối tượng bản đồ ta sử dụng menu soạn thảo. Menu cửa sổ hiển thị Bao gồm các chế độ thu phóng màn hình cho phép xem bản vẽ ở các chế độ khác nhau. Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 52 Tin học Trắc địa K47 Menu công cụ Được thiết kế với mục đích là vẽ các đối tượng như: Line, Polyline, Ellipse, Rectangle, circle...trực tiếp trên nền đồ họa của vecad. Cho phép thiết lập các thuộc tính cho các đối tượng bản đồ. Menu tiện ích Xử lý số liệu từ máy toàn đạc điện tử và hiển thị điểm chi tiết trên nền đồ họa ta sử dụng menu tiện ích. Menu liên kết ứng dụng Cho phép gọi các chương trình đồ họa ứng dụng trực tiếp từ biểu mẫu chính của chương trình phục vụ cho công tác thành lập bản đồ địa hình. Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 53 Tin học Trắc địa K47 4.1.3 Form xử lý số liệu 4.1.3.1 Sơ đồ thuật toán: Hình 4.3 Thuật toán xử lý số liệu đo chi tiết Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 54 Tin học Trắc địa K47 4.1.3.2 Thiết kế form Hình 4.4 Giao diện xử lý sô liệu Form xử lý số liệu gồm có 4 điều kiểm Option, 2 điều kiểm label, 4 điều kiểm command button, 2 hộp textbox. Các đối tượng option là các tùy chọn cho phép chọn định dạng file số liệu nhập vào. Các button xử lý, kết quả, thoát có chức năng đúng như tên gọi của nó. Khi click vào button chương trình sẽ gọi thủ tục Private Sub cmdxuly_Click() để xử lý file số liệu vừa được chọn. Click vào button thủ tục Private Sub cmdketqua_Click() được gọi và kết quả sau khi xử lý sẽ được hiển thị lên form. Click vào button thủ tục Private Sub cmdthoat_Click() được thực thi thoát khỏi form xử lý. Đối tượng command button cho phép lựa chọn đường dẫn chứa file số liệu. Chọn đường dẫn Chọn định dạng tệp số liệu Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 55 Tin học Trắc địa K47 Thông qua menu tiện ích --> xử lý số liệu MTĐĐT ta tiến hành xử lý dữ liệu, đưa dữ liệu về dạng *.ash. Click vào sẽ hiện ra hộp thoại sau: Hình 4.5 Giao diện hộp thoại chọn tệp tin số liệu xử lý Sau khi chọn đường dẫn chứa file số liệu, tên của file số liệu được hiển thị trong hộp điều kiểm textbox thứ nhất và tên file sau xử lý được lấy theo tên của file số liệu nhập vào được hiển thị trong hộp textbox thứ hai như hình Hình 4.6 Tên tệp tin số liệu sau khi chọn tệp Nếu chọn sai định dạng file số liệu sẽ có thông báo lỗi và phải nhập lại Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 56 Tin học Trắc địa K47 đúng định dạng của tệp số liệu. Hình 4.7 Hộp thoại thông báo lỗi mở tệp sai định dạng Xử lý thành công xuất hiện thông báo Hình 4.8 Hộp thoại thông báo thành công Dữ liệu được xử lý biên tập theo từng trạm đo rõ ràng hơn, trực quan hơn. Người tính toán xem xét, kiểm tra từng trạm đo so với sổ nhật ký đo. Nếu đo qui không hướng khởi đầu thì phải nhập tên điểm trạm máy và điểm định hướng vào vị trí dòng ký hiệu TRAM. Chú ý tên điểm trạm máy và điểm định hướng phải đúng như tên điểm trong file tọa độ gốc. KýHiệuTrạm TênTrạmMáy TênĐịnhHướng TênCT GócBằng CạnhBằng ChênhCao TênCT GócBằng CạnhBằng ChênhCao TRAM F1 T-191 T-191 0 0 0 .000 -0.547 T-191 0 0 5 756.860 7.291 B7 185 37 54 802.517 -0.089 B7 5 38 2 802.522 0.63 Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 57 Tin học Trắc địa K47 B7 185 37 59 802.519 -0.066 B7 5 37 55 802.520 0.588 1 90 16 35 383.384 0.983 2 95 41 34 384.401 0.944 3 102 23 44 392.755 0.988 4 323 24 19 332.753 -1.234 5 327 15 1 349.123 -1.236 F1 : Mã trạm máy T-191 : Mã điểm định hướng 1 : Số thứ tự điểm đo 90 16 35 : Giá trị góc bằng 383.384 : Khoảng cách ngang 0.983 : Chênh cao Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 58 Tin học Trắc địa K47 4.1.4 Form tính tọa độ điểm chi tiết 4.1.4.1 Sơ đồ thuật toán Hình 4.9 Sơ đồ thuật toán tính tọa độ điểm chi tiết Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 59 Tin học Trắc địa K47 4.1.4.2 Thiết kế form Hình 4.10 Giao diện tính tọa độ điểm chi tiết Form tính tọa độ điểm chi tiết về giao diện được thiết kế tương tự như form xử lý số liệu ở trên. Form tính tọa độ điểm chi tiết thiết kế 2 command button lựa chọn đường dẫn đến thư mục chứa tệp số liệu cần xử lý. Các đối tượng checkbox là các tùy chọn cho phép chương trình xuất ra các định dạng *.xyh, *.scr, *.mcr để hiển thị điểm lên nền đồ họa của các phần mềm đồ họa như : Vecad, Auto cad2004, Micro station. Các textbox dùng để hiển thị tên của các file số liệu nhập vào cũng như tên của các file kết quả được xuất ra. Các command button còn lại được dùng để gọi các thủ tục xử lý số liệu như trong form xử lý số liệu. Từ form chính thông qua menu -->Tính tọa độ điểm chi tiết tính tọa độ điểm chi tiết, ta tiến hành lựa chọn file số liệu thông qua 2 button . Hộp thoại mở ra, lựa chọ file số liệu cần tính toán. Chọn đường dẫn tệp *.ASH Chọn đường dẫn tệp gốc:*.GOC Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 60 Tin học Trắc địa K47 Nếu định dạng file không đúng sẽ xuất hiện thông báo lỗi Sau khi lựa chọn file số liệu, click button để gọi thủ tục xử lý điểm chi tiết. Số liệu sau khi được tính toán xong sẽ xuất hiện thông báo Click chọn button để xem kết quả tính toán Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 61 Tin học Trắc địa K47 Hình 4.11 Kết quả tính toán tọa độ điểm chi tiết Dữ liệu sau khi được xử lý có định dạng như sau: Trạm máy tọa độ X tọa độ Y độ cao H T-191 2330491.12 602900.085 12.586 F1 2330525.82 602143.860 4.580 T-191 2330525.82 602143.860 4.033 T-191 2330491.11 602899.924 11.871 B7 2330641.09 601349.665 4.491 B7 2330410.51 602938.055 5.210 B7 2330641.11 601349.666 4.514 B7 2330410.54 602938.057 5.168 1 2330142.93 602124.441 5.563 2 2330145.46 602088.239 5.524 3 2330146.49 602042.059 5.568 Kết quả trên được thực hiện đối với dữ liệu của máy toàn đạcTC-305 có khuôn dạng *.idx: Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 62 Tin học Trắc địa K47 4.1.5 Hiển thị điểm chi tiết trên nền đồ họa Chương trình có chức năng hiển thị điểm lên nền dồ họa. Để hiển thị điểm chi tiết trên nền đồ họa thông qua Menu hiển thị điểm chi tiết.Từ menu tiện ích --> hiển thị điểm chi tiết chương trình sẽ hiển thị toàn bộ các điểm chi tiết và điểm địa hình. Hình 4.12 Kết quả hiển thị điểm chi tiết lên màn hình đồ họa Tệp *.SCR dùng để triển điểm khống chế và điểm chi tiết lên nền đồ họa của AutoCAD. LAYER M DiemCT L Continuous C 2 DiemCT _Point 602900.085,2330491.129 _Point 602143.860,2330525.825 _Point 602143.860,2330525.825 Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 63 Tin học Trắc địa K47 _Point 602899.924,2330491.118 _Point 601349.665,2330641.099 _Point 602938.055,2330410.519 _Point 601349.666,2330641.119 _Point 602938.057,2330410.546 _Point 602124.441,2330142.933 _Point 602088.239,2330145.469 _Point 602042.059,2330146.493 _Point 602419.829,2330711.743 _Point 602445.835,2330701.034 _Point 602480.338,2330687.000 _Point 601412.119,2330787.358 _Point 601980.640,2330154.262 _Point 602511.072,2330674.594 _Point 601932.693,2330160.548 _Point 601444.504,2330780.922 _Point 601877.602,2330167.729 _Point 602552.886,2330658.185 Chạy AutoCAD\gõ lệnh SCR\chọn đường dẫn đến thư mục chứa tệp *.SCR\AutoCAD sẽ tự động phân lớp và hiển thị toàn bộ các điểm. Mỗi điểm chi tiết bao gồm số hiệu điểm, độ cao, vị trí điểm (DiemCT) được thể hiện trên 3 layer khác nhau. Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 64 Tin học Trắc địa K47 Hình 4.13 Kết quả hiển thị lên nền đồ họa AutoCad với các layer Kết quả cho ta điểm địa hình và điểm chi tiết trên nền Autocad như sau: Hình 4.14 Điểm chi tiết được hiển thị trên nền AutoCad Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 65 Tin học Trắc địa K47 Tệp *.MCR dùng để triển điểm lên Microstation. LV=1 CO=0 WT=0 Place Point XY=602900.085,2330491.129 Place Active Cell XY=602143.860,2330525.825 Place Active Cell XY=602143.860,2330525.825 Place Active Cell XY=602899.924,2330491.118 Place Active Cell XY=601349.665,2330641.099 Place Active Cell XY=602938.055,2330410.519 Place Active Cell XY=601349.666,2330641.119 Place Active Cell XY=602938.057,2330410.546 Place Active Cell XY=602124.441,2330142.933 Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 66 Tin học Trắc địa K47 Place Active Cell XY=602088.239,2330145.469 Place Active Cell XY=602042.059,2330146.493 Place Active Cell XY=602419.829,2330711.743 Place Active Cell XY=602445.835,2330701.034 Chạy Microstation\gõ lệnh @...\thư mục\A.MCR\ Microstation sẽ tự động hiển thị toàn bộ các điểm. (Chú ý phải nhập đúng đường dẫn chứa tệp A.MCR) 4.1.6 Biên tập bản đồ Sau khi thực hiện xử lý số liệu và hiển thị điểm trên nền đồ họa, có thể lưu bản vẽ dưới định dạng *.vec của Vecad hoặc định dạng *.dwg, *.dxf của Autocad. Chương trình cho phép sử dụng các công cụ có sẵn để tạo bản vẽ và có thể linh động chuyển sang phần mềm đồ họa Autocad, Microstation để hoàn thiện bản đồ. Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 67 Tin học Trắc địa K47 Hình 4.15 Bản đồ được hiển thị trên nền đồ họa chương trình Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 68 Tin học Trắc địa K47 KẾT LUẬN Ngày nay, với sự phát triển không ngừng của khoa học kỹ thuật, công nghệ thông tin và điện tử thì công tác thành lập bản đồ bằng các phương pháp truyền thống trở nên lạc hậu. Nhu cầu thực tế ngày càng cao, đòi hỏi nghành trắc địa phải có phương pháp mới tạo ra bản đồ đáp ứng được nhu cầu thực tiễn. Công nghệ đó là công nghệ bản đồ số. Để thực hiện kết nối việc tự động hoá quy trình đo dạc và thành lập bản đồ địa hình giữa máy đo và máy tính thì chúng ta cần phải có những modul chương trình tiện ích, thực dụng và phù hợp với thực tế sản xuất của Việt Nam. Đây là công việc cần thiết mà các cơ quan sản xuất đang yêu cầu. Đề tài: “Ứng dụng công nghệ tin học thành lập bản đồ địa hình trên cơ sở dữ liệu đo của máy toàn đạc điện tử” đã phần nào đáp ứng được yêu cầu của thực tế sản xuất hiện nay. Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 69 Tin học Trắc địa K47 TÀI LIỆU THAM KHẢO [1]. Tiến sĩ Đinh Công Hòa. Nghiên cứu và thành lập các modul chương trình chuyển đổi dữ liệu từ sổ ghi điện tử các máy toàn đạc điện tử để thành lập bản đồ địa hình và mặt cắt. Đề tài nghiên cứu cấp bộ. Trường Đại học Mỏ Địa Chất [2]. Chủ biên: PTS Nguyễn Tiến Dũng, biên dịch: Trần thế San - Vũ Hữu Tường, hiệu đính: PTS Nguyễn Ngọc Phương. Kỹ năng lập trình Visual Basic 6. Nxb Thống kê. [3]. Nguyễn Trọng San, Đào Quang Hiếu, Đinh Công Hòa. Giáo trình Trắc địa cơ sở tập (1+2). Nxb Xây Dựng. Hà Nội 2002 [4]. Nguyễn Thị Ngọc Mai, Nguyễn Hữu Anh. Lập trình cơ sở dữ liệu Visual Basic 6.0. Nxb Lao động xã hội. Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 70 Tin học Trắc địa K47 PHỤ LỤC  Module xử lý chuỗi số liệu: - Tách chuỗi số liệu Public Sub Tach_chuoi(chuoi As String, arrchuoi() As String) Dim i%, NumStr% NumStr = 0 i = 1 Do Do While (Mid$(chuoi, i, 1) = " ") Or (Mid$(chuoi, i, 1) = ",") _ Or (Mid$(chuoi, i, 1) = Chr(32)) Or (Mid$(chuoi, i, 1) = ";") _ Or (Mid$(chuoi, i, 1) = Chr(34)) Or (Mid$(chuoi, i, 1) = Chr(9)) Or (Mid$(chuoi, i, 1) = ":") And (i <= Len(chuoi)) i = i + 1 Loop If i <= Len(chuoi) Then NumStr = NumStr + 1 ReDim Preserve arrchuoi(NumStr) As String arrchuoi(NumStr) = "" End If Do While (i " ") And (Mid$(chuoi, i, 1) ",") And (Mid$(chuoi, i, 1) Chr(32)) And (Mid$(chuoi, i, 1) ";") And (Mid$(chuoi, i, 1) Chr(34)) And (Mid$(chuoi, i, 1) Chr(9)) And (Mid$(chuoi, i, 1) ":") arrchuoi(NumStr) = arrchuoi(NumStr) + Mid$(chuoi, i, 1) i = i + 1 Loop Loop Until i > Len(chuoi) End Sub Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 71 Tin học Trắc địa K47 - Hàm in chuỗi số liệu Function In_chuoi(ByVal Str As String, ByVal n As Long, Optional Justify As Long) As String If IsMissing(Justify) Then Justify = 0 Str = Trim$(Str) If Justify = 0 Then If Len(Str) > n Then Str = Mid$(Str, 1, n) Str = Space$(n \ 2 - Len(Str) \ 2) & Str & Space$(n \ 2 - Len(Str) \ 2) & Space$(5) In_chuoi = Mid$(Str, 1, n) End If If Justify = -1 Then In_chuoi = Space(n) & Str End If If Justify = 1 Then In_chuoi = Str & Space(n) End If If Justify = 2 Then In_chuoi = Mid$(Str, 1, n) If Len(Str) >= n Then Else In_chuoi = Space$(n - Len(Str)) & Str End If End If If Justify = -2 Then In_chuoi = Str & Space$(Abs(n - Len(Str))) In_chuoi = Mid$(In_chuoi, 1, n) End If End Function - Xử lý file *.gsi về dạng *.ash: Fgsi = Me.lblthumuc.Caption & txtfiletrut.Text Open Fgsi For Input As #1 Tach_dgdan Fgsi, Fdir, Fname Fash = Me.lblthumuc.Caption & txtketqua.Text Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 72 Tin học Trắc địa K47 Open Fash For Output As #2 Dim xau1 As String, xau2 As String, xau3 As String Do While Not EOF(1) Line Input #1, str1 Tach_chuoi str1, SSp tdiem = val(Right(SSp(1), 10)) lgiz = val(Right(SSp(2), 3)) / 10 lphz = val(Mid(SSp(2), (Len(SSp(2)) - 4), 2)) ldz = val(Mid(SSp(2), (Len(SSp(2)) - 7), 3)) lgiv = val(Right(SSp(3), 3)) / 10 lphv = val(Mid(SSp(3), (Len(SSp(3)) - 4), 2)) ldv = val(Mid(SSp(3), (Len(SSp(3)) - 7), 3)) SD = val(Right(SSp(4), 8)) / 1000# Ht = val(Right(SSp(6), 5)) / 1000# Hi = val(Right(SSp(7), 5)) / 1000# Vz = Rad(ldv, lphv, lgiv) If (Vz > 4 * Atn(1#)) Then Vz = Vz - 4 * Atn(1#) dz = Format(Cos((Vz - (4 * Atn(1#)) / 2)) * SD, ".000") H = Format(dz / Tan(Vz) + Hi - Ht, ".000") Print #2, In_chuoi(In_chuoi(tdiem, 8, -2) & In_chuoi(ldz, 5, 2) & In_chuoi(lphz, 5, 2) & _ In_chuoi(val(lgiz), 5, 2) & In_chuoi(Format(SD, "#.000"), 12, 2) & In_chuoi(H, 10, 2), 90, -2) Loop Close #1 Close #2 - Hàm xử lý file *.ash và file *.goc về dạng *.xyh: Private Sub cmdxuly_Click() n = 0 Pi = 4# * Atn(1#) Pi2 = 2# * Pi Ro = 190# * 3600# / Pi Id = 0 Open Fash For Input As #1 Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 73 Tin học Trắc địa K47 Tach_dgdan Fash, Fdir, Fname err = Fdir & Fname & ".ERR" Open err For Output As #4 Do Line Input #1, Strf1 Tach_chuoi Strf1, SSp Dim xau, xau1 xau = SSp(1) If StrComp(xau, "TRAM", vbTextCompare) = 0 Then IDg = SSp(2): IDh = SSp(3) Open Fgoc For Input As #200 Line Input #200, strf2 Do While Not EOF(200) Tach_chuoi strf2, SSp xau = SSp(1) If StrComp(IDg, xau, vbTextCompare) = 0 Then n = n + 1 ReDim Preserve dCT(n) Xg = SSp(2) Yg = SSp(3) Zg = SSp(4) dCT(n).Ten = IDg: dCT(n).X = Xg: dCT(n).Y = Yg: dCT(n).H = Zg ElseIf StrComp(IDh, xau, vbTextCompare) = 0 Then n = n + 1 ReDim Preserve dCT(n) Xdh = SSp(2) Ydh = SSp(3) Zdh = SSp(4) dCT(n).Ten = IDh: dCT(n).X = Xdh: dCT(n).Y = Ydh: dCT(n).H = Zdh End If Line Input #200, strf2 Loop Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 74 Tin học Trắc địa K47 dx = Xdh - Xg dy = Ydh - Yg afa = Pvi(dx, dy) Call dR_GOC(afa, gd, gph, ggi) Close (200) Else n = n + 1 Kt = False Id = Id + 1 IDtd = SSp(1) gd = SSp(2) gph = SSp(3) ggi = SSp(4) beta = Rad(gd, gph, ggi) Pvd = afa + beta Xtd = Xg + SSp(5) * Cos(afa + beta) Ytd = Yg + SSp(5) * Sin(afa + beta) Ztd = Zg + val(SSp(6)) ReDim Preserve dCT(n) dCT(n).Ten = IDtd: dCT(n).X = Xtd: dCT(n).Y = Ytd: dCT(n).H = Ztd Call dR_GOC(Pvd, dpv, phpv, gpv) gpv = Fix(gpv) End If Loop While Not EOF(1) Close (1) ‘ Xuat ra file *.xyh If chktddc.Value = True Then Fxyh = Fdir & Fname & ".XYH" Open Fxyh For Output As #7 For i = 1 To n Print #7, In_chuoi(dCT(i).Ten, 10, -2) & In_chuoi(Format(dCT(i).X, "0.000"), 10, 2) & _ Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Nguyễn Văn Trường 75 Tin học Trắc địa K47 In_chuoi(Format(dCT(i).Y, "0.000"), 20, 2) & In_chuoi(Format(dCT(i).H, "0.000"), 10, 2) Next i Close #7 End If End Sub  Hiển thị điểm chi tiết trên nền đồ họa: For i = 1 To Tongdiem ReDim Preserve hEnt(i) As Long frmdohoa.Vecad1.PutPointMode CAD_PNT_CIRCLE frmdohoa.Vecad1.PutPointSize 10 frmdohoa.Vecad1.PntStylePutDrawMode Pointht, CAD_PS_DRAW_ALL hEnt(i) = frmdohoa.Vecad1.AddPoint(dCT(i).Y, dCT(i).X, dCT(i).H) frmdohoa.Vecad1.PointPutText hEnt(i), dCT(i).Ten frmdohoa.Vecad1.Update frmdohoa.Vecad1.WndRedraw Next i frmdohoa.Vecad1.Update frmdohoa.Vecad1.WndRedraw frmdohoa.Vecad1.Execute 102

Các file đính kèm theo tài liệu này:

  • pdfdoan_tn47_7262.pdf