Nghiên cứu cơ sở dữ liệu địa chính và bài toán cập nhật biến động đất đai ở Việt Nam

152 645 5
Nghiên cứu cơ sở dữ liệu địa chính và bài toán cập nhật biến động đất đai ở Việt Nam

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC MỎ - ĐỊA CHẤT ĐINH HẢI NAM NGHIÊN CỨU CƠ SỞ DỮ LIỆU ĐỊA CHÍNH VÀ BÀI TOÁN CẬP NHẬT BIẾN ĐỘNG ĐẤT ĐAI Ở VIỆT NAM LUẬN ÁN TIẾN SĨ KỸ THUẬT HÀ NỘI - 2015 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC MỎ - ĐỊA CHẤT ĐINH HẢI NAM NGHIÊN CỨU CƠ SỞ DỮ LIỆU ĐỊA CHÍNH VÀ BÀI TOÁN CẬP NHẬT BIẾN ĐỘNG ĐẤT ĐAI Ở VIỆT NAM Ngành : Kỹ thuật Trắc địa - Bản đồ Mã số : 62.52.05.03 LUẬN ÁN TIẾN SĨ KỸ THUẬT NGƯỜI HƯỚNG DẪN KHOA HỌC TS TRẦN THÙY DƯƠNG PGS.TS NGUYỄN QUANG MINH HÀ NỘI - 2015 i LỜI CAM ĐOAN Tôi xin cam đoan công trình nghiên cứu riêng Toàn trình nghiên cứu tiến hành cách khoa học, số liệu, kết nêu luận án xác, trung thực chưa công bố công trình khác! Tác giả luận án Đinh Hải Nam ii MỤC LỤC LỜI CAM ĐOAN i MỤC LỤC ii DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT v DANH MỤC CÁC BẢNG vii DANH MỤC CÁC HÌNH VẼ viii MỞ ĐẦU CHƯƠNG TỔNG QUAN 1.1 Trên giới 1.1.1 Công tác xây dựng, khai thác sở liệu địa số nước 1.1.2 Mô hình cập nhật biến động, biên tập địa phần mềm nước 12 1.2 Trong nước 13 1.2.1 Tổng quan công tác xây dựng sở liệu địa 13 1.2.2 Công tác cập nhật biến động đất đai 22 CHƯƠNG NGHIÊN CỨU THIẾT KẾ CẤU TRÚC CƠ SỞ DỮ LIỆU ĐỊA CHÍNH PHÙ HỢP VỚI ĐIỀU KIỆN Ở VIỆT NAM 26 2.1 Xây dựng cấu trúc liệu không gian 28 2.1.1 Cấu trúc bảng liệu đối tượng điểm 29 2.1.2 Cấu trúc bảng liệu nửa cạnh 30 2.1.3 Cấu trúc bảng liệu đất 32 2.1.4 Cấu trúc bảng liệu véc tơ số hiệu chỉnh đỉnh 33 2.1.5 Cấu trúc bảng liệu lớp đối tượng đồ 34 2.2 Xây dựng cấu trúc liệu thuộc tính 35 2.2.1 Mô hình quan hệ bảng liệu thuộc tính 36 2.2.2 Cấu trúc bảng liệu thuộc tính 37 2.3 Định nghĩa cấu trúc tệp XML để trao đổi CSDL địa 45 2.4 Chương trình thực nghiệm xây dựng CSDL địa 46 2.4.1 Mô đun xây dựng liệu không gian 46 2.4.2 Mô đun xây dựng khai thác liệu thuộc tính 50 iii 2.4.3 Xuất CSDL địa theo trúc định dạng tệp XML 52 CHƯƠNG NGHIÊN CỨU CÁC PHƯƠNG PHÁP HIỆU CHỈNH THỬA ĐẤT PHÙ HỢP LÀM CÔNG CỤ XỬ LÝ MỘT SỐ BÀI TOÁN CẬP NHẬT BIẾN ĐỘNG ĐẤT ĐAI TRONG PHẠM VI CỤC BỘ 53 3.1 Xây dựng phương pháp hiệu chỉnh đất 55 3.1.1 Mô hình toán học 55 3.1.2 Xây dựng công thức xác định trực tiếp hệ số hệ phương trình chuẩn N 58 3.1.3 Thuật toán tính trực tiếp hệ số hệ phương trình chuẩn N 63 3.1.4 Thuật toán tính số hiệu chỉnh 68 3.1.5 Thực nghiệm so sánh thời gian tính ma trận N theo hai phương pháp .69 3.2 Lập sở liệu để hiệu chỉnh đất 69 3.2.1 Kỹ thuật tìm kiếm, lựa chọn đất 70 3.2.2 Xây dựng hàm xác định đối tượng liền kề 72 3.2.3 Các bước lập sở liệu xử lý hiệu chỉnh đất 73 3.3 Xây dựng mô đun xử lý toán cập nhật biến động đất đai 74 3.3.1 Chính xác hóa đồ sau số hóa 74 3.3.2 Hiệu chỉnh đồ theo chiều dài cạnh, diện tích 76 3.3.3 Cập nhật đất đo bổ sung vào sở liệu địa 80 3.3.4 Hiệu chỉnh lớp đối tượng đồ sau cập nhật biến động .85 3.3.5 Chia tách đồ 86 3.3.6 Giải pháp cập nhật biến động vào sở liệu địa 87 3.3.7 Tra cứu lịch sử, khôi phục lần biến động đất 88 CHƯƠNG XÂY DỰNG MỘT SỐ GIẢI PHÁP XỬ LÝ BIẾN ĐỘNG ĐẤT ĐAI MANG TÍNH HỆ THỐNG 90 4.1 Giải pháp xử lý số vấn đề liên quan đến việc quản lý đất có đường bao đường cong 91 4.1.1 Giải pháp xử lý đất có đường bao đường cong 91 iv 4.1.2 Xây dựng đối tượng cung tròn 92 4.1.3 Các toán xử lý cung tròn 96 4.1.4 Tính diện tích đất có chứa cung tròn 100 4.2 Xử lý biến động quy định lại thông số file chuẩn đồ địa 103 4.2.1 Quy định kỹ thuật hệ tọa độ đơn vị vẽ đồ địa 103 4.2.2 Một số phương pháp chuyển đổi đơn vị làm việc vẽ 104 4.2.3 Giải pháp xử lý đồ thay đổi thông số kỹ thuật vẽ 105 KẾT LUẬN VÀ KIẾN NGHỊ 108 DANH MỤC CÔNG TRÌNH CỦA TÁC GIẢ 110 TÀI LIỆU THAM KHẢO 111 PHỤ LỤC 119 v DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT Tiếng Việt Ký hiệu BĐĐC Bộ TN&MT CSDL GCN GCNQSDĐ QSDĐ TN&MT TT VPĐKĐĐ Giải thích viết tắt, ký hiệu Bản đồ địa Bộ Tài nguyên Môi trường Cơ sở liệu Giấy chứng nhận Giấy chứng nhận quyền sử dụng đất Quyền sử dụng đất Tài nguyên Môi trường Thông tư Văn phòng Đăng ký đất đai Tiếng Anh Ký hiệu 2D, 3D ArcGIS Benley Cadastral Editor DGN DWG DXF Elis ESRI Famis Giải thích viết tắt, ký hiệu Không gian chiều, chiều Là dòng sản phẩm hỗ trợ hệ thống thông tin địa lý hãng ESRI (Mỹ) Công ty Mỹ sản xuất phần mềm giải pháp cho việc thiết kế, xây dựng hoạt động sở hạ tầng Mô đun biên tập địa phần mềm ArcGIS Desktop Khuôn dạng tệp liệu đồ phần mềm MicroStation Khuôn dạng tệp liệu đồ họa phần mềm Autocad Drawing Exchange Format - định dạng liệu đồ họa phát triển Autodesk dùng cho việc trao đổi liệu phần mềm hỗ trợ thiết kế khác Environment Land Information System - Là phần mềm hệ thống thông tin đất đai môi trường Environmental Systems Research Institute - Viện nghiên cứu hệ thống Môi trường Mỹ Field Work and Cadastral Mapping Intergrated Software- vi Phần mềm tích hợp cho đo vẽ đồ địa Việt Nam GIS GML LAN LIS Metadata Microsoft Access Microsoft SQL Server MySQL Oracle Seed file SEMLA SQL TMV.LIS Topology ViLIS VLAP XML Geographic Information System - Hệ thống thông tin địa lý Geography Markup Language - Ngôn ngữ đánh dấu địa lý Local Area Network - Mạng nội Land Information System - Hệ thống thông tin đất đai Siêu liệu liệu quản lý liệu Là phần mềm quản lý sở liệu quan hệ hãng Microsoft giữ quyền Hệ quản trị sở liệu quan hệ phát triển Microsoft Hệ quản trị sở liệu mã nguồn mở phổ biến giới Tên hãng phần mềm, hệ quản trị sở liệu phổ biến giới Là tệp chuẩn phần mềm MicroStation định nghĩa đầy đủ thông số toán học đồ, hệ đơn vị đo tính theo giá trị thật thực địa làm tăng giá trị xác thống file đồ Strengthening Environment Managament and Land Administration - Chương trình hợp tác Việt Nam, Thụy Điển tăng cường lực quản lý đất đai môi trường Structured Query Language - Ngôn ngữ truy vấn mang tính cấu trúc Phần mềm hệ thống thông tin đất đai Tổng công ty Tài nguyên & Môi trường Việt Nam (TMV) Thuật ngữ sử dụng để mối quan hệ không gian đối tượng địa lý VietNam Land Information System - Phần mềm hệ thống thông tin đất đai Bộ Tài nguyên Môi trường xây dựng Vietnam Land Administration Project - Hoàn thiện đại hóa hệ thống quản lý đất đai Việt Nam eXtensible Markup Language - Ngôn ngữ đánh dấu mở rộng vii DANH MỤC CÁC BẢNG Bảng 2.1 Cấu trúc bảng liệu điểm 30 Bảng 2.2 Cấu trúc bảng liệu nửa cạnh 31 Bảng 2.3 Cấu trúc bảng liệu đất 33 Bảng 2.4 Cấu trúc bảng liệu véc tơ số hiệu chỉnh đỉnh 33 Bảng 2.5 Cấu trúc bảng liệu lớp đối tượng đồ 35 Bảng 2.6 Cấu trúc bảng liệu mục đích sử dụng đất 39 Bảng 2.7 Cấu trúc bảng liệu đối tượng sử dụng đất 39 Bảng 2.8 Cấu trúc bảng liệu nguồn gốc sử dụng đất 39 Bảng 2.9 Cấu trúc bảng liệu thông tin thuộc tính đất 40 Bảng 2.10 Cấu trúc bảng liệu thông tin chủ sử dụng đất 41 Bảng 2.11 Cấu trúc bảng liệu đăng ký sử dụng đất 42 Bảng 2.12 Cấu trúc bảng liệu đa mục đích sử dụng 43 Bảng 2.13 Cấu trúc bảng liệu giấy chứng nhận 43 Bảng 3.1 Hệ phương trình điều kiện cạnh đất 59 Bảng 3.2 Hệ phương trình điều kiện diện tích 59 Bảng 3.3 Hệ phương trình điều kiện diện tích hai không chung đỉnh 60 Bảng 3.4 Hệ phương trình điều kiện diện tích hai chung đỉnh 61 Bảng 3.5 Hệ phương trình điều kiện cạnh j diện tích đất i 62 Bảng 3.6 Thời gian tính toán lập ma trận N theo hai phương pháp 69 Bảng 3.7 Số liệu diện tích đồ giấy diện tích đồ số hóa 75 Bảng 3.8 Số hiệu chỉnh tọa độ đỉnh sau hiệu chỉnh theo cạnh đo 77 Bảng 3.9 Số liệu đo đất 78 Bảng 3.10 Bảng tọa độ đỉnh sau hiệu chỉnh 79 Bảng 3.11 Bảng số liệu đo bổ sung đất 83 Bảng 3.12 Kết nối cập nhật đo bổ sung vào CSDL địa 84 Bảng 3.13 Bảng tọa độ đỉnh sau tính chuyển CSDL địa 85 Bảng 3.14 Bảng hiệu chỉnh tọa độ lớp nhà 86 Bảng 3.15 Lịch sử biến động đỉnh 89 Bảng 3.16 Lịch sử biến động đất i 89 viii DANH MỤC CÁC HÌNH VẼ Hình 1.1 Hệ thống đất đai liên kết với NaLIS Hình 1.2 Hệ thống đăng ký nhà đất Hà Lan [52] 10 Hình 1.3 Các thành phần kết cấu đất mô đun Cadastral Editor [53] 13 Hình 1.4 Quy trình xây dựng sở liệu địa 19 Hình 1.5 Giao diện chức chia tách, gộp phần mềm Vilis 2.0 25 Hình 2.1 Mô tả thành phần cấu tạo nên đất 28 Hình 2.2 Mô tả thành phần nửa cạnh 30 Hình 2.3 Các lớp đối tượng đồ 34 Hình 2.4 Sơ đồ mô hình quan hệ bảng đơn vị hành 38 Hình 2.5 Sơ đồ quan hệ bảng liệu thuộc tính 44 Hình 2.6 Tệp liệu đồ họa 47 Hình 2.7 Tệp số liệu đo đạc 47 Hình 2.8 Tệp số liệu định dạng shape file 47 Hình 2.9 Bảng liệu điểm 48 Hình 2.10 Bảng liệu nửa cạnh 49 Hình 2.11 Bảng liệu đất 49 Hình 3.1 Hiệu chỉnh cạnh i, j, k 58 Hình 3.2 Trường hợp đưa vào điều kiện diện tích 60 Hình 3.3 Trường hợp hai đất không chung đỉnh 60 Hình 3.4 Hai chung đỉnh 61 Hình 3.5 Xác định hệ số hai chung đỉnh 62 Hình 3.6 Điều kiện cạnh j diện tích i 62 Hình 3.7 Xác định véc tơ chắn đỉnh pk đất i 64 Hình 3.8 Thuật toán xác định véc tơ chắn đỉnh pk đất i 65 Hình 3.9 Xác định tổng tích vô hướng véc tơ chắn đỉnh i 65 Hình 3.10 Thuật toán xác định tổng tích véc tơ chắn đỉnh đất i66 Hình 3.11 Mối quan hệ đỉnh chung hai đất i, j 67 Hình 3.12 Thuật toán tính tổng tích vô hướng véc tơ đỉnh chung i, j 68 127 temp = DS_a(PTDK.PT(i).ID).Field(0) & vbTab & rs!LaName & vbTab & Format(rs!rX1, "0.000") & vbTab & Format(rs!rY1, "0.000") & vbTab & vbTab & vbTab & vbTab & vbTab & IIf(stt = 1, rs!ParcelID, 0) & vbTab & rs!rX1 & vbTab & rs!rY1 MSFlexThua(4).AddItem temp MSFlexThua(4).RowData(r) = rs!Ent_LineID r=r+1 temp = DS_a(PTDK.PT(i).ID).Field(0) & vbTab & rs!LaName & vbTab & Format(rs!rX2, "0.000") & vbTab & Format(rs!rY2, "0.000") & vbTab & vbTab & vbTab & vbTab & vbTab & "0" & vbTab & rs!rX2 & vbTab & rs!rY2 MSFlexThua(4).AddItem temp MSFlexThua(4).RowData(r) = rs!Ent_LineID stt = stt + MoveNext Loop Close Next i End With MSFlexThua(4).ReDraw = True End Sub Private Sub GetNeighborID(v As Long, PTDK As tPTDK, ListParcelNeighbor As tListID) ' kiểm tra xem đỉnh v có ListParcelNeighbor.Counts = ReDim ListParcelNeighbor.List(0) As Long Dim e As Long, eP As Long, eT As Long, i As Long e = DS_v(v).e Do eP = DS_e(e).eP eT = DS_e(eP).eT For i = To PTDK.r If (DS_e(eT).a = PTDK.PT(i).ID) And (PTDK.PT(i).iType = 0) Then ' thua giap ranh co ptdk roi GoTo thoat 128 End If Next i If DS_a(DS_e(eT).a).Area > And DS_a(DS_e(eT).a).Flag = True Then ListParcelNeighbor.Counts = ListParcelNeighbor.Counts + ReDim Preserve ListParcelNeighbor.List(ListParcelNeighbor.Counts) As Long ListParcelNeighbor.List(ListParcelNeighbor.Counts) = DS_e(eT).a End If thoat: e = eT Loop Until e = DS_v(v).e End Sub Private Function AddParcelNeighbor2AllParcelNeighbor(ListParcelNeighbor As tListID, ListAllNeighbor As tListID) As Long Dim i As Long, k As Long, j As Long k = ListAllNeighbor.Counts 'MsgBox ListParcelNeighbor.List(1) For i = To ListParcelNeighbor.Counts For j = To k If ListParcelNeighbor.List(i) = ListAllNeighbor.List(j) Then ' co roi GoTo tiep End If Next j ListAllNeighbor.Counts = ListAllNeighbor.Counts + ReDim Preserve ListAllNeighbor.List(ListAllNeighbor.Counts) As Long ListAllNeighbor.List(ListAllNeighbor.Counts) = ListParcelNeighbor.List(i) tiep: Next i End Function -Phụ lục Cập nhật đo vào CSDL địa Private Sub TinhClose(Ds_PV() As Double, Ds_S() As Double, N As Long, DS_XY() As Point_2D, Dx As Double, Dy As Double) 129 Dim i As Long For i = To N DS_XY(i + 1).rX1 = DS_XY(i).rX1 + Ds_S(i) * Cos(DmsRad(Ds_PV(i))) DS_XY(i + 1).rY1 = DS_XY(i).rY1 + Ds_S(i) * Sin(DmsRad(Ds_PV(i))) Next i Dx = DS_XY(N + 1).rX1 - DS_XY(1).rX1 Dy = DS_XY(N + 1).rY1 - DS_XY(1).rY1 End Sub -Private Sub MnuToolJoin_Click() Dim Pcf() As Point_2D, Pgd() As Point_2D, P_cf() As Point_2D, P_cf_dxdy() As Point_2D ' điểm tham tham gia join Dim Pgd_2() As Point_2D, P_cf_2() As Point_2D ' điểm ăn theo Dim Phi As Double, m As Double Dim N As Long, n_2 As Long, i As Long Dim temp$, word() As String Open App.Path & "\data\join3.txt" For Input As #1 Line Input #1, temp N = CLng(Val(temp)) ReDim Pcf(1 To N) As Point_2D: ReDim P_cf(1 To N) As Point_2D: ReDim P_cf_dxdy(1 To N) As Point_2D: ReDim Pgd(1 To N) As Point_2D For i = To N Line Input #1, temp TachXau temp, vbTab, word Pcf(i).rX1 = Val(word(1)): Pcf(i).rY1 = Val(word(2)) Pgd(i).rX1 = Val(word(3)): Pgd(i).rY1 = Val(word(4)) Next i ' điểm nội suy theo Line Input #1, temp n_2 = CLng(Val(temp)) ReDim Pgd_2(n_2) As Point_2D: ReDim P_cf_2(n_2) As Point_2D For i = To n_2 Line Input #1, temp TachXau temp, vbTab, word 130 Pgd_2(i).rX1 = Val(word(1)): Pgd_2(i).rY1 = Val(word(2)) Next i Close Helmet Pcf(), Pgd(), P_cf(), P_cf_dxdy(), N, Phi, m, Pgd_2(), P_cf_2(), n_2 Debug.Print "Phi=" & Do2Dms(Phi) & ",m=" & m For i = To N 'Debug.Print P_cf(i).rX1 & "dx=" & Format(P_cf_dxdy(i).rX1, "0.000") & " Y =" & P_cf(i).rY1 & "dy=" & Format(P_cf_dxdy(i).rY1, "0.000") Debug.Print P_cf(i).rX1 & ", " & P_cf(i).rY1 Next i Debug.Print " diem noi suy theo" For i = To n_2 Debug.Print P_cf_2(i).rX1 & ", " & P_cf_2(i).rY1 Next i ' HienthiVecto v(), n2, "0.000" End Sub Private Sub Helmet(Pcf() As Point_2D, Pgd() As Point_2D, P_cf() As Point_2D, P_cf_dxdy() As Point_2D, N As Long, Phi As Double, m As Double, Pgd_2() As Point_2D, P_cf_2() As Point_2D, n_2 As Long) Dim Pcfo As Point_2D, Pgdo As Point_2D ' trọng tâm Dim a() As Double, L() As Double, r() As Double, Q() As Double, b() As Double, miu As Double Dim v() As Double, vv As Double Dim k As Long, i As Long, j As Long, n2 As Long k = 4: n2 = N * ReDim a(1 To n2, To k) As Double: ReDim L(1 To n2) As Double ReDim r(1 To k, To k) As Double: ReDim Q(1 To k, To k) As Double: ReDim b(1 To k) As Double ReDim v(1 To n2) As Double 'chuyển tọa độ trọng tâm For i = To N Pcfo.rX1 = Pcfo.rX1 + Pcf(i).rX1: Pcfo.rY1 = Pcfo.rY1 + Pcf(i).rY1 Pgdo.rX1 = Pgdo.rX1 + Pgd(i).rX1: Pgdo.rY1 = Pgdo.rY1 + Pgd(i).rY1 Next i 131 Pcfo.rX1 = Pcfo.rX1 / N: Pcfo.rY1 = Pcfo.rY1 / N Pgdo.rX1 = Pgdo.rX1 / N: Pgdo.rY1 = Pgdo.rY1 / N For i = To N Pcf(i).rX1 = Pcf(i).rX1 - Pcfo.rX1: Pcf(i).rY1 = Pcf(i).rY1 - Pcfo.rY1 Pgd(i).rX1 = Pgd(i).rX1 - Pgdo.rX1: Pgd(i).rY1 = Pgd(i).rY1 - Pgdo.rY1 Next i ' lập ma trận A For i = To N a(2 * i - 1, 1) = Pgd(i).rX1: a(2 * i - 1, 2) = -Pgd(i).rY1: a(2 * i - 1, 3) = 1: a(2 * i - 1, 4) = a(2 * i, 1) = Pgd(i).rY1: a(2 * i, 2) = Pgd(i).rX1: a(2 * i, 3) = 0: a(2 * i, 4) = ' a(2 * i - 1, 1) = Pgd(i).rX1: a(2 * i - 1, 2) = Pgd(i).rY1: a(2 * i - 1, 3) = 1: a(2 * i - 1, 4) = ' a(2 * i, 1) = Pgd(i).rY1: a(2 * i, 2) = -Pgd(i).rX1: a(2 * i, 3) = 0: a(2 * i, 4) = L(2 * i - 1) = -Pcf(i).rX1: L(2 * i) = -Pcf(i).rY1 Next i Phụ lục Thuật toán xử lý hiệu chỉnh biến động đất Public Sub ADJ2(PTDK As tPTDK, PointsADJ As tListID) Dim W() As Double, N() As Double Dim i As Long, j As Long, k As Long, eP As Long, eT As Long Dim Dx#, Dy#, Dij#, stt&, e1 As Long, e As Long Dim v1 As Long, v2 As Long, v3 As Long, v4 As Long ReDim W(1 To PTDK.r) As Double ReDim N(1 To PTDK.r, To PTDK.r) As Double For i = To PointsADJ.Counts DS_v(PointsADJ.List(i)).vX = DS_v(PointsADJ.List(i)).vY = Next i Exe.max = PTDK.r * ShowProgess , "Tính trực tiếp ma trận N" For i = To PTDK.r Call Progses DoEvents 132 If PTDK.PT(i).iType = Then With DS_a(PTDK.PT(i).ID) N(i, i) = GetD2(.e) W(i) = * (PTDK.PT(i).Value - PTDK.PT(i).ValueADJ) End With Else N(i, i) = v1 = DS_e(PTDK.PT(i).ID).v ' dinh i v2 = DS_e(DS_e(PTDK.PT(i).ID).eN).v ' dinh j W(i) = GetDij(v1, v2) - PTDK.PT(i).ValueADJ End If If i < PTDK.r Then For k = i + To PTDK.r If PTDK.PT(i).iType = And PTDK.PT(k).iType = Then With DS_a(PTDK.PT(i).ID) e1 = e Do e = e1 Do eP = DS_e(e).eP eT = DS_e(eP).eT If DS_e(eT).a = PTDK.PT(k).ID Then ' thua giap ranh Call GetVecto(e1, v1, v2) Call GetVecto(eT, v3, v4) N(i, k) = N(i, k) + TinhTichVecto(v1, v2, v3, v4) N(k, i) = N(i, k) End If e = eT Loop Until eT = e1 e1 = DS_e(e1).eN Loop Until e1 = e End With 133 ElseIf PTDK.PT(i).iType = And PTDK.PT(k).iType = Then e = PTDK.PT(i).ID: eT = DS_e(e).eT e1 = PTDK.PT(k).ID: eP = DS_e(e1).eT ' nguoc e1 Dim giaonhau As Boolean, anfa As Double If DS_e(e).v = DS_e(e1).v Then v1 = DS_e(e).v: v2 = DS_e(eT).v v3 = DS_e(e1).v: v4 = DS_e(eP).v ElseIf DS_e(e).v = DS_e(eP).v Then v1 = DS_e(e).v: v2 = DS_e(eT).v v3 = DS_e(eP).v: v4 = DS_e(e1).v ElseIf DS_e(eT).v = DS_e(e1).v Then v1 = DS_e(eT).v: v2 = DS_e(e).v v3 = DS_e(e1).v: v4 = DS_e(eP).v ElseIf DS_e(eT).v = DS_e(eP).v Then v1 = DS_e(eT).v: v2 = DS_e(e).v v3 = DS_e(eP).v: v4 = DS_e(e1).v End If If giaonhau = True Then anfa = TPV(DS_v(v1).X, DS_v(v1).Y, DS_v(v2).X, DS_v(v2).Y) - TPV(DS_v(v3).X, DS_v(v3).Y, DS_v(v4).X, DS_v(v4).Y) N(i, k) = N(i, k) + Cos(anfa) N(k, i) = N(i, k) End If End If Next k End If Next i ShowMessage "Giải hệ phương trình" GiaiHePT N(), W(), PTDK.r For i = To PTDK.r W(i) = -W(i) Next i ShowMessage "Đang tính số hiệu chỉnh" 134 ' tính số hiệu chỉnh For i = To PTDK.r Call Progses DoEvents If PTDK.PT(i).iType = Then With DS_a(PTDK.PT(i).ID) e1 = e ' canh dau tien cua thua Do stt = GetPoint_Stt(DS_e(e1).v, PointsADJ) v1 = DS_e(DS_e(e1).eP).v v2 = DS_e(DS_e(e1).eN).v DS_v(PointsADJ.List(stt)).vX = DS_v(PointsADJ.List(stt)).vX - (DS_v(v2).Y - DS_v(v1).Y) * W(i) DS_v(PointsADJ.List(stt)).vY = DS_v(PointsADJ.List(stt)).vY + (DS_v(v2).X - DS_v(v1).X) * W(i) e1 = DS_e(e1).eN Loop Until e1 = e End With Else v1 = DS_e(PTDK.PT(i).ID).v ' dinh i v2 = DS_e(DS_e(PTDK.PT(i).ID).eN).v ' dinh v2 Dx = DS_v(v2).X - DS_v(v1).X Dy = DS_v(v2).Y - DS_v(v1).Y Dij = Sqr(Dx * Dx + Dy * Dy) Dx = (Dx / Dij) * W(i): Dy = (Dy / Dij) * W(i) stt = GetPoint_Stt(v1, PointsADJ) DS_v(PointsADJ.List(stt)).vX = DS_v(PointsADJ.List(stt)).vX - Dx DS_v(PointsADJ.List(stt)).vY = DS_v(PointsADJ.List(stt)).vY - Dy stt = GetPoint_Stt(v2, PointsADJ) DS_v(PointsADJ.List(stt)).vX = DS_v(PointsADJ.List(stt)).vX + Dx DS_v(PointsADJ.List(stt)).vY = DS_v(PointsADJ.List(stt)).vY + Dy End If Next i End Sub 135 -Public Sub GiaiHePT(r() As Double, b() As Double, N As Long) Dim i As Long, j As Long, k As Long Dim temp As Double ' Khử xuôi For i = To N For j = i + To N r(i, j) = r(i, j) / r(i, i) Next j b(i) = b(i) / r(i, i) For k = i + To N For j = i + To N r(k, j) = r(k, j) - r(i, j) * r(k, i) Next j b(k) = b(k) - b(i) * r(k, i) Next k Next i ' Tính nghiệm For i = N To Step -1 temp = For j = i + To N temp = temp + r(i, j) * b(j) Next j b(i) = b(i) - temp Next i End Sub -Phụ lục Xử lý đối tượng cung tròn Private Type ARC_2D rX1 As Double rY1 As Double rR1 As Double rStart1 As Double 'Quay nguoc chieu kim dong ho rEnd1 As Double 136 End Type Dim DS_Arcs() As ARC_2D, ArcsCount As Long -Private Sub AddArc(rX1 As Double, rY1 As Double, rR1 As Double, rStart1 As Double, rEnd1 As Double) ArcsCount = ArcsCount + ReDim Preserve DS_Arcs(ArcsCount) DS_Arcs(ArcsCount).rX1 = rX1 DS_Arcs(ArcsCount).rY1 = rY1 DS_Arcs(ArcsCount).rR1 = rR1 DS_Arcs(ArcsCount).rStart1 = rStart1 DS_Arcs(ArcsCount).rEnd1 = rEnd1 AddEnt TP_ARC, ArcsCount End Sub -Function ARC_DXF() ArcsCount = ArcsCount + ReDim Preserve DS_Arcs(ArcsCount) Do Line Input #4, Textcode Line Input #4, Textvalue Select Case Trim(UCase(Textcode)) Case "10" DS_Arcs(ArcsCount).rX1 = Val(Textvalue) Case "20" DS_Arcs(ArcsCount).rY1 = Val(Textvalue) Case "40" DS_Arcs(ArcsCount).rR1 = Val(Textvalue) Case "50" DS_Arcs(ArcsCount).rStart1 = Rad(Val(Textvalue)) Case "51" DS_Arcs(ArcsCount).rEnd1 = Rad(Val(Textvalue)) rX1 = DS_Arcs(ArcsCount).rX1 rY1 = DS_Arcs(ArcsCount).rY1 137 rR1 = DS_Arcs(ArcsCount).rR1 rStart1 = DS_Arcs(ArcsCount).rStart1 rEnd1 = DS_Arcs(ArcsCount).rEnd1 AddArc rX1, rY1, rR1, rStart1, rEnd1 Exit Do End Select Loop End Function Private Sub Arc_3P(ByVal vX1 As Long, ByVal vY1 As Long, ByVal vXm As Long, ByVal vYm As Long, ByVal vX2 As Long, ByVal vY2 As Long, _ vXc As Long, vYc As Long, vRc As Long, Optional rStartC, Optional rEndC) Dim rBeta As Double, vR1 As Double, rAngle As Double, CosrA As Double, SinrA As Double Dim vR2 As Double, vR3 As Double If vCcw(vX1, vY1, vXm, vYm, vX2, vY2) = Then vXc = vX1: vYc = vY1 vX1 = vX2: vY1 = vY2 vX2 = vXc: vY2 = vYc End If vR1 = Sqr((vX2 - vX1) * (vX2 - vX1) + (vY2 - vY1) * (vY2 - vY1)) vR2 = Sqr((vXm - vX2) * (vXm - vX2) + (vYm - vY2) * (vYm - vY2)) vR3 = Sqr((vXm - vX1) * (vXm - vX1) + (vYm - vY1) * (vYm - vY1)) If vR2 = Then Exit Sub: If vR3 = Then Exit Sub CosrA = 0.5 * (vR2 * vR2 + vR3 * vR3 - vR1 * vR1) / (vR2 * vR3) SinrA = Sqr(1 - CosrA * CosrA) rAngle = Atan2(SinrA, CosrA) rAngle = * (Pi - rAngle) rBeta = Atan2(vY1 - vY2, vX2 - vX1) If Sin(0.5 * rAngle) Then vRc = 0.5 * vR1 / Sin(0.5 * rAngle) Else vRc = 32000 138 End If rAngle = 0.5 * (Pi - rAngle) rBeta = rBeta - rAngle + Pi vXc = vX2 + vRc * Cos(rBeta) vYc = vY2 - vRc * Sin(rBeta) If IsMissing(rStartC) And IsMissing(rEndC) Then PicView.Circle (vXc, vYc), vRc Else rStartC = Atan2(vYc - vY1, vX1 - vXc) rEndC = Atan2(vYc - vY2, vX2 - vXc) PicView.Circle (vXc, vYc), vRc, , rStartC, rEndC End If End Sub -Private Sub Arc_SEA(ByVal vX1 As Long, ByVal vY1 As Long, ByVal vX2 As Long, ByVal vY2 As Long, ByVal rAngle As Double, _ vXc As Long, vYc As Long, vRc As Long, Optional rStartC As Double, Optional rEndC As Double) Dim rBeta As Double, vR1 As Double rBeta = Atan2(vY1 - vY2, vX2 - vX1) vR1 = Sqr((vX2 - vX1) * (vX2 - vX1) + (vY2 - vY1) * (vY2 - vY1)) If Sin(0.5 * rAngle) Then vRc = 0.5 * vR1 / Sin(0.5 * rAngle) Else vRc = 32000 End If rAngle = 0.5 * (Pi - rAngle) rBeta = rBeta - rAngle + Pi vXc = vX2 + vRc * Cos(rBeta) vYc = vY2 - vRc * Sin(rBeta) rStartC = Atan2(vYc - vY1, vX1 - vXc) rEndC = Atan2(vYc - vY2, vX2 - vXc) PicView.Circle (vXc, vYc), vRc, , rStartC, rEndC End Sub 139 -Private Function Arc_SED(ByVal vX1 As Long, ByVal vY1 As Long, ByVal vX2 As Long, ByVal vY2 As Long, ByVal rDirection As Double, _ vXc As Long, vYc As Long, vRc As Long, Optional rStartC As Double, Optional rEndC As Double) As Long Dim rBeta As Double, vR1 As Double, rAngle As Double rBeta = Atan2(vY1 - vY2, vX2 - vX1) rAngle = * (rBeta - rDirection) vR1 = Sqr((vX2 - vX1) * (vX2 - vX1) + (vY2 - vY1) * (vY2 - vY1)) If Abs(Sin(0.5 * rAngle)) > 0.000016 * vR1 Then '???? vRc = 0.5 * vR1 / Sin(0.5 * rAngle) Else vRc = 32000 End If rAngle = 0.5 * (Pi - rAngle) rBeta = rBeta - rAngle + Pi vXc = vX2 + vRc * Cos(rBeta) vYc = vY2 - vRc * Sin(rBeta) If vRc > Then rStartC = Atan2(vYc - vY1, vX1 - vXc) rEndC = Atan2(vYc - vY2, vX2 - vXc) Arc_SED = Else vRc = -vRc rEndC = Atan2(vYc - vY1, vX1 - vXc) rStartC = Atan2(vYc - vY2, vX2 - vXc) Arc_SED = -1 End If PicView.Circle (vXc, vYc), vRc, , rStartC, rEndC End Function -Private Sub Arc_SER(ByVal vX1 As Long, ByVal vY1 As Long, ByVal vX2 As Long, ByVal vY2 As Long, ByVal vRc As Long, _ 140 vXc As Long, vYc As Long, Optional rStartC As Double, Optional rEndC As Double) Dim rBeta As Double, rAngle As Double, SinrA_2 As Double, CosrA_2 As Double, vR1 As Long rBeta = Atan2(vY1 - vY2, vX2 - vX1) vR1 = Sqr((vX2 - vX1) * (vX2 - vX1) + (vY2 - vY1) * (vY2 - vY1)) SinrA_2 = 0.5 * vR1 / vRc: CosrA_2 = Sqr(1 - SinrA_2 * SinrA_2) rAngle = * Atan2(SinrA_2, CosrA_2) rAngle = 0.5 * (Pi - rAngle) rBeta = rBeta - rAngle + Pi vXc = vX2 + vRc * Cos(rBeta) vYc = vY2 - vRc * Sin(rBeta) rStartC = Atan2(vYc - vY1, vX1 - vXc) rEndC = Atan2(vYc - vY2, vX2 - vXc) PicView.Circle (vXc, vYc), vRc, , rStartC, rEndC End Sub -Private Sub GetQuadrantArcMinMax(Ac As ARC_2D) Dim rEnd1 As Double With Ac If rStart1 < rEnd1 Then rEnd1 = rEnd1 If Pi_2 > rStart1 And Pi_2 < rEnd1 Then If rYmax < rY1 + rR1 Then rYmax = rY1 + rR1 End If If Pi > rStart1 And Pi < rEnd1 Then If rXmin > rX1 - rR1 Then rXmin = rX1 - rR1 End If If * Pi_2 > rStart1 And * Pi_2 < rEnd1 Then If rYmin > rY1 - rR1 Then rYmin = rY1 - rR1 End If Else rEnd1 = rEnd1 + Pi2 If Pi_2 > rStart1 Then 141 If rYmax < rY1 + rR1 Then rYmax = rY1 + rR1 Else If Pi_2 < rEnd1 Then If rYmax < rY1 + rR1 Then rYmax = rY1 + rR1 End If End If If Pi > rStart1 Then If rXmin > rX1 - rR1 Then rXmin = rX1 - rR1 Else If Pi < rEnd1 Then If rXmin > rX1 - rR1 Then rXmin = rX1 - rR1 End If End If If * Pi_2 > rStart1 Then If rYmin > rY1 - rR1 Then rYmin = rY1 - rR1 Else If * Pi_2 < rEnd1 Then If rYmin > rY1 - rR1 Then rYmin = rY1 - rR1 End If End If If Pi2 > rStart1 And Pi2 < rEnd1 Then If rXmax < rX1 + rR1 Then rXmax = rX1 + rR1 End If End If End With End Sub [...]... cập nhật biến động đất đai 2 Đề xuất cấu trúc cơ sở dữ liệu địa chính phù hợp thực tế các bài toán cập nhật biến động đất đai ở Việt Nam 3 Thành lập phần mềm xây dựng cơ sở dữ liệu địa chính và cập nhật biến động đất đai 5 10 Kết cấu của luận án Luận án được chia thành các phần gồm: Mở đầu Chương 1 Tổng quan Chương 2 Nghiên cứu thiết kế cấu trúc cơ sở dữ liệu địa chính phù hợp với điều kiện ở Việt Nam. .. đích nghiên cứu của luận án - Nghiên cứu cấu trúc, đặc điểm của thửa đất và cơ sở dữ liệu địa chính để lựa chọn giải pháp tối ưu để hiệu chỉnh thửa đất khi cập nhật biến động đất đai; - Thiết kế cấu trúc dữ liệu địa chính phù hợp phục vụ công tác cập nhật và xây dựng cơ sở dữ liệu địa chính; - Nghiên cứu các phương pháp và xây dựng bộ công cụ hỗ trợ giải quyết một số bài toán cập nhật biến động đất đai. .. đất đai ở Việt Nam 3 Đối tượng nghiên cứu - Cấu trúc, đặc điểm của thửa đất; - Cơ sở dữ liệu địa chính; - Các bài toán biến động đất đai ở Việt Nam 3 4 Phạm vi nghiên cứu Luận án nghiên cứu cấu trúc CSDL địa chính, các bài toán cập nhật biến động về dữ liệu không gian ở Việt Nam 5 Nội dung nghiên cứu - Đặc điểm, cấu trúc thửa đất; - Phép chuyển đổi tọa độ và các phương pháp hiệu chỉnh thửa đất; - Các... lưu trữ dữ liệu không gian và thuộc tính đồng bộ, giải quyết các bài toán giữa nhu cầu quản lý, sử dụng, đảm bảo tính đầy đủ, tính liên kết và độ chính xác của dữ liệu địa chính, cung cấp thông tin địa chính, đáp ứng được công tác cập nhật biến động về không gian và thuộc tính Từ những lý do trên đặt ra vấn đề nghiên cứu cơ sở dữ liệu địa chính và bài toán cập nhật biến động đất đai ở Việt Nam là rất... dựng dữ liệu để đưa vào mô đun xử lý rất phức tạp, cần nhiều thao thác Ở Việt Nam bản đồ và dữ liệu địa chính có đặc thù riêng do đó áp dụng mô đun này để xử lý cập nhật biến động đất đai ở Việt Nam là ít tính khả thi và phù hợp 1.2 Trong nước 1.2.1 Tổng quan về công tác xây dựng cơ sở dữ liệu địa chính 14 1.2.1.1 Các khái niệm - Dữ liệu địa chính: là dữ liệu không gian địa chính, dữ liệu thuộc tính địa. .. chưa cập nhật được dữ liệu không gian khi biến động đất đai, đo đạc chỉnh lý vào hệ thống CSDL địa chính hiện tại Cũng chính vì lý do đó nên luôn tồn tại hai loại dữ liệu song song và không gắn kết được với nhau đó là bản đồ địa chính và CSDL địa chính 1.2.2 Công tác cập nhật biến động đất đai 1.2.2.1 Các dạng biến động đất đai Căn cứ vào đặc trưng biến động đất đai, chia làm hai dạng biến động chính: ... địa chính và các dữ liệu khác có liên quan - Cơ sở dữ liệu địa chính: là tập hợp thông tin có cấu trúc của dữ liệu địa chính - Dữ liệu không gian địa chính: là dữ liệu về vị trí, hình thể của thửa đất, nhà ở và tài sản khác gắn liền với đất; dữ liệu về hệ thống thủy văn, hệ thống thủy lợi; hệ thống đường giao thông; dữ liệu về điểm khống chế; dữ liệu về biên giới, địa giới; dữ liệu về địa danh và ghi... đất; dữ liệu thuộc tính về thửa đất, nhà ở và tài sản khác gắn liền với đất; dữ liệu về tình trạng sử dụng của thửa đất, nhà ở và tài sản khác gắn liền với đất; dữ liệu về quyền và nghĩa vụ trong sử dụng đất, sở hữu nhà ở và tài sản khác gắn liền với đất; dữ liệu giao dịch về đất đai, nhà ở và tài sản khác gắn liền với đất - Siêu dữ liệu (metadata): là các thông tin mô tả về dữ liệu - Cấu trúc dữ liệu: ... xây dựng cơ sở dữ liệu địa chính ở Việt Nam Đo đạc lập bản đồ địa chính - Lưới tọa độ địa chính - Kết quả đo đạc - Bản đồ địa chính - Thống kê diện tích - Bản mô tả ranh giới thửa đất - Sổ mục kê tạm Xây dựng hồ sơ địa chính - Đăng ký cấp GCNQSDĐ - Lập sổ địa chính - Lập sổ mục kê - Lập sổ cấp GCNQSDĐ - Lập sổ đăng ký biến động Xây dựng cơ sở dữ liệu địa chính Xây dựng theo chuẩn dữ liệu địa chính gồm:... gồm: - Nhóm dữ liệu về người - Nhóm dữ liệu về giao thông - Nhóm dữ liệu về thửa đất - Nhóm dữ liệu về thủy hệ - Nhóm dữ liệu về tài sản gắn liền với đất - Nhóm dữ liệu về quyền - Nhóm dữ liệu về kinh tế đất đai - Nhóm dữ liệu về biên giới, địa giới - Nhóm dữ liệu địa danh - Nhóm dữ liệu về ghi chú điểm khống chế tọa độ và độ cao, quy hoạch Hình 1.4 Quy trình xây dựng cơ sở dữ liệu địa chính 20 1.2.1.5 ...BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC MỎ - ĐỊA CHẤT ĐINH HẢI NAM NGHIÊN CỨU CƠ SỞ DỮ LIỆU ĐỊA CHÍNH VÀ BÀI TOÁN CẬP NHẬT BIẾN ĐỘNG ĐẤT ĐAI Ở VIỆT NAM Ngành : Kỹ thuật Trắc địa - Bản đồ Mã... địa chính, đáp ứng công tác cập nhật biến động không gian thuộc tính Từ lý đặt vấn đề nghiên cứu sở liệu địa toán cập nhật biến động đất đai Việt Nam cần thiết Mục đích nghiên cứu luận án - Nghiên. .. dựng sở liệu địa 13 1.2.2 Công tác cập nhật biến động đất đai 22 CHƯƠNG NGHIÊN CỨU THIẾT KẾ CẤU TRÚC CƠ SỞ DỮ LIỆU ĐỊA CHÍNH PHÙ HỢP VỚI ĐIỀU KIỆN Ở VIỆT NAM 26 2.1 Xây dựng cấu trúc liệu

Ngày đăng: 29/10/2015, 15:35

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan