1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứng dụng quy trình không gian để phân vùng quản lý đối tương không gian dạng điểm

111 10 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 111
Dung lượng 1,78 MB

Nội dung

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA NGÔ VĂN DINH Đề tài: ỨNG DỤNG QUY TRÌNH KHƠNG GIAN ĐỂ PHÂN VÙNG QUẢN LÝ ĐỐI TƯỢNG KHÔNG GIAN DẠNG ĐIỂM Chuyên ngành: Mã số ngành: Hệ thống thông tin địa lý (GIS) 2.15.04 LUẬN VĂN THẠC SĨ - Tp Hồ Chí Minh, tháng 12 năm 2006 - -1- CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH Cán hướng dẫn khoa học: PGS TS Trần Vĩnh Phước Cán chấm nhận xét 1: TSKH Trần Trọng Khuê Cán chấm nhận xét 2: TS Đặng Văn Vinh Luận văn thạc sĩ bảo vệ Hội đồng chấm bảo vệ luận văn thạc sĩ Trường Đại học Bách khoa, ngày 22 tháng 01 năm 2007 -2TRƯỜNG ĐẠI HỌC BÁCH KHOA CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM PHÒNG ĐÀO TẠO SĐH Độc lập - Tự - Hạnh phúc Tp Hồ Chí Minh, ngày 23 tháng 10 năm 2006 NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: Ngô Văn Dinh Phái: Nam Ngày, tháng, năm sinh: 28/06/1957 Nơi sinh: Nghệ An Chuyên ngành: Hệ thống thông tin địa lý MSHV: 01004271 Tên đề tài: Ứng dụng quy trình khơng gian để phân vùng quản lý đối tượng không gian dạng điểm Nhiệm vụ nội dung: 2.1 Nghiên cứu phân tích khơng gian - Đối tượng khơng gian - Mơ hình hố vấn đề khơng gian - Phân loại mơ hình khơng gian - Dữ liệu khơng gian - Vai trị phân tích khơng gian - Chức phân tích khơng gian 2.2 Xây dựng quy trình khơng gian - Khái niệm quy trình - Quy trình xây dựng mơ hình ý niệm để giải tốn khơng gian - Xây dựng quy trình - Sử dụng mơ hình ý niệm để xây dựng đồ thích hợp 2.3 Giải toán phân vùng - Giới thiệu sơ lược địa phương thực toán - Chia nhỏ toán - Các bước giải toán -33 Ngày giao nhiệm vụ: 22/02/2006 Ngày hoàn thành nhiệm vụ: 22/10/2006 Cán hướng dẫn: PGS TS Trần Vĩnh Phước Cán hướng dẫn Chủ nhiệm ngành Chủ nhiệm môn quản lý ngành chuyên ngành Nội dung đề cương luận văn thạc sĩ Hội đồng chuyên ngành thơng qua Ngày TRƯỞNG PHỊNG ĐT-SĐH tháng năm 2007 TRƯỞNG KHOA QUẢN LÝ NGÀNH -4- LỜI CẢM ƠN Trong trình học cao học ngành hệ thống thơng tin địa lý, khoá 15 năm học 2004 - 2006 Trường Đại học Bách khoa thành phố Hồ Chí Minh đặc biệt thời gian thực luận văn, nhận hướng dẫn, đóng góp nhiệt tình nội dung khoa học luận văn từ nhà khoa học: - PGS TS Trần Vĩnh Phước, nguyên Giám đốc Trung tâm công nghệ thông tin địa lý, trường Đại học Bách khoa Tp Hồ Chí Minh (DATAGIS), Phó hiệu trưởng trường Đại học cơng nghệ thơng tin Tp Hồ Chí Minh - TS Nguyễn Lương Bách giảng dạy Thái Lan Ngoài tơi nhận giúp đỡ nhiệt tình cán Trung tâm công nghệ thông tin địa lý, trường Đại học Bách khoa Tp Hồ Chí Minh từ nhiều học viên lớp GIS khoá 15 Với hướng dẫn, giúp đỡ nhiệt tình tinh thần khoa học nghiêm túc, cộng với nỗ lực thân điều kiện vừa học tập, nghiên cứu vừa phải hồn thành cơng việc người cơng chức, tơi cố gắng hồn thành luận văn cao học ngành hệ thống thông tin địa lý Cho phép tơi bày tỏ lịng biết ơn chân thành tới nhà khoa học, giáo viên bạn học giúp tơi hồn thành luận văn -5- TĨM TẮT LUẬN VĂN THẠC SĨ Phân tích không gian công cụ giúp phát hiểu biết quan hệ không gian liệu qua việc truy xuất, truy vấn kết hợp liệu để tạo thành sản phẩm đầu cuối Phân tích khơng gian chủ yếu sử dụng mơ hình liệu dạng raster, bên cạnh liệu dạng vector phần mềm GIS thường có thêm chức phân tích khơng gian với tập hợp cơng cụ giải nhiều vấn đề có liên quan đến yếu tố không gian thực tế Trên sở tìm hiểu, nghiên cứu mơ hình biểu diễn khơng gian, phân tích khơng gian, đề tài đặt nhiệm vụ ứng dụng quy trình khơng gian để giải tốn thực tế, xây dựng quy trình thể bước giải tốn khơng gian, gồm: Phát biểu toán Chia nhỏ toán Khảo sát liệu đầu vào Thực phân tích khơng gian Thực thi kết Kiểm tra kết mơ hình Kết đề tài đề xuất quy trình phân vùng quản lý đối tượng khơng gian dạng điểm cơng cụ phân tích khơng gian áp dụng cụ thể vào thực tế xác định vùng thích hợp để xây dựng trường học mới, thoả mãn điều kiện đặt địa phương thuộc tỉnh Bình Dương -6- MỤC LỤC Trang Chương Mở đầu 1.1 Đặt vấn đề - lý thực đề tài 1.2 Giải thích thuật ngữ 12 12 14 1.3 Tổng quan tình hình nghiên cứu có liên quan 14 1.4 Mục tiêu đề tài 15 1.5 Phương pháp nghiên cứu 15 1.6 Kỹ thuật sử dụng 15 1.7 Nhiệm vụ đề tài 16 Chương Phân tích khơng gian 17 2.1 Đối tượng không gian 2.1.1 Đối tượng dạng điểm 2.1.2 Đối tượng dạng đường 2.1.3 Đối tượng dạng vùng 17 17 17 18 19 19 2.2 Mơ hình hố vấn đề khơng gian 2.2.1 Khái niệm mơ hình hố 2.2.2 Mơ hình khơng gian 20 2.3 Phân loại mơ hình khơng gian 21 2.3.1 Mơ hình biểu diễn 22 2.3.2 Mơ hình xử lý 2.4 Dữ liệu khơng gian 2.4.1 Mơ hình raster 22 23 23 2.4.2 Mơ hình vector 26 2.4.3 Theme ô lưới 28 2.5 Vai trị phân tích khơng gian 28 29 29 2.6 Chức phân tích khơng gian 2.6.1 Tính khoảng cách -72.6.1.1 Bản đồ khoảng cách 29 2.6.1.2 Bản đồ lân cận 30 2.6.1.3 Bản đồ khoảng cách trọng số 31 2.6.2 Chức tính mật độ 32 2.6.3 Chức cục 33 2.6.3.1 Phân lại lớp 33 2.6.3.2 Lựa chọn 2.6.3.3 Phân tích lân cận 2.6.4 Các hàm toán tử toán học 34 35 35 36 2.6.4.1 Toán tử toán học 2.6.4.2 Hàm toán học 34 2.6.5 Chức truy vấn đồ (Map Query) 37 2.6.6 Chức tính tốn đồ (Map Calculator) 38 2.6.7 Đại số đồ 38 Chương Xây dựng quy trình khơng gian 41 3.1 Khái niệm quy trình 41 3.2 Xây dựng mơ hình ý niệm để giải tốn khơng gian 41 3.2.1 Quy trình xây dựng mơ hình ý niệm 3.2.2 Sơ đồ quy trình xây dựng mơ hình ý niệm 3.3 Xây dựng quy trình 41 43 45 3.3.1 Phát biểu toán 45 3.3.2: Chia nhỏ toán 3.3.3 Thiết lập liệu toán 3.3.4 Thực phân tích khơng gian 46 47 48 3.3.5 Kiểm tra mơ hình 49 3.3.6 Thực thi mơ hình 51 51 3.4 Sử dụng mơ hình ý niệm để xây dựng đồ thích hợp 3.4.1 Đặt tốn 50 3.4.2 Chia nhỏ toán 51 -83.4.3 Khảo sát liệu đầu vào 52 3.4.4 Thực phân tích 3.4.4.1 Tạo đồ thích hợp 3.4.4.2 Tạo thang đo thích hợp 3.4.4.3 Phân hạng khoảng cách từ trường học có 3.4.4.4 Phân hạng mật độ học sinh 53 53 53 54 55 3.4.4.5 Phân hạng yếu tố kinh tế - xã hội 56 3.4.4.6 Kết hợp đồ thích hợp 57 3.4.4.7 Truy vấn liệu 58 3.4.5 Thực kết 58 3.4.6 Kiểm tra kết mơ hình Chương Giải toán phân vùng 4.1 Bước 1: Phát biểu toán 58 59 59 4.2 Bước 2: Chia nhỏ toán 60 4.2.1 Xác định số học sinh 4.2.2 Xa trường có 61 61 4.2.3 Điều kiện kinh tế xã hội vùng xây dựng trường học 62 63 63 4.3 Bước 3: Thiết lập liệu tốn 4.3.1 Thành lập đồ địa hình 4.3.2 Tạo liệu khơng gian thuộc tính tốn 65 4.4 Bước 4: Thực phân tích 67 4.4.1 Phương pháp truy vấn đồ 69 4.4.1.1 Tính khoảng cách từ ấp tới trường học gần 69 4.4.1.2 Tính mật độ học sinh vùng tập trung dân cư 4.4.1.3 Chuyển đổi liệu sang dạng raster 69 70 4.4.2 Phương pháp kết hợp đồ thích hợp 70 4.4.2.1 Tạo đồ khoảng cách thích hợp 70 4.4.2.2 Tạo đồ mật độ học sinh thích hợp 71 4.4.2.3 Phân lớp theme ô lưới biểu diễn điều kiện kinh tế - xã hội -9của ấp 4.5 Bước 5: Thực mơ hình 4.5.1 Tạo vùng thích hợp phương pháp truy vấn đồ 72 72 72 4.5.2 Kết hợp đồ thích hợp để xác định vùng quy hoạch xây dựng trường học 74 4.5.3 So sánh hai phương pháp truy vấn đồ kết hợp đồ thích hợp 75 4.6 Bước 6: Kiểm tra mơ hình 77 Chương Kết luận 78 5.1 Kết đạt 78 78 79 80 5.2 Hướng mở rộng đề tài Danh mục tài liệu tham khảo Phần phụ lục Chương Phân tích không gian phân phối dạng điểm Chương Cấu trúc liệu quy trình phân tích khơng gian 81 92 - 96 2.2.1.1 Đặc tả: (1) Tạo đối tượng điểm: Point.Make (vX, vY) ‘vX giá trị tọa độ điểm X, vY giá trị tọa độ điểm Y (2) Lấy giá trị đối tượng điểm (aPoint): aPoint.GetX aPoint.GetY (3) Gán giá trị tọa độ X, Y cho đối tượng điểm (aPoint): aPoint.SetX(vX) aPoint.SetY(vY) ‘vX giá trị tọa độ điểm X, vY giá trị tọa độ điểm Y 2.2.1.2 Định dạng cấu trúc đối tượng điểm: Point x, y [Symbol (shape, color, size)] 2.2.2 Đối tượng đường: Đường (polyline) xây dựng từ cung (arc) nối nhiều điểm có tọa độ xác định Shape ID Loại … Polyline TN … Polyline SD … Polyline DN … Hình phụ lục 2.3 Đối tượng đường 2.2.2.1 Đặc tả: (1) Tạo đối tượng cung: Line.Make (pstart, pend) ‘pstart: điểm đầu cung - 97 'pend: điểm cuối cung (2) Tạo đối tượng đường: Polyline.Make ({p1.x@p1.y, p2.x@p2.y, p3.x@p3.y, p4.x@p4.y}, {p5.x@p5.y, p4.x@p4.y, p1.x@p1.y, p2.x@p2.y}) 2.2.2.2 Định dạng cấu trúc đối tượng đường: Line x1,y1, x2,y2 [Pen (width, pattern, color)] PolyLine [Multiple numsections] [numpst1 x1,y2 x2, y2 …] [numpst2 x1,y2 x2, y2 …] [Pen (width, pattern, color)] [Smooth] 2.2.3 Đối tượng vùng Vùng có sở hình học đa giác (polygon) xác định tính chất đặc trưng vùng như: hình dáng, tính lân cận, phân cấp … theo tính chất khơng gian I II III IV Shape ID Loại … Polygon I TH … Polygon II TC … Polygon III CN … Polygon IV MN … Hình phụ lục 2.4 Đối tượng vùng - 98 2.2.3.1 Đặc tả: (1) Tạo đối tượng vùng: Polygon.Make ({p1.x@p1.y, p2.x@p2.y, p3.x@p3.y, p4.x@p4.y}, {p2.x@p2.y, p4.x@p4.y, p5.x@p5.y, p0.x@p0.y}) (2) Lấy giá trị điểm trọng tâm đối tượng vùng: aPolygon.ReturnCenter 2.2.3.2 Định dạng cấu trúc đối tượng vùng: Polygon numpolygons [numpst1 x1,y2 x2,y2 …] [numpst2 x1,y2 x2, y2 …] [Pen (width, pattern, color] [Brush (pattern, forcecolor, backcolor)] [Center (x,y)] 2.3 Mối quan hệ đối tượng hình học: 2.3.1 Giao: Xác định đối tượng lớp liệu có giao với đối tượng khác lớp liệu (hoặc đối tượng khác lớp liệu khác) hay không Đặc tả: (1) Xác định giao đối tượng điểm đối tượng vùng: t = aPoint.Intersection (aPolygon) t = True, đối tượng điểm (aPoint) giao với đối tượng vùng (aPolygon) t = False, đối tượng điểm (aPoint) không giao với đối tượng vùng (aPolygon) - 99 (2) Xác định giao đối tượng đường đối tượng vùng (2.1) t = aPolyline.Intersection(aPolygon) t = True, đối tượng đường (aPolyline) giao với đối tượng vùng (aPolygon) t = False, đối tượng đường (aPolyline) không giao với đối tượng vùng (aPolygon) (2.2) Lấy giá trị đối tượng điểm giao với đối tượng vùng: aPolyline.PointIntersection (aPolygon) (2.3) Lấy giá trị đối tượng đường giao với đối tượng vùng: aPolyline.PolylineIntersection (aPolygon) (3) Xác định giao đối tượng vùng đối tượng vùng (3.1) t = aPolygon.Intersection(aPolygon) t = True, đối tượng vùng (aPolygon) giao với đối tượng vùng (aPolygon) t = False, đối tượng vùng (aPolygon) không giao với đối tượng vùng (aPolygon) (3.2) Lấy giá trị đối tượng điểm giao với đối tượng vùng: aPolygon.PointIntersection (aPolygon) (3.3) Lấy giá trị đối tượng đường giao với đối tượng vùng: aPolygon.PolylineIntersection (aPolygon) (3.4) Lấy giá trị đối tượng vùng giao với đối tượng vùng: aPolygon.ReturnIntersection (aPolygon) 2.3.2 Chứa trong: Xác định đối tượng lớp liệu có chứa với đối tượng lớp liệu (hoặc đối tượng khác lớp liệu khác) hay không (1) Xác định đối tượng điểm chứa với đối tượng vùng: t = aPolygon.Contains (aPoint) t = True, đối tượng điểm (aPoint) chứa với đối tượng vùng (aPolygon) t = False, đối tượng điểm (aPoint) không chứa với đối tượng vùng (aPolygon) - 100 (2) Xác định đối tượng đường chứa với đối tượng vùng: t = aPolygon.Contains (aPolyline) t = True, đối tượng đường (aPolyline) chứa với đối tượng vùng (aPolygon) t = False, đối tượng đường (aPolyline) không chứa với đối tượng vùng (aPolygon) (3) Xác định đối tượng vùng chứa với đối tượng vùng: t = aPolygon.Contains (aPolygon) t = True, đối tượng vùng (aPolygon) chứa với đối tượng vùng (aPolygon) t = False, đối tượng vùng (aPolyline) không chứa với đối tượng vùng (aPolygon) 2.3.3 Lân cận: (1) Xác định số đối tượng đường lớp liệu với đối tượng điểm lớp liệu (hoặc đối tượng điểm lớp liệu khác) theo khoảng cách định aPolyline.QueryPointDistance (aPoint, aDistance) (2) Xác định khoảng cách từ đối tượng (aShape: aPoint, aPolyline, aPolygon) đến đối tượng khác (anotherShape: aPoint, aPolyline, aPolygon) aShape.Distance (anotherShape) 2.4 Các phép toán: 2.4.1 Phép chọn: Gồm phương pháp chọn (SelType) sau: Chọn mới: (#VTab_SelType_New): Chọn tập đối tượng huỷ bỏ đối tượng lựa chọn trước Chọn gộp: (#VTab_SelType_Or): Chọn tập đối tượng kết hợp với đối tượng lựa chọn trước Chọn tách: (#VTab_SelType_And): Chọn tập đối tượng từ tập đối tượng lựa chọn trước - 101 2.4.1.1 Chọn từ đối tượng điểm (aPoint): Chọn tập đối tượng từ lớp liệu (theTheme) gần với đối tượng điểm (aPoint) theo khoảng cách ước lượng (aTolerance) tuỳ theo phương pháp chọn (aSelType): theThame.GetFTab.SelectByPoint (aPoint, aTolerance, aSelType) 2.4.1.2 Chọn từ đối tượng đường (aPolyline): Chọn tập đối tượng từ lớp liệu (theTheme) giao với đối tượng đường (aPolyline) tuỳ theo phương pháp chọn (aSelType): theThame.GetFTab.SelectByPolyline (aPolyline, aSelType) 2.4.1.3 Chọn từ đối tượng vùng (aPolygon): Chọn tập đối tượng từ lớp liệu (theTheme) chứa đối tượng vùng (aPolygon) tuỳ theo phương pháp chọn (aSelType): theThame.GetFTab.SelectByPolygon (aPolygon, aSelType) 2.4.1.4 Chọn theo quan hệ không gian: Chọn đối tượng từ lớp liệu (aTheme1) với lớp liệu khác (anotherTheme) theo quan hệ không gian (aReltype) khoảng cách ước lượng (aDistance) ứng với phương pháp chọn (aSelType) aTheme1.SelectByTheme (anotherTheme, aReltype, aDistance, aSelType) Các quan hệ không gian: Phần giao đối tượng: (#FTab_Reltype_Intersects) Phần đối tượng: (#FTab_Reltype_CompletelyContains) Phần có chứa trọng tâm đối tượng: (#FTab_Reltype_Containsthecenterof) Phần có chứa biên đối tượng: (#FTab_Reltype_Iscompletelywithin) Phần biên đối tượng có chứa tâm đối tượng kia: (#FTab_Reltype_Hascenterwithin) Các đối tượng có ước lượng khoảng cách: (#FTab_Reltype_Iswithindistanceof) 2.4.2 Phép tạo mới: 2.4.2.1 Tạo đối tượng: - Tạo đối tượng điểm (aPoint): - 102 aPoint = Point.Make (vX,vY) ‘Vx giá trị tọa độ điểm X, Vy giá trị tọa độ điểm Y - Tạo đối tượng đường (aPolyline) aPolyline = Polyline.Make ({p1.x@p1.y, p2.x@p2.y, p3.x@p3.y, p4.x@p4.y, p5.x@p5.y}) 'p2, p3, p4, p5 đối tượng điểm - Tạo đối tượng vùng (aPolygon) aPolygon = Polygon.Make ({p0.x@p0.y, p1.x@p1.y,p1.x@p1.y, p2.x@p2.y, p3.x@p3.y, p4.x@p4.y, p5.x@p5.y, p0.x@p0.y}) ‘p0, p1, p2, p3, p4, p5 đối tượng điểm 2.4.2.2 Tạo lớp đối tượng: Tạo lớp đối tượng (aFileName) có bảng thuộc tính (aFTab) theo lớp đối tượng (aClass: Poin, Polyline, Polygon) aFTab = FTab.Makenew (aFileName, aClass) 2.4.3 Thêm gán giá trị cho đối tượng: 2.4.3.1.Thêm đối tượng: Thêm đối tượng vào bảng liệu (aFTab): rec = aFTab.AddRecord 2.4.3.2 Gán giá trị không gian: Gán giá trị không gian (aValueshp) vào bảng liệu (aFTab): aFTab.SetValue (aFTab.FindField(“Shape”), rec, aValueshp) 2.4.3.3 Gán giá trị thuộc tính: Gán giá trị thuộc tính (aValueAtt) trường liệu (aFieldAtt) bảng liệu (aFTab): AFatb.SetValue(aFatb.FindField(“shape”), rec, aFieldAtt) 2.4.4 Phép loại bỏ: Loại bỏ đối tượng bảng liệu (aFTab) theo thứ tự record (aRecordNumber): aFTab.Removerecord (aRecordNumber) Loại bỏ tập đối tượng lựa chọn (aSelection) bảng liệu (aFTab): aFTab.RemoveRecords (aSelection) - 103 2.4.5 Phép kết hợp: 2.4.5.1 Phép kết hợp theo điều kiện biên: Phép kết hợp theo điều kiện biên cho phép hợp hai đối tượng có xác định biên giá trị thuộc tính thành đối tượng APolygon1.ReturnUnin (aPolygon2) 2.4.5.2 Phép kết hợp không theo điều kiện biên: Phép kết hợp không theo điều kiện biên cho phép hợp hai đối tượng Đối tượng kết hợp có giá trị thuộc tính giá trị thuộc tính đối tượng thứ (aPolygon1) aPolygon1.ReturnUnin (aPolygon2) 2.4.6 Phép giao: Phép giao cho phép lấy phần giao hai đối tượng Đối tượng phần giao có giá trị thuộc tính giá trị mặc định thuộc tính APolygon1.ReturnDifference (aPolygon2) 2.4.7 Phép hiệu: Phép hiệu cho phép lấy phần hai đối tượng Đối tượng phần hiệu có giá trị thuộc tính giá trị mặc định thuộc tính APolygon1.ReturnDifference (aPolygon2) 2.5 Thuật tốn phân tích khơng gian 2.5.1 Tích hợp đối tượng gần có giá trị thuộc tính lớp đối tượng: (1) Dữ kiện nhập: Lớp liệu (ldlnhap) theo định dạng shapefile, chứa đối tượng vùng tham gia tích hợp đối tượng vùng xác định lân cận có giá trị thuộc tính tích hợp (t) (2) Dữ liệu xuất: Lớp liệu kết có định dạng shapeflie, thực tích hợp đối tượng vùng xác định lân cận có giá trị thuộc tính tích hợp (3) Phương pháp thực hiện: - 104 Bước 1: Khởi tạo: ldlmoi = ({}, polygon), aSelection = {} Bước 2: Với đối tượng (đt) lớp liệu nhập, giá trị thuộc tính t thực thêm đối tượng vào tập aSelection aSelection.add(đt) Bước 3: Duyệt qua hết vòng lặp, thực hiện: Ứng với đối tượng vùng a1 tập aSelection tìm đối tượng vùng a2 có tập aSelection (khác với a1): (1) Nếu (a2 xác định điều kiện lân cận a1) - Thực tích hợp a1 a2 Gán đối tượng vừa tích hợp vào adlmoi.hop = a1.union (a2) - Ldlmoi.SetValue(hop) (2) Nếu không, gán a2 vào lớp liệu mới: ldlmoi.SetValue(a2) Bước 4: Duyệt qua hết vòng lặp, thực hiện: Ứng với đối tượng b1 thuộc lớp liệu nhập Ứng với đối tượng b2 thuộc tập aSelection Nếu (b1b2) thực gán giá trị b1 vào lớp liệu mới: Ldlmoi.SetValue(b1) Bước 5: Duyệt qua hết vòng lặp Kết thúc 2.5.2 Tích hợp hai lớp liệu theo biên: (1) Dữ kiện nhập: Chọn hai lớp liệu có định dạng shapefile tham gia tích hợp theo biên (2) Dữ kiện xuất: Lớp liệu kết có định dạng shapeflie, gồm đối tượng thuộc lớp liệu lớp liệu tích hợp theo biên (3) Phương pháp thực hiện: Bước 1: Khởi tạo: ldlmoi = ({}, polygon), aSelection1 = {}, aSelection2 = {} Bước 2: Ứng với đối tượng đt1 thuộc lớp liệu Ứng với đối tượng đt2 thuộc lớp liệu - 105 Nếu (đt1 xác định điều kiện lân cận với đt2): (1) Thực thêm vào aSelection1 giá trị đt1, thêm vào aSelection2 giá trị đt2 aSelection1.add(đt1) aSelection2.add(đt2) (2) Ngược lại gán giá trị đt1, đt2 vào lớp liệu Ldlmoi.SetValue(đt1) Ldlmoi.SetValue(đt2) Bước 3: Duyệt qua hết vòng lặp, thực hiện: Ứng với mỗ đối tượng a1 thuộc aSelection1 Ứng với đối tượng a1 thuộc aSelection2: (1) Nếu (a1a2) (lớp liệu lớp liệu chuẩn): Thực gán giá trị a1 vào lớp liệu mới: Ldlmoi.SetValue(a1) (2) Nếu không, thực gán giá trị a2 vào lớp liệu mới: Ldlmoi.SetValue(a2) Bước 4: Duyệt qua hết vòng lặp Kết thúc 2.5.3 Tích hợp hai liệu theo phần biên lớp liệu thứ hai: (1) Dữ kiện nhập: Chọn hai lớp liệu có định dạng shapefile, lớp liệu tích hợp theo biên lớp liệu (2) Dữ kiện xuất: Lớp liệu kết có định dạng shapefile, gồm đối tượng lớp liệu lớp liệu thực tích hợp theo biên lớp liệu (theo điều kiện lấy phần phần biên) (3) Phương pháp thực hiện: Bước 1: Khởi tạo: ldlmoi = ({}, polygon), aSelection = {}, aboundary {} Bước 2: Ứng với đối tượng đt2 thuộc lớp liệu 2, thêm vào tập aSelection.aSelection.Add(đt) - 106 Bước 3: Duyệt qua hết vòng lặp, thực tích hợp đối tượng thuộc tập aSelection, tạo phần biên aBoundary aBoundary = aSelection.Union Bước 4: Nếu (lấy phần aBoundary), thực hiện: Ứng với đối tượng đt1 thuộc lớp liệu 1: (1) Nếu (đt1 xác định điều kiện chứa aboundary) - Thực gán giá trị đt1 vào lớp liệu mới: Ldlmoi.SetValue(đt1) - Ngược lại, thực chọn phần giao đt1 với phần aboundary gán phần giao vào lớp liệu Phần giao = đt1.returnintersection(aboundary) Ldlmoi.SetValue(phần giao) (2) Nếu (lấy phần aboundary), thực hiện: Ứng với đối tượng đt1 thuộc lớp liệu 1, chọn phần hiệu đt1 với aboundary gán phần hiệu vào lớp liệu mới: Phanhieu = đt1.ReturnDiffernce(aBoundary) Ldlmoi.SetValue(phan hieu) Bước 5: Duyệt qua hết vòng lặp Kết thúc 2.5.4 Tích hợp phần giao hai lớp liệu: (1) Dữ kiện nhập: Chọn hai lớp liệu có định dạng shapefile tham gia tích hợp lấy phần giao hai lớp liệu (2) Dữ kiện xuất: Lớp liệu kết có định dạng shapefile, gồm đối tượng lớp liệu lớp liệu thuộc phần giao lớp liệu lớp liệu (3) Phương pháp thực hiện: Bước 1: Khởi tạo: ldlmoi = ({}, polygon), aSelection = {}, aSelection = {} Bước 2: Loại bỏ đối tượng phạm vi biên lớp liệu lớp - 107 liệu Trong tập đối tượng phạm vi biên lớp liệu biên lớp liệu 2, tạo lập aSelection1 gồm đối tượng thuộc lớp liệu 1, aSelection2 gồm đối tượng thuộc lớp liệu Ứng với đối tượng đt1 thuộc lớp liệu Ứng với đối tượng đt2 thuộc lớp liệu 2: Nếu (đt1 xác định điều kiện chứa đt2) (đt2 xác định điều kiện chứa đt1) (đt1 xác định giao với đt2), thêm vào tập aSelection1 giá trị đt1, thêm vào tập aSelection2 giá trị đt2 aSelection 1.Add(đt1) aSelection 2.Add(đt2) Bước 3: Duyệt qua hết vòng lặp, thực hiện: Ứng với đối tượng a1 thuộc aSelection1 Ứng với đối tượng a2 thuộc aSelection2 (1) Nếu (a1 xác địn điều kiện chứa a2) Thực gán giá trị a1 vào lớp liệu Ldlmoi.SetValue(a1) (2) Ngược lại, thực chọn phần giao a1 với a2 gán phần giao vào lớp liệu phangiao = a1.Intersection(a2) ldlmoi.SetValue(phangiao) Bước 4: Duyệt qua hết vòng lặp, thực hiện: Ứng với đối tượng b1 thuộc aSelection1 Ứng với đối tượng b2 thuộc ldlmoi Nếu (b1 xác định điều kiện giao với b2) Thực chọn đối tượng phần giao gán đối tượng vào lớp liệu Phanngoai = b1.ReturnDifference(b2) Ldlmoi.SetValue(phanngoai) Bước 5: Duyệt qua hết vòng lặp, thực hiện: - 108 Ứng với đối tượng c1 thuộc aSelection Ứng với đối tượng c2 thuộc ldlmoi Nếu (c1 xác định điều kiện giao với c2) Thực chọn đối tượng phần giao gán đối tượng vào lớp liệu Phanngoai = c1.ReturnDifference(c2) Ldlmoi.SetValue(phanngoai) Bước 6: Duyệt qua hết vòng lặp Kết thúc 2.5.5 Tích hợp lấy phần hợp hai liệu: (1) Dữ kiện nhập: Chọn hai lớp liệu có định dạng shapefile tham gia tích hợp lấy phần hợp hai lớp liệu (2) Dữ kiện xuất: Lớp liệu kết có định dạng shapefile gồm đối tượng lớp liệu lớp liệu thuộc phần hợp lớp liệu lớp liệu thuộc phần hợp lớp liệu lớp liệu (3) Phương pháp thực hiện: Bước 1: Khởi tạo: ldlmoi = ({}, polygon), aSelection1 = {}, aSelection2 = {} Bứơc 2: Ứng với đối tượng đt1 thuộc lớp liệu Ứng với đối tượng đt2 thuộc lớp liệu (1) Nếu (dt1 xác định điều kiện chứa dt2) Thực gán giá trị đt1 vào lớp liệi Ldlmoi.SetValue(đt1) (2) Ngược lại, thực chọn phần giao đt1 với đt2 gán phần giao vào lớp liệu Phangiao = đt1.Intersection(đt2) Ldlmoi.SetValue(phangiao) Bước 3: Duyệt qua hết vòng lặp, thực hiện: Ứng với đối tượng a1 thuộc liệu - 109 Ứng với đối tượng a2 thuộc ldlmoi Nếu (a1 xác định điều kiện giao với a2) Thực chọn đối tượng phần giao gán đối tượng vào lớp liệu phanngoai = a1.ReturnDiffernece(a2) Ldlmoi.SetValue(phanngoai) Bước 4: Duyệt qua hết vòng lặp, thực hiện: Ứng với đối tượng b1 thuộc lớp liệu Ứng với đối tượng b2 thuộc ldlmoi Nếu (b1 xác định điều kiện giao với b2) Thực chọn đối tượng phần giao gán đối tượng vào lớp liệu Phanngoai = b1.ReturnDifference(b2) Ldlmoi.SetValue(phanngoai) Bước 5: Duyệt qua hết vòng lặp Kết thúc 2.5.6 Đăng ký liệu theo liên kết gần: (1) Dữ kiện nhập: Nhập lớp liệu có định dạng shapefile, có đối tượng đồ họa điểm đường xác định để đăng ký liệu từ lớp liệu (định dạng shapefile) có đối tượng vùng liên kết theo khoảng cách xác định (2) Dữ kiện xuất: Bảng thuộc tính liên kết giá trị thuộc tính đối tượng lớp liệu theo điều kiện liên kết gần (xác định khoảng cách d) với đối tượng lớp liệu (3) Phương pháp thực hiện: Bước 1: Khởi tạo: bangttmoi = {}, aSelection = {}, aSelection = {} Bứơc 2: Ứng với đối tượng đt1 thuộc lớp liệu Ứng với đối tượng đt2 thuộc lớp liệu Nếu (đt1 xác định điều kiện chứa vòng tròn xác định tâm trọng tâm đt2 có bán kính d) - 110 Thêm dt1 vào aSelection 1: aSelection 1.Add(đt1) Thêm dt1 vào aSelection 2: aSelection 2.Add(đt1) Bước 3: Duyệt qua hết vòng lặp, thực hiện: Ứng với đối tượng a1 thuộc aSelection1 Ứng với đối tượng a2 thuộc aSelection2 Cập nhật giá trị thuộc tính a1 vào bangttmoi bangttmoi.SetValue(a1.returnvalue, rec) Nếu (khoảng cách (a1, a2)

Ngày đăng: 10/02/2021, 22:24

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w