Điều đó làm cho đất đai biến động rất nhiều về thửa đất như diện tích, các thửa giáp ranh của thửa đất, chủ sử dụng đất, chế độ sử dụng đất, loại đất, quyền và nghĩa vụ của người sử dụng
Trang 1Mặc dù đã rất cố gắng song do thời gian và vì lượng kiến thức thực tế còn hạn chế nên trong đồ án của em chắc chắn còn nhiều những thiếu sót
Em rất mong thầy cô giáo cùng các bạn đóng góp ý kiến để em có thể hoàn thiện kiến thức và chương trình của mình hơn nữa
Em xin chân thành cảm ơn!
Hà Nội, tháng 6 năm 2010 Sinh viên thực hiện
Nguyễn Thế Lưu
Trang 2MỤC LỤC
LỜI NÓI ĐẦU
Trang 3Đất đai là nguồn tài nguyên thiên nhiên vô cùng quý giá, có tầm quan trọng rất lớn đối với môi trường sống của con người, là một trong những điều kiện để con người sinh sống và phát triển Ngày nay khi đất nước ngày càng phát triển, quá trình công nghiệp hóa, hiện đại hóa diễn ra càng nhanh thì nhu cầu sử dụng đất của con người thay đổi nhiều, đất đai trở lên quý giá hơn Điều đó làm cho đất đai biến động rất nhiều về thửa đất như diện tích, các thửa giáp ranh của thửa đất, chủ sử dụng đất, chế độ sử dụng đất, loại đất, quyền và nghĩa vụ của người sử dụng đất.
Trước đây để ghi nhận, mô tả và quản lý tài nguyên thiên nhiên, sự phân bố dân cư, phân bố sản xuất, quản lý hệ thống giao thông, hệ thống thông tin liên lạc, hệ thống điện, nước, hệ thống dịch vụ khẩn cấp,…người ta
sử dụng hệ thống bản đồ địa lý, bản đồ chuyên đề vẽ trên giấy cùng các bảng biểu thống kê Khi nền kinh tế xã hội phát triển cao, khối lượng thông tin ngày càng đồ sộ và thực tế đòi hỏi phải phân tích, cung cấp thông tin và cập nhật thông tin hàng ngày thì các phương pháp quản lý thông tin truyền thống không thể đáp ứng được yêu cầu kịp thời Từ đó máy tính số được ứng dụng rộng rãi, công nghệ thông tin ngày càng phát triển mạnh cho phép số hoá các thông tin không gian, mã hoá các thông tin khác, tổ chức lưu trữ một lượng thông tin lớn, nhanh chóng và dễ dàng tổng hợp, phân tích cung cấp và cập nhật thông tin - Hệ thống thông tin địa lý (Geographical information system – GIS) và hệ thống thông tin đất đai (Land Information system – LIS) ra đời
và phát triển
Hệ thống thông tin đất đai quản lý một khối lượng đồ sộ thông tin Cơ
sở dữ liệu của hệ thống thông tin đất đai bao gồm dữ liệu không gian và dữ liệu thuộc tính phục vụ cho việc quản lý và khai thác đất đai như lập bản đồ địa chính, cấp giấy chứng nhận quyền sử dụng đất, lập hồ sơ địa chính, quản
Trang 4thông tin đất đai chỉ có thể là cấu trúc dữ liệu Topo, do vậy cấu trúc dữ liệu Topo cần phải được tìm hiểu và nghiên cứu Xuất phát từ vấn đề quan trọng
đã nêu trên em đã làm đồ án tốt nghiệp với đề tài: “Khảo sát nghiên cứu cấu trúc dữ liệu không gian Topo trong hệ thống thông tin đất đai”
Nội dung đồ án tốt nghiệp bao gồm 4 chương:
Chương 1: Hệ thống thông tin đất đai
Chương 2: Thiết kế giao diện và xây dựng các đối tượng đồ họa cơ sở
Chương 3: Cơ sở dữ liệu bản đồ số địa chính
Chương 4: Xử lý một số bài toán cập nhật biến động đất đai sử dụng cấu trúc Topo
Chương 1- HỆ THỐNG THÔNG TIN ĐẤT ĐAI
Trang 51.1 Tổng quan về hệ thống thông tin đất đai
1.1.1 Khái niệm hệ thống thông tin đất đai
Hệ thống thông tin đất đai là tổ hợp các tiềm năng về con người, kỹ thuật kết hợp cùng với các hệ thống tổ chức nhằm mục đích tạo thông tin để
hỗ trợ một số yêu cầu về quản lý
Có thể mô tả mối quan hệ các chức năng của hệ thống thông tin đất đai như hình vẽ sau:
Hình 1.1 Mối quan hệ các chức năng của hệ thống thông tin đất đaiChức năng của hệ thống thông tin đất đai bao gồm việc thu thập, sắp xếp, lưu trữ phục hồi phân tích và phổ biến chúng
Hiệu quả của hệ thống thông tin đất đai phụ thuộc vào nhiều yếu tố như:
+ Tính cập nhật, tính chính xác, tính đầy đủ
+ Khả năng truy cập
+ Sự thiết kế hệ thống người dùng
Hệ thống thông tin đất đai được phân thành hai loại:
+ Thông tin thuộc tính bao gồm: thông tin môi trường, thông tin cơ sở
Trang 6+ Thông tin không gian bao gồm: thông tin hình học, thông tin bản đồ, thông tin topo.
1.1.2 Cơ sở dữ liệu của hệ thống thông tin đất đai
Có thể chia các dữ liệu thành hai loại: dữ liệu không gian và dữ liệu thuộc tính
1.1.2.1 Dữ liệu không gian
Loại dữ liệu này dùng để thể hiện chính xác vị trí của đối tượng trong không gian thực qua mô tả hình học, mô tả bản đồ và mô tả quan hệ không gian (topology) Các dữ liệu vị trí được thể hiện trên bản đồ thông qua ba
yếu tố hình học cơ bản là điểm, đường và vùng.
+ Điểm được ghi nhận bởi tên điểm và tọa độ,
+ Đường ghi nhận bởi điểm đầu, điểm cuối và các điểm ngoặt,
+ Vùng là một bề mặt được giới hạn bởi đường bao khép kín
Các dữ liệu không gian cần có sự kết hợp ba loại quan hệ mô tả:
+ Quan hệ hình học: Trong đó các dữ liệu được mô tả trong một kết cấu không gian chính xác như tọa độ điểm trong một hệ tọa độ
+ Mô tả bản đồ: Trong đó các dữ liệu được tổng quát hoá và ký hiệu hóa
+ Quan hệ topology: Trong đó xác định quan hệ vị trí tương đối, phi định lượng giữa các đối tượng như kề nhau, bao nhau,…
1.1.2.2 Dữ liệu phi không gian
Đó là các dữ liệu mô tả các hiện tượng, các đặc tính trong phạm vi đất đai như là:
+ Các đặc trưng tiềm năng đất đai,
+ Phân loại, phân hạng đất,
+ Các thông tin kinh tế, xã hội, pháp lý gắn với đất
1.2 Cơ sở dữ liệu địa chính và hồ sơ địa chính
Trang 71.2.1 Cơ sở dữ liệu địa chính
Cơ sở dữ liệu địa chính là phần quan trọng của hệ thống thông tin đất đai bao gồm cơ sở dữ liệu bản đồ địa chính và cơ sở dữ liệu hồ sơ địa chính
Dữ liệu bản đồ địa chính được lập để mô tả các yếu tố gồm tự nhiên có liên quan đến việc sử dụng đất bao gồm các thông tin:
+ Vị trí, hình dạng, kích thước, tọa độ đỉnh thửa, số thứ tự, diện tích, mục đích sử dụng của các thửa đất
+ Vị trí, hình dạng, diện tích của hệ thống thủy văn gồm sông, ngòi, kênh, rạch, suối, hệ thống thủy lợi gồm hệ thống dẫn nước, đê, đập, cống, hệ thống đường giao thông gồm đường bộ, đường sắt, cầu và các khu vực đất chưa sử dụng không có ranh giới thửa khép kín
+ Vị trí, tọa độ các mốc giới và đường địa giới hành chính các cấp mốc giới và chỉ giới quy hoạch sử dụng đất, mốc giới và ranh giới hành lang bảo vệ an toàn công trình
+ Điểm tọa độ địa chính, địa danh và các ghi chú thuyết minh
Dữ liệu hồ sơ địa chính được lập để thể hiện nội dung của Sổ mục kê đất đai, Sổ địa chính và Sổ theo dõi biến động đất đai quy định tại Điều 47 của Luật Đất đai bao gồm các thông tin:
+ Thửa đất gồm mã thửa, diện tích, tình trạng đo đạc lập bản đồ địa chính
+ Các đối tượng có chiếm đất nhưng không tạo thành thửa đất gồm tên gọi, mã của đối tượng, diện tích của hệ thống thủy văn, hệ thống thủy lợi, hệ thống đường giao thông và các khu vực đất chưa sử dụng không có ranh giới thửa khép kín
+ Người sử dụng đất hoặc người quản lý đất gồm tên địa chỉ, thông tin
về chứng minh nhân dân hoặc hộ chiếu, văn bản về việc thành lập tổ chức
Trang 8+ Dữ liệu về hình thức sử dụng đất chung, riêng được xây dựng đối với các thửa đất đã được cấp GCNQSDĐ.
+ Dữ liệu mục đích sử dụng đất
+ Dữ liệu nguồn gốc sử dụng đất được xây dựng đối với các thửa đất
đã được cấp GCNQSDĐ, được xác định bằng tên gọi (mô tả nguồn gốc của thửa đất mà người sử dụng đất được quyền sử dụng) như trên GCNQSDĐ và được thể hiện bằng mã trong cơ sở dữ liệu
+ Dữ liệu thời hạn sử dụng đất được xây dựng đối với các thửa đất đã được cấp giấy GCNQSDĐ và được thể hiện thống nhất với GCNQSDĐ đã cấp
+ Dữ liệu nghĩa vụ tài chính về đất đai được xây dựng đối với những thửa đất đã được cấp GCNQSDĐ
+ Dữ liệu những hạn chế về quyền sử dụng đất được xây dựng được xây dựng đối với những thửa đất đã được cấp GCNQSDĐ
+ Dữ liệu về giá đất được được xây dựng đối với những thửa đất đang
sử dụng vào các mục đích sản xuất nông nghiệp, lâm nghiệp, nuôi trồng thủy sản, làm muối, đất ở và đất chuyên dùng
+ Dữ liệu tài sản gắn liền với đất được xây dựng đối với các thửa đất được cấp GCNQSDĐ có ghi nhận về tài sản gắn liền với đất (gồm nhà ở, các loại nhà khác, công trình hạ tầng kỹ thuật, công trình kiến trúc khác, rừng cây, cây lâu năm)
+ Dữ liệu về GCNQSDĐ được thể hiện đối với các thửa đất đã được cấp GCNQSDĐ, số phát hành GCNQSDĐ, số vào Sổ cấp GCNQSDĐ
+ Dữ liệu những biến động về sử dụng đất trong quá trình sử dụng đất gồm những thay đổi về thửa đất, về người sử dụng đất, về tình trạng sử dụng đất
1.2.2 Hồ sơ địa chính
Trang 9Hồ sơ địa chính là hồ sơ phục vụ công tác quản lý Nhà nước đối với việc sử dụng đất Hồ sơ địa chính được lập chi tiết đến từng thửa đất của mỗi người sử dụng đất theo từng đơn vị hành chính cấp xã, gồm: bản đồ địa chính (hoặc bản trích đo địa chính), sổ địa chính, sổ mục kê đất đai, sổ theo dõi biến động đất đai và bản lưu giấy chứng nhận quyền sử dụng đất.
1.2.2.1 Bản đồ địa chính
Bản đồ địa chính là bản đồ chuyên ngành đất đai, trên bản đồ thể hiện chính xác vị trí ranh giới, diện tích và một số thông tin địa chính của từng thửa đất, từng vùng đất Bản đồ địa chính còn thể hiện các yếu tố địa lý khác liên quan đến đất đai Bản đồ địa chính được thành lập theo đơn vị hành chính cấp xã, phường, thị trấn và thống nhất trong phạm vi cả nước Bản đồ địa chính được xây dựng trên cơ sở kỹ thuật công nghệ ngày càng hiện đại,
nó đảm bảo cung cấp không gian của đất đai phục vụ công tác quản lý đất
Bản đồ địa chính là tài liệu cơ bản nhất của bộ hồ sơ địa chính, mang tính pháp lý cao phục vụ quản lí chặt chẽ đất đai đến từng thửa đất, từng chủ
sử dụng Bản đồ địa chính thường xuyên được cập nhật các thay đổi hợp pháp của đất đai, có thể cập nhật hàng ngày hoặc cập nhật theo định kỳ Hiện nay, người ta hướng tới thành lập bản đồ địa chính đa mục đích để đáp ứng được nhu cầu cấp bách của việc sử dụng đất đang đòi hỏi Vì vậy bản đồ địa chính còn có tính chất là bản đồ cơ bản của quốc gia
Bản đồ địa chính được thành lập dưới hai dạng cơ bản là: bản đồ số và bản đồ giấy
Bản đồ giấy địa chính là loại bản đồ truyền thống, các thông tin đượcthể hiện toàn bộ trên giấy nhờ hệ thống ký hiệu và ghi chú Bản đồ giấy cho
ta thông tin trực quan và dễ sử dụng
Bản đồ số địa chính có nội dung thông tin tương tự như bản đồ giấy,
Trang 10một hệ thống ký hiệu đã số hoá Các thông tin không gian lưu trữ dưới dạng toạ độ, còn thông tin thuộc tính sẽ được mã hoá Bản đồ địa chính được hình thành dựa trên hai yếu tố kỹ thuật là phần cứng máy tính để xử lý, biên tập, lưu trữ và có thể in ra giấy.
Hai loại bản đồ trên thường có cùng cơ sở toán học, cùng nội dung Tuy nhiên bản đồ số đã sử dụng thành quả của công nghệ thông tin hiện đại nên có được nhiều ưu điểm hơn hẳn so với bản đồ giấy thông thường Về độ chính xác: bản đồ số lưu trữ trực tiếp số đo nên các thông tin chỉ chịu ảnh hưởng của sai số đo đạc ban đầu trong khi đó bản đồ giấy còn chịu ảnh hưởng rất lớn của sai số đồ họa Trong quá trình sử dụng, bản đồ số cho phép
ta lưu trữ gọn nhẹ, dễ dàng tra cứu, cập nhật thông tin, đặc biệt nó tạo ra khả năng phân tích, tổng hợp thông tin nhanh chóng, phục vụ kịp thời cho các yêu cầu sử dụng của các cơ quan nhà nước, cơ quan kinh tế, kỹ thuật
Có các loại bản đồ địa chính sau:
+ Bản đồ địa chính cơ sở: đó là tên gọi chung cho bản đồ gốc được đo
vẽ trực tiếp ở thực địa, đo vẽ bằng phương pháp có sử dụng ảnh chụp từ máy bay kết hợp với đo vẽ bổ sung ở ngoài thực địa hay được thành lập trên cơ sở biên tập, biên vẽ từ bản đồ địa hình đã có Bản đồ địa chính cơ sở được đo vẽ kín ranh giới hành chính và kín khung, mảnh bản đồ
Bản đồ địa chính cơ sở là tài liệu cơ bản để biên tập, biên vẽ và đo vẽ
bổ sung thành bản đồ địa chính theo đơn vị hành chính cơ sở xã, phường, thị trấn, để thể hiện hiện trạng vị trí, hình thể, diện tích và loại đất của các ô thửa có tính ổn định lâu dài và dễ xác định ở thực địa
+ Bản đồ địa chính: là tên gọi của bản đồ được biên tập, biên vẽ từ bản
đồ địa chính cơ sở theo từng đơn vị hành chính cơ sở xã, phường, thị trấn được đo vẽ bổ sung để vẽ trọn thửa đất, xác định loại đất theo chỉ tiêu thống
Trang 11kê của từng chủ sử dụng đất trong mỗi mảnh bản đồ và được hoàn chỉnh phù hợp với số liệu trong hồ sơ địa chính.
Bản đồ địa chính được lập cho từng đơn vị hành chính cấp xã, là tài liệu quan trọng trong bộ hồ sơ địa chính Trên bản đồ địa chính thể hiện vị trí, hình thể, diện tích, số thửa và loại đất của từng chủ sử dụng đất, đáp ứng được yêu cầu của nhà nước ở tất cả các cấp xã, huyện, tỉnh và trung ương
+ Bản đồ địa chính trích đo: là tên gọi chung cho bản vẽ tỷ lệ lớn hơn hay nhỏ hơn bản đồ địa chính cơ sở, bản đồ địa chính, trên bản đồ thể hiện chi tiết từng thửa đất trong các ô thửa, vùng đất có tính ổn định lâu dài hoặc thể hiện chi tiết theo yêu cầu quản lý đất đai
1.2.2.2 Sổ mục kê đất đai
Sổ mục kê đất đai là sổ ghi về thửa đất, về đối tượng chiếm đất nhưng không có ranh giới khép kín trên tờ bản đồ và các thông tin có liên quan đến quá trình sử dụng đất Sổ mục kê đất đai được lập để quản lý thửa đất, tra cứu thông tin về thửa đất và phục vụ thống kê, kiểm kê đất đai Nội dung sổ mục kê đất đai bao gồm:
a) Thửa đất gồm số thứ tự thửa, tên người sử dụng đất hoặc người được giao đất để quản lý, diện tích, mục đích sử dụng đất và những ghi chú
về thửa đất (khi thửa đất thay đổi, giao để quản lý, chưa giao, chưa cho thuê, đất công ích, v.v.)
b) Đối tượng có chiếm đất nhưng không tạo thành thửa đất hoặc có hành lang bảo vệ an toàn như đường giao thông; hệ thống thuỷ lợi (dẫn nước phục vụ cấp nước, thoát nước, tưới nước, tiêu nước, đê, đập); công trình khác theo tuyến; sông, ngòi, kênh, rạch, suối và các đối tượng thuỷ văn khác theo tuyến; khu vực đất chưa sử dụng không có ranh giới thửa khép kín trên bản đồ gồm tên đối tượng, diện tích trên tờ bản đồ; trường hợp đối tượng
Trang 12không có tên thì phải đặt tên hoặc ghi ký hiệu trong quá trình đo đạc lập bản
đồ địa chính
1.2.2.3 Sổ địa chính
Sổ địa chính là sổ ghi về người sử dụng đất, các thửa đất của người đó
và tình trạng sử dụng đất của người đó Nội dung sổ địa chính bao gồm:
a) Người sử dụng đất gồm tên, địa chỉ và thông tin về chứng minh nhân dân, hộ chiếu, hộ khẩu, quyết định thành lập tổ chức, giấy đăng ký kinh doanh của tổ chức kinh tế, giấy phép đầu tư của nhà đầu tư nước ngoài
b) Các thửa đất mà người sử dụng đất sử dụng gồm mã thửa, diện tích, hình thức sử dụng đất (sử dụng riêng hoặc sử dụng chung), mục đích
sử dụng, thời hạn sử dụng, nguồn gốc sử dụng, sổ giấy chứng nhận quyền
d) Những biến động về sử dụng đất trong quá trình sử dụng đất gồm những thay đổi về thửa đất, về người sử dụng, về chế độ sử dụng đất, về quyền
và nghĩa vụ của người sử dụng đất, về giấy chứng nhận quyền sử dụng đất
1.2.2.4 Sổ theo dõi biến động đất đai
Sổ theo dõi biến động đất đai là sổ ghi những biến động về sử dụng đất trong quá trình sử dụng đất Nội dung sổ theo dõi biến động đất đai gồm tên và địa chỉ của người đăng ký biến động, thời điểm đăng ký biến động, số thứ tự thửa đất có biến động, nội dung biến động về sử dụng đất trong quá
Trang 13trình sử dụng (thay đổi về hình dáng, kích thước thửa đất, về người sử dụng,
về chế độ sử dụng, về quyền của người sử dụng, về giấy chứng nhận quyền
sử dụng đất)
Sổ theo dõi biến động đất đai được lập ra để theo dõi và quản lý chặt chẽ tình hình thực hiện đăng ký biến động, chỉnh lý hồ sơ địa chính và tổng hợp báo cáo thống kê diện tích đất đai theo định kỳ
Trang 14Chương 2 - THIẾT KẾ GIAO DIỆN VÀ XÂY DỰNG CÁC ĐỐI
TƯỢNG ĐỒ HỌA CƠ SỞ
2.1 Thiết kế giao diện
2.1.1 Hệ thống thực đơn
Với mục đích xây dựng một chương trình đồ họa tương tác, trước hết cần quan tâm đến việc thiết kế giao diện chương trình Có hai hệ thống thực đơn cơ bản được tạo trong chương trình, bao gồm:
- Pull Dow Menu - Hệ thống trình đơn kéo xuống
- Tool Bar - Thanh công cụ
Cả hai hệ thống này đều sử dụng một hệ thống câu lệnh thống nhất Hệ thống thực đơn cho phép người dùng gọi một lệnh nào có trong chương trình
Hình 2.1 Giao diện chính của chương trình
Trang 152.1.2 Các đối tượng đồ họa cơ sở
Việc xây dựng và xử lý các đối tượng hình học là nền tảng của bất kỳ một hệ thống đồ họa nào, chúng là các phần tử cơ bản và nhỏ của một hệ thống Tất cả các đối tượng phức tạp hơn được định nghĩa trong hệ thống trên cơ sở kết hợp các phần tử này với nhau
Các đối tượng đồ họa cơ sở phải đảm bảo các khả năng trình bày các đối tượng trên bản đồ địa chính và có khả năng tương thích với các đối tượng trong các phần mềm đồ họa thông dụng Hệ thống đối tượng thiết kế trong hệ thống được liệt kê trong bảng sau:
Bảng 2.1: Các đối tượng thiết kế trong hệ thống
Tên đối tượng Tên tương đương ACAD Mô tả thuộc tính hình học
Số hiệu bắt đầu (StartId ) và kết thúc (EndId) trỏ tới phần
tử mảng VERTEXĐỉnh của đa
kính R
2.1.3 Xây dựng cấu trúc các đối tượng đồ họa cơ sở
Hệ thống đồ họa thiết kế vẽ các đối tượng được mô tả như sau:
+ Điểm (Point): gồm cặp tọa độ (X, Y) Cấu trúc dữ liệu mô tả các đối tượng dạng điểm được định nghĩa và xây dựng như sau:
Trang 16Type Line_3d
Flag As BooleanP1 As Point_3dP2 As Point_3dColor As LongEnd Type
+ Đa giác (Polyline): gồm danh sách điểm trong mảng và tổng số điểm
đa giác Cấu trúc dữ liệu mô tả các đối tượng đa giác được định nghĩa và xây dựng như sau:
Type Polyline
DS_Vertexs() As Point_3dVertexsCount As LongColor As Long
CloseFlag As BooleanEnd Type
Trang 17+ Đường tròn (Circle): gồm tọa độ tâm (X, Y) và bán kính R Cấu trúc
dữ liệu mô tả các đối tượng đường tròn được định nghĩa và xây dựng như sau:
Type Circle_3d
Po As Point_3d
R As DoubleColor As LongEnd Type
+ Đối tượng chữ (Text): gồm tọa độ vẽ chữ (X, Y) và thuộc tính kèm theo được định nghĩa như sau:
Trang 18rX = Xo + (vX - vXo) / m
rY = Yo - (vY - vYo) / m (2.2)
rS = vS / mdấu ( - ) là do trục tung của hê tọa độ thực và màn hình ngược chiều nhau.Trong đó:
rX, rY, rS: là kích thước của đối tượng trong hệ tọa độ không gian thực
vX, vY, vS: là kích thước đối tượng trong hệ tọa độ màn hình
Xo, Yo: là tọa độ tâm màn hình trong không gian thực
vXo, vYo: là tọa độ tâm màn hình trong hệ tọa độ màn hình
m: hệ số tỷ lệ giữa chiều cao hoặc chiều rộng của cửa sổ màn hình trong hệ tọa độ màn hình và hệ tọa độ không gian thực
2.2.1 Các thao tác thu phóng trượt bản vẽ
Mỗi trạng thái hiển thị được xác định bởi vị trí và kích thước của cửa
sổ màn hình so với các đối tượng trong bản vẽ, nó được lưu trong mảng cấu trúc cửa sổ hiển thị với các thuộc tính: tâm Xo, Yo, chiều cao H, chiều rộng W
Trước hết, cần xây dựng hàm vẽ lại nhanh
Phóng to (Zoom In)
Trang 19Xo = rX(X); Yo = rY(Y); m = m * 2Thu nhỏ (Zoom Out)
Xo = rX(X); Yo = rY(Y); m = m / 2rX(X), rY(Y) là vị trí bấm chuột trong hệ tọa độ thực
Kết quả là các đối tượng tại vị trí bấm chuột sẽ được đưa về tâm cửa
sổ màn hình
Hiển thị theo cửa sổ tùy chọn
Trước hết ta tạo một cửa sổ mới đồng dạng với cửa sổ màn hình, cùng tâm và bao khít cửa sổ tùy chọn, gọi tọa độ hai góc đối diện của cửa sổ này trong hệ tọa độ thực là rX(vX1), rY(vY1)và rX(vX2), rY(vY2), ta có:
Hàm vẽ cơ bản nhất ra các thiết bị xuất màn hình và máy in là hàm vẽ một điểm với các tọa độ X, Y với giá trị màu tương ứng Trong Visual Basic, chúng ta có thể sử dụng một số hàm có trong thư viện hàm của nó như: hàm
vẽ đoạn thẳng [Line (X1, Y1) - (X2, Y2)], đường tròn [Circle (X, Y), R]…
Chức năng của các hàm vẽ đối tượng lên các thiết bị xuất là sử dụng công thức (2.1) để ánh xạ các thuộc tính hình học như tọa độ, kích thước lên
hệ tọa độ màn hình, sau đó với các hàm đồ họa được hỗ trợ bởi trình biên dịch vẽ đối tượng lên màn hình hoặc máy in
Trang 20Chương 3 - CƠ SỞ DỮ LIỆU BẢN ĐỒ SỐ ĐỊA CHÍNH
Trong ngành địa chính cần xây dựng “Cơ sở dữ liệu địa chính” Cơ sở
dữ liệu này gồm hai phần cơ bản là cơ sở dữ liệu bản đồ địa chính và cơ sở
dữ liệu hồ sơ địa chính Cơ sở dữ liệu địa chính là phần quan trọng của hệ thống thông tin đất đai
Cơ sở dữ liệu bản đồ địa chính tập hợp các thông tin không gian về vị trí các thửa đất và các yếu tố liên quan cùng quan hệ giữa các yếu tố trong không gian thực
Cơ sở dữ liệu hồ sơ địa chính lưu trữ các thông tin về hồ sơ địa chính cho từng thửa đất và chủ sử dụng như: số hiệu tờ bản đồ địa chính, số hiệu thửa đất, diện tích thửa, loại đất, tên chủ sử dụng đất, địa chỉ, các thông tin pháp lý, …
3.1 Phân loại dữ liệu
Dữ liệu bản đồ là những mô tả theo phương pháp số các hình ảnh của bản đồ, chúng gồm toạ độ các điểm, quy luật (hay cấu trúc) và các ký hiệu dùng để xác định một hình ảnh bản đồ cụ thể Các phần mềm điều hành có thể tạo ra hình ảnh bản đồ trên màn hình hoặc in ra giấy
Trong bản đồ số nói chung, các dữ liệu được phân chia làm hai loại là
dữ liệu không gian và dữ liệu thuộc tính
3.1.1 Dữ liệu không gian
Trang 21Dữ liệu không gian là dữ liệu dùng để thể hiện chính xác vị trí của đối tượng trong không gian thực qua mô tả hình học, mô tả bản đồ và mô tả quan
hệ tương hỗ không gian (Topology) Dữ liệu không gian được thể hiện trên bản đồ thông qua ba yếu tố hình học cơ bản là điểm, đường và vùng
3.1.2 Dữ liệu thuộc tính
Dữ liệu thuộc tính còn được gọi là dữ liệu phi không gian, đó là các dữ liệu thể hiện các thông tin về đặc điểm cần có của các yếu tố bản đồ Chúng
ta cần phân biệt hai loại thuộc tính:
+ Thuộc tính định lượng gồm: kích thước, diện tích, độ nghiêng, + Thuộc tính định tính gồm: phân lớp, kiểu, màu sắc, tên, tích chất,
3.2 Cấu trúc dữ liệu
3.2.1 Khái niệm cấu trúc dữ liệu
Các đối tượng của bản đồ địa chính được mô tả bằng các cấu trúc dữ liệu không gian Cấu trúc dữ liệu không gian là một mô hình toán học mô tả cách biểu diễn các đối tượng bản đồ dưới dạng số
Để mô tả các đối tượng bản đồ, hiện nay tồn tại nhiều cấu trúc dữ liệu không gian khác nhau Chuẩn về cấu trúc dữ liệu không gian cho bản đồ địa chính được xác định dựa trên các tính chất sau:
+ Tính chặt chẽ về mặt toán học
+ Tính phổ biến, được sử dụng rộng rãi trong các cơ sở dữ liệu bản đồ
ở Việt nam và thế giới
+ Thể hiện được các tính chất mang tính đặc thù của bản đồ địa chính Việt nam
Hiện tại có một số cấu trúc dữ liệu không gian sau:
+ Cấu trúc dữ liệu Vector
+ Cấu trúc dữ liệu Raster
Trang 22+ Cấu trúc dữ liệu Quatree
+ Cấu trúc dữ liệu mô hình số độ cao (Digital Elevation Mode DEM)
3.2.2 Cấu trúc dữ liệu cho cơ sở dữ liệu bản đồ địa chính
Đặc điểm của bản đồ địa chính là cấu trúc của các đối tượng đơn giản Đối tượng quan trọng nhất cho lưu trữ cũng như tra cứu, xử lý sau này là thửa đất Nguyên tắc lựa chọn cấu trúc dữ liệu cho cơ sở dữ liệu bản đồ địa chính là cấu trúc này phải phản ánh được đối tượng thửa đất với đầy đủ đặc điểm và tính chất của nó Các yêu cầu về quản lý với các đối tượng bản đồ địa chính gồm:
+ Đường ranh giới thửa cần được quản lý như một đối tượng thực sự
và có diện tích Như vậy đường ranh giới thửa khi cần thiết cần được gán thuộc tính là độ rộng bờ thửa để đảm bảo khi tính diện tích thửa được chính xác
+ Đường ranh giới thửa có thể là tham gia vào đường bao của thửa đất với các đối tượng khác như đường giao thông, thuỷ văn
+ Cấu trúc dữ liệu phải mô tả được quan hệ không gian giữa các đối tượng thửa đất
+ Quan hệ không gian giữa các thửa đất rất quan trọng đặc biệt là quan
hệ kề nhau, tiếp giáp nhau Quan hệ kề nhau thể hiện không chỉ trong cơ sở
dữ liệu bản đồ địa chính mà còn thể hiện trong cơ sở dữ liệu hồ sơ địa chính
Trang 23dưới dạng các chủ sử dụng kề cận Quan hệ kề nhau còn là căn cứ pháp lý để xác định quyền sử dụng đất của chủ sử dụng.
+ Thửa đất là đối tượng bản đồ chính tham gia vào quá trình biến động đất đai Thửa đất có thể biến động về mặt hình học: biến dạng, chia thửa, tách thửa hay biến động về mặt thuộc tính như thay đổi về loại đất, mục đích
sử dụng…Khi biến động, những thay đổi trên một thửa sẽ ảnh hưởng đến các thửa lân cận
+ Cơ sở dữ liệu bản đồ địa chính có đặc điểm là khối lượng dữ liệu lớn, cấu trúc dữ liệu có khả năng tối ưu hoá về lưu trữ
Xuất phát từ những yêu cầu trên của bản đồ địa chính, cấu trúc dữ liệu Topology là cấu trúc phù hợp nhất mô tả các đối tượng bản đồ địa chính trong cơ sở dữ liệu
3.2.3 Các cấu trúc dữ liệu
Trong các cấu trúc dữ liệu không gian, các đối tượng bản đồ được qui
về 4 kiểu đối tượng hình học cơ bản:
+ Điểm (Point) Ví dụ: mốc địa giới, mốc qui hoạch
+ Đường (Line) Ví dụ: đường ranh giới thửa, kênh 1 nét
+ Vùng Polygon, Area) Ví dụ: thửa đất
+ Chú thích, mô tả Ví dụ : số hiệu thửa, tên xã
3.2.3.1 Cấu trúc dữ liệu Spaghetti
Trong cấu trúc dữ liệu Spaghetti, đơn vị cơ sở là các cặp toạ độ trên một không gian địa lý xác định Do đó, mỗi đối tượng điểm được xác định bằng một cặp tọa độ (x, y): mỗi đối tượng đường được xác định bằng một chuỗi những cặp tọa độ (xi, yi); mỗi đối tượng vùng được biểu diễn bằng một chuỗi những cặp tọa độ (xj, yj) với điểm đầu và điểm cuối trùng nhau
Thí dụ:
Trang 24Hình 3.1Minhhọa cấu trúc dữ liệu SpaghettiBảng 3.1 Bảng mô tả cấu trúc dữ liệu Spaghetti
về quan hệ không gian không được mô tả một cách tường minh trong cấu trúc dữ liệu Spaghetti Các mối quan hệ này được suy ra từ vị trí toạ độ của các đối tượng Điều này có nghĩa là chúng ta cần phải có các thuật toán và xây dựng các công cụ phần mềm để có được các quan hệ không gian giữa các đối tượng Đây chính là nhược điểm lớn nhất của cấu trúc dữ liệu Spaghetti
3.2.3.2 Cấu trúc dữ liệu Topology
Trang 25Topo là một lĩnh vực trong toán học: đại số Topo Mục đích sử dụng Topo để tạo nên một sự không thay đổi, giữ nguyên sự tương quan của các đối tượng không gian (điểm, đoạn, vùng) trong các phép chuyển đổi hoặc thay đổi tỉ lệ.
Đôi khi Topo còn được gọi là hình học về miếng cao su vì trong Topo thì không có sự phân biệt giữa một đường hình vuông với một đường tròn, đường hình tròn có thể được kéo co giãn để biến dạng thành hình vuông Với cái nhìn của Topo, một chiếc cốc trở thành vòng xuyến qua sự biến dạng hình học bảo toàn các bất biến Topo Cả chiếc cốc và bánh vòng đều có những tính chất Topo hoàn toàn giống nhau
Hình 3.2 Hình minh hoạ tính chất TopoTopology giữ được tính không thay đổi hay bất biến của sự quan hệ giữa các đối tượng không gian, cho phép mở rộng khả năng phân tích không gian Các phân tích không gian đó có thể là phân tích tính nằm kề, tính nối tiếp, phân tích mạng và chồng lớp
Kết quả phân tích không gian đó có thể giải quyết một số bài toán:+ Tìm đường đi gắn nhất giữa hai địa điểm
+ Xét mối quan hệ của vùng đó với các vùng nằm kề
+ Tạo ra vùng mới từ việc biến đổi các vùng ban đầu mà không làm mất sự tương quan giữa các đối tượng
+ Ngoài ra, Topology cho phép kiểm tra chắc chắn các đối tượng không gian, ví dụ các vùng chưa khép kín, mã trong một vùng bị thừa hoặc
có hai mã khác nhau hoặc một vùng nào đó thiếu mã
Trang 26Trong Topology sử dụng các khái niệm: Nodes (nút), Links (liên kết), vùng:
+ Links là 1 chuỗi các đoạn thẳng liên tiếp không cắt nhau có cùng chung thuộc tính và phân chia với các Link khác tại điểm đầu và điểm cuối
Nó được thể hiện trong bản đồ số bởi một hay nhiều mã thuộc tính cùng với một dãy hoặc một danh sách các cặp toạ độ mô tả từng đoạn
+ Nodes là điểm bắt đầu hay kết thúc của một những điểm giao nhau của một hay nhiều Link Tọa độ của các nút có thể được liệt kê trong một fileriêng biệt và có thể kết nối với một đường bất kỳ bắt đầu hoặc kết thúc tại đó
Mỗi điểm mang một tên, mỗi đường mang một mã đặc trưng, gồm nhiều đoạn nối với nhau từ điểm đầu đến điểm cuối, tức nối hai Node Nhiều Link nối các Node tạo thành đa giác khép kín sẽ có các vùng (thửa) Có thể
từ cơ sở bản đồ hay mô hình đối tượng quản lý ta xác định toạ độ các Node, các điểm ngoặt và quan hệ nối tạo đoạn, đường
Topology có thể được mô tả ở dạng bảng Bảng Topology của các vùng
sẽ liệt kê tất cả các Links của các vùng, mỗi Link đều có các mã riêng của chúng Bảng Topology của Node liệt kê tất cả các liên kết gặp nhau tại các Node Bảng Topology của các Link liệt kê tất cả các Node trên đó các Link bắt đầu hoặc kết thúc, đồng thời liệt kê các vùng bên phải hoặc bên trái Link theo một hướng vector bằng Node bắt đầu hoặc Node kết thúc của một Link
Ví dụ: Cho đa giác như hình vẽ :
16
15
103 102
Trang 27Hình 3.3 Thể hiện Nodes, Links, Vùng
3.2.3.3 Cấu trúc dữ liệu DCEL
Cấu trúc dữ liệu DCEL hay danh sách cạnh liên kết kép bao gồm ba loại bản ghi: một cho các đỉnh, một cho các mặt, và một cho các nửa cạnh Các bản ghi này sẽ lưu các thông tin hình học và topo sau:
Trang 28Bản ghi của một đỉnh v sẽ lưu các tọa độ của v ở trường có tên là
Coordinates(v) ( Tọa độ) Nó còn lưu một con trỏ IncidentEdge(v)(Cạnh liên quan) trỏ tới một nửa cạnh nào đó có v là điểm đầu của cạnh đó.
Bản ghi của một mặt lưu một con trỏ OuterComponent(f)(Cạnh mặt ngoài)
trỏ tới một nửa cạnh nào đó trên biên ngoài của mặt đó Đối với mặt hở con
trỏ này là rỗng nil.Nó còn lưu trữ một danh sách InnerComponents(f)(Cạnh
mặt trong), nó chứa cho mỗi lỗ hổng trong mặt một con trỏ trỏ tới nửa cạnh
nào đó trên biên của lỗ hổng này
Bản ghi nửa cạnh của một nửa cạnh e lưu một con trỏ Origin(e)(Điểm
gốc) trỏ tới điểm đầu của nó, một con trỏ Twin(e)(Hai chiều) trỏ tới nửa cạnh
song sinh và một con trỏ IncidentFace(e) (Mặt liên quan) trỏ tới mặt mà nó
là biên Chúng ta không cần phải lưu điểm cuối của một cạnh bơi vì nó se
thu được Origin(Twin(e)) Điểm đầu được chọn sao cho IncidentFace(e) nằm bên trái so với e theo hướng đi từ điểm đầu tới điểm cuối Bản ghi nửa cạnh còn lưu các con trỏ Next(e) (Cạnh tiếp)và Prev(e)(Cạnh trước) trỏ tới cạnh trước đó và tới cạnh sau đó đều thuộc biên của mặt IncidentFace(e) Do
đó Next(e) là nửa cạnh duy nhất trên biên của IncidentFace(e), nửa cạnh này
có điểm đầu là điểm cuối của e, còn Prev(e) là nửa cạnh duy nhất trên biên của IncidentFace(e), có điểm cuối là Origin(e).
Trang 29Hình 3.4 Minh họa cấu trúc DCELBảng 3.5 Bản ghi các đỉnh
Đỉnh Tọa độ Cạnh liên quan
M1 C21 Nil
M2 C32 Nil
M3 C58 Nil
Trang 30Bảng 3.7 Bản ghi các nửa cạnhNửa cạnh Điểm gốc Nửa cạnh
song sinh
Mặt liên quan
nhiều hơn bởi vì danh sách InnerComponents(f) có thể có nhiều phần tử,
bằng số các lỗ hổng có trong mặt này Vì mỗi nửa cạnh được trỏ đến nhiều
nhất là một trong tất cả các danh sách InnerComponents(f), chúng ta có thể
kết luận rằng dung lượng lưu trũ là tuyến tính với độ phức tạp của miền Như vậy với thông tin không gian càng lớn càng phức tạp thì trong cấu trúc dữ liệu DCEL sẽ vô cùng phức tạp gây ra nhiều khó khăn trong việc tin học hóa cũng như là việc khai thác và sử dụng dữ liệu
Trang 313.2.4 Xây dựng cấu trúc dữ liệu Topology
Cấu trúc dữ liệu Topology được xây dựng dựa trên nền tảng là 3 đối tượng cơ bản được định nghĩa như sau:
+ Điểm: Gồm cặp tọa độ (X, Y) Cấu trúc dữ liệu mô tả đối tượng điểm được định nghĩa và xây dựng như sau:
Public DS_TDiem() As Point_3d, SoTdiem As Long
+ Đoạn: Gồm số hiệu hai đầu mút Id1, Id2, Góc hợp bởi giữa đoạn với mặt phẳng nằm ngang, vùng trái phải của đoạn và tính chất Flag của đoạn dùng để đánh dấu đoạn đã thuộc vùng nào hay chưa.Cấu trúc dữ liệu mô tả đối tượng đoạn được định nghĩa và xây dựng như sau:
Trang 32+ Vùng: Gồm tọa độ tâm vùng Xo,Yo, danh sách các đoạn trong vùng, danh sách các đỉnh trong vùng, diện tích của vùng và số thửa được đặt cho vùng Cấu trúc dữ liệu mô tả đối tượng vùng được định nghĩa và xây dựng như sau:
Public DS_Areas() As Area, AreasCount As Long
3.3 Một số bài toán hình học và topo
3.3.1 Bài toán kiểm tra vị trí tương hỗ của một điểm đối với một đoạn
thẳng
2 P
1Hình 3.5 Thể hiện vị trí tương hỗ của 1 điểm so với 1 đoạn thẳng
+ Đầu vào: Cho 1 điểm P(XP, YP) và một đoạn thẳng xác định bởi hai đầu mút 1(X1, Y1), 2(X2, Y2)
Trang 33+ Đầu ra: Xác định điểm P nằm bên trái hay nằm bên phải hay nằm trên đoạn thẳng đó.
Mô tả thuật toán:
Phần Code hàm này ở mục [1] phần phụ lục trang 64.
3.3.2 Bài toán kiểm tra hai đoạn thẳng có giao nhau hay không
2
4 13
1 1
Hình 3.6 Minh họa bài toán xét 2 đoạn thẳng có giao nhau không+ Đầu vào: Cho hai đoạn thẳng kí hiệu lần lượt là L1, L2 (hình vẽ) với toạ độ của các điểm đầu mút như sau:
L1: 1(X1, Y1) và 2(X2, Y2)
L2: 3(X3, Y3) và 4(X4, Y4)
+ Đầu ra: Xác định xem hai đoạn thẳng L1, L2 có cắt nhau hay không
Mô tả thuật toán:
Trang 34+ Lần lượt xét các điểm:
Xét vị trí tương hỗ của điểm 3(X3, Y3) với véctơ 12
Xét vị trí tương hỗ của điểm 4(X4, Y4) với véctơ 12
Xét vị trí tương hỗ của điểm 1(X1, Y1) với véctơ 34
Xét vị trí tương hỗ của điểm 2(X2, Y2) với véctơ 34
+ Nếu đồng thời điểm 3, 4 nằm ở hai phía véctơ 12 và điểm 1, 2 nằm ở hai phía véctơ 34 thì khi đó hai đoạn thẳng đó cắt nhau, trường hợp còn lại hai đoạn thẳng đó không cắt nhau
Phần Code hàm này ở mục [2] phần phụ lục trang 64.
3.3.3 Bài toán xác định giao của 2 đoạn thẳng
+ Đầu vào: Cho hai đoạn thẳng kí hiệu lần lượt là L1, L2 (hình vẽ) với toạ độ của các điểm đầu mút như sau:
L1: P1(X1, Y1) và P2(X2, Y2)L2: P3(X3, Y3) và P4(X4, Y4)
+ Đầu ra: Xác định giao điểm P5 (X5, Y5) của hai đoạn thẳng trên
P1 L1 P4
L2 P5
P2
P3
Hình 3.7 Xác định giao của 2 đoạn thẳng
Mô tả thuật toán:
+ Viết phương trình đường thẳng L1, L2
Trang 35+ Giải hệ 2 phương trình đường thẳng L1, L2 để tìm ra giao điểm P5 (X5, Y5).
Phần Code hàm này ở mục [3] phần phụ lục trang 64.
3.3.4 Bài toán tìm điểm nằm trong vùng là đa giác
Hình 3.8 Minh họa bài toán tìm điểm nằm trong vùng là đa giác
+ Đầu vào: Cho điểm P(XP, YP) và một đa giác khép kín
+ Đầu ra: Xác định xem điểm đó có nằm trong đa giác hay không
Mô tả thuật toán:
+ Ta xét thêm 1 điểm P1 có tọa độ Y1 bằng tọa độ Y của điểm P và tọa
độ X1 của điểm P1 bằng Xmax
+ Xét lần lượt các cạnh của đa giác xem có cắt đoạn PP1 ở trên hay không bằng cách sử dụng hàm Intersect của bài toán trước Nếu cắt ta sẽ đếm
số điểm trên đoạn thẳng PP1 bằng biến đếm
+ Nếu biến đếm là số lẻ thì có nghĩa là P nằm trong đa giác đã cho, nếu biến đếm là số chẵn thì có nghĩa là P nằm ngoài đa giác đã cho
Phần Code hàm này ở mục [4] phần phụ lục trang 65.
3.3.5 Bài toán khoanh vùng
P
Trang 36Đây là một bài toán rất quan trọng để từ đó có thể ứng dụng được cho cấu trúc không gian trong hệ thống thông tin đất đai Mục đích của bài toán này là nếu cho vào một danh sách các Line với toạ độ của các điểm đầu mút thì phải khoanh các Line đó thành các vùng khép kín khác nhau.
Hình 3.9 Minh họa bài toán khoanh vùng
Bài toán này sẽ trình bày chi tiết ở phần sau
1
3
0 2
Trang 37Chương 4 - XỬ LÝ MỘT SỐ BÀI TOÁN BIẾN ĐỘNG ĐẤT ĐAI
↓ [ Vẽ nhãn thửa ]
↓[ Chọn vùng ]
↓ [ Gộp thửa ]
↓[ Tách thửa ]
↓ [ Đóng File (Kết thúc) ]
Trang 384.2 Bài toán khoanh vùng tạo Topology
4.2.1 Mô tả thuật toán
Đây là một bài toán rất cơ bản trong ngành địa chính, để giải quyết bài toán này ta cần thực hiện lần lượt theo thứ tự như sau:
+ Chuyển các Line đầu vào thành danh sách các điểm và đoạn
+ Tạo danh sách mảng điểm Point, loại bỏ điểm trùng nhau và sắp xếp theo chiều tăng của giá trị X, nếu X trùng nhau thì sắp xếp theo chiều tăng của giá trị Y, sau đó gắn cho mỗi điểm một chỉ số Id
+ Từ tập hợp đoạn thẳng nối giữa các điểm, chuyển về tập hợp cạnh
để gắn Id vào đầu các cạnh Như vậy mỗi cạnh sẽ có chỉ số Id1 và Id2, mỗi đoạn thẳng sẽ tương ứng với hai cạnh có các chỉ số Id1, và Id2 ngược chiều nhau Sau đó sắp xếp tập hợp cạnh theo chỉ số Id1 theo chiều tăng dần, tiếp theo tại từng tập hợp cạnh có cùng Id1 lại sắp xếp Id2 theo góc hợp với trục
Y của cạnh theo chiều tăng
+ Tiến hành khoanh vùng như sau: Duyệt toàn bộ tập hợp danh sách cạnh tại một vòng xét để tạo ra một vùng cần tìm được tập hợp cạnh, tổng số cạnh Thêm cạnh đầu tiên vào danh sách cạnh của vùng, một cạnh nào được thêm vào danh sách cạnh của vùng thì được đánh dấu cờ để vòng sau không xét nữa, với một cạnh ta có chỉ số Id1 và Id2, với cạnh đầu tiên của vùng thì Id1 được lưu lại với biến trung gian Ido, với Id1 và Id2 ta tìm cạnh được chỉ
số của cạnh ngược chiều có Id1=Id2 và Id2=Id1, tìm được chỉ số đoạn ngược chiều này ta xét cạnh ngay sau nó, nếu cạnh đó thoả mãn có Id1=Id1 của cạnh ngược chiều và chưa được xét lần nào thì thêm cạnh này vào tập hợp danh sách cạnh của vùng đang xét, nếu không thỏa mãn thì xét các đoạn phía trước của cạnh ngược chiều tìm ra cạnh cuối cùng có Id1=Id1 của cạnh
Trang 39ngược chiều, sau đó lặp lại các bước trên khi cạnh có Id2=Ido của cạnh đầu tiên thì kết thúc một vùng Sau đó tính diện tích và tìm toạ độ tâm của vùng Sau khi tạo vùng có thể gắn thông tin thuộc tính như số hiệu thửa đất, mã loại đất, tên chủ sử dụng
Phần code của hàm này ở mục [5 ] phần phụ lục trang 66.
Với thứ tự như trên ta sẽ lập hàm khoanh vùng theo các bước sau:
Đầu vào: Danh sách các Line
1 Chuyển các Line đầu vào thành danh sách các điểm
+ Đầu vào: Danh sách các Line.
+ Đầu ra: Danh sách các điểm.
Mô tả thuật toán:
Hàm Chuyển dữ liệu ( )
+ Lập một vòng lặp For i = 1 tới Số đoạn thẳng
+ Khai báo lại danh sách điểm nhưng vẫn lưu số điểm đã có vào danh sách điểm để tăng số điểm lên một sau mỗi vòng lặp và thực hiện gán toạ độ mỗi điểm bằng toạ độ các điểm đầu mút thứ nhất và thứ hai của mỗi đoạn thẳng
Kết thúc hàm
Phần Code của hàm này ở mục [6 ] phần phụ lục trang 66.
2 Loại bỏ các điểm trùng nhau
+ Đầu vào: Danh sách các điểm
+ Đầu ra: Danh sách các điểm đã được sắp xếp theo tọa độ X tăng dần
và tại những điểm X bằng nhau thì sắp xếp theo Y và đã loại các điểm trùng
Mô tả thuật toán:
Để loại bỏ các điểm trùng nhau thì phải lập các hàm sắp xếp danh sách điểm trên theo theo giá trị tọa độ X tăng dần và tại những điểm X bằng nhau
Trang 40thì sắp xếp theo Y để loại trừ điểm trùng Ở đây sử dụng phương pháp sắp xếp chèn đối với tất cả các hàm sắp xếp tăng dần.
Hàm Sắp xếp ( )
+ Lập hai vòng lặp For i = 1 tới Số điểm và For j = 1 tới Số điểm
+ Xét điểm phía trước với điểm kế tiếp sau nếu điểm phía trước có tọa
độ X lớn hơn thì hoán vị hai điểm đó cho nhau bằng cách gán nó bởi một biến tạm tg
+ Còn không, nếu điểm phía trước điểm kế tiếp có toạ độ X bằng nhau
và tọa độ Y của điểm kế tiếp đó lớn hơn thì hoán vị hai vị trí điểm đó bằng cách gắn cho nó một biến tg
Sau khi thực hiện đoạn chương trình trên ta được một danh sách điểm đã sắp xếp, tiếp theo là loại điểm trùng:
+ Cho i = 0 lập một vòng lặp Do Until i = Số điểm – 1 trong đó nếu hai điểm liên tiếp có tọa độ trùng nhau thì lặp một vòng lặp For j từ i +
1 tới Số điểm – 1 và gắn điểm j bằng điểm j + 1, sau vòng lặp này số điểm đã bớt đi một nên phải trừ đi một điểm và khởi tạo cho i = i – 1
để quay lại tiếp tục lặp
+ Sau khi khoanh đựoc vùng nào thì ta tính luôn diện tích và tọa độ tâm của vùng đó
Kết thúc hàm
Phần Code của hàm này ở mục [7 ] phần phụ lục trang 67.
3 Chuyển Line thành danh sách đoạn
+ Đầu vào: Danh sách các Line
+ Đầu ra: Danh sách các đoạn được gán số hiệu cho 2 đầu mút
Mô tả thuật toán: