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

(Luận văn) các cấu trúc dữ liệu trong hệ thống thông tin địa lý

80 0 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

i LỜI CẢM ƠN Trước tiên xin chân thành cảm ơn PGS.TS Đặng Văn Đức, Viện Công nghệ thông tin, Viện Hàn lâm Khoa học Công nghệ Việt Nam, người định hướng tận tình hướng dẫn, giúp đỡ tơi q trình thực luận văn tốt nghiệp Tôi xin chân thành cảm ơn thầy giáo, cô giáo trường Đại học Công nghệ thông tin truyền thông - Đại học Thái Nguyên tận tình truyền đạt kiến thức, quan tâm, động viên thời gian học tập nghiên cứu Trường Tôi xin chân thành cảm ơn Trường THPT Chuyên Bắc Kạn đơn vị lu công tác tạo điều kiện để tơi hồn thành nhiệm vụ học tập an Cho phép gửi lời cảm ơn tới bạn học CK12I - lớp chuyên ngành n va gh tn to Khoa học máy tính, giúp đỡ, chia sẻ kinh nghiệm, cung cấp tài liệu hữu ích ie thời gian học tập, nghiên cứu Trường trong trình p thực luận văn tốt nghiệp vừa qua nl w Vì lượng kiến thức thực tế cịn nên luận văn em khó tránh khỏi d oa hạn chế khiếm khuyết, em mong nhận đóng góp ý kiến va thức an lu thầy giáo, cô giáo bạn để thân em hồn thành tốt kiến u nf Em xin trân trọng cảm ơn! ll Thái Nguyên, tháng năm 2015 oi m z at nh Hạ Thị Thảo z m co l gm @ an Lu n va ac th si ii LỜI CAM ĐOAN Tôi xin cam đoan luận văn “Các cấu trúc liệu hệ thống thông tin địa lý.” công trình nghiên cứu tơi hướng dẫn khoa học PGS.TS Đặng Văn Đức, tham khảo nguồn tài liệu rõ trích dẫn danh mục tài liệu tham khảo Các nội dung công bố kết trình bày luận văn trung thực chưa công bố cơng trình Thái Ngun, tháng 09 năm 2015 lu an n va Hạ Thị Thảo p ie gh tn to d oa nl w ll u nf va an lu oi m z at nh z m co l gm @ an Lu n va ac th si iii DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ Ký hiệu/từ Viết đầy đủ viết tắt CSDL Cơ sở liệu ESRI Environmental Ý nghĩa Cơ sở liệu Systems Viện nghiên cứu Hệ thống môi lu an n va trường Mỹ GIS Geographic Information System Hệ thống thông tin địa lý I/O Input/Output Nhập/Xuất XUB X on Upper Bound X biên YUB Y on Upper Bound Y biên XLB X on Lower Bound X biên Y on Lower Bound Y biên tn to Research Institute YLB p ie gh d oa nl w ll u nf va an lu oi m z at nh z m co l gm @ an Lu n va ac th si iv lu an n va p ie gh tn to DANH MỤC CÁC BẢNG Bảng 2.1: Các trường hợp phép chèn vào tứ phân điểm 33 Bảng 2.2: Mô tả bốn cành nút N tứ phân MX 35 Bảng 3.1 Các nút lệnh công cụ 56 DANH MỤC CÁC HÌNH Hình 1.1 Hệ thơng tin địa lý (ESRI) Hình 1.2: Sự ảnh hưởng lựa chọn kích thước tế bào Hình 1.3: Trật tự khơng gian Hình 1.4: Số liệu vectơ biểu thị dạng điểm (Point) Hình 1.5: Số liệu vectơ biểu thị dạng Arc Hình 1.6: Số liệu vectơ biểu thị dạng vùng (Polygon) Hình 1.7: Các nhóm chức GIS 12 Hình 2.1: Cây k-d tương ứng cho điểm có sẵn 20 Hình 2.2: Lưới đồ dựng 21 Hình 2.3: Trình tự chèn vào 2-d 22 Hình 2.4: Phép chèn k-d đồ 23 Hình 2.5: Cách phân hoạch mặt phẳng điểm xã tứ phân điểm 30 Hình 2.6: Tiến trình chèn vào tứ phân điểm 31 Hình 2.7: Mơ hình tứ phân điểm 32 Hình 2.8: Trình tự chèn vào tứ phân MX 36 Hình 2.9: Phép chèn điểm vào tứ phân MX 37 Hình 2.10: Sơ đồ R - Tree 39 Hình 11: Bản đồ mẫu mơ tả cách nhóm hình chữ nhật minh họa R 40 Hình 2.12: Ví dụ tập hợp đoạn thẳng nhúng với lưới x 41 Hình 2.13: Tập hợp đoạn thẳng không gian bao hình chữ nhật42 Hình 2.14: Trình tự chèn vào R 44 Hình 2.15: Bản đồ mơ tả phép chèn R 45 Hình 2.16: Mơ tả phép tách 47 Hình 3.1: Mơ hình Use Case hệ thống 51 Hinh 3.2: Giao diện chương trình 55 Hình 3.3: Bản đồ sau hiển thị lớp đường lớp điểm 56 Hình 3.4 Bản đồ hiển thị lớp điểm 57 Hình 3.5 Truy vấn vùng đồ lớp điểm 57 Hình 3.6: Kết truy vấn hình 3.5 58 Hình 3.7: Truy vấn vùng đồ tổng thể 58 Hình 3.8: Kết truy vấn vùng đồ tổng thể 59 d oa nl w ll u nf va an lu oi m z at nh z m co l gm @ an Lu n va ac th si v MỤC LỤC LỜI CẢM ƠN i LỜI CAM ĐOAN .ii DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ iii DANH MỤC CÁC BẢNG iv DANH MỤC CÁC HÌNH iv MỤC LỤC v MỞ ĐẦU CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG THÔNG TIN ĐỊA LÝ (GIS) 1.1 Một số khái niệm GIS lu an n va gh tn to 1.2 Cấu trúc liệu địa lý 1.2.1 Dữ liệu không gian 1.2.2 Dữ liệu phi không gian 1.3 Các chức GIS 11 1.4 Tìm kiếm phân tích liệu khơng gian 13 1.4.1 Tìm kiếm nội dung vùng khơng gian 13 ie p 1.4.2 Tìm kiếm khoảng cận kề 14 1.4.3 Tìm kiếm tượng thao tác bao phủ (overlay) 14 1.4.4 Nội suy mơ hình hóa bề mặt 15 1.4.5 Phân tích đường đường dẫn 15 1.4.6 Mơ hình hóa tương tác khơng gian 15 1.4.7 Đồ họa tương tác 16 CHƯƠNG 2: MỘT SỐ CẤU TRÚC DỮ LIỆU SỬ DỤNG TRONG GIS 17 d oa nl w u nf va an lu ll 2.1 Vấn đề lưu trữ mục liệu địa lý 17 2.2 Cây k-d (k-d tree) 18 2.2.1 Cấu trúc nút 19 2.2.2 Chèn tìm kiếm 2-d 20 2.2.3 Xóa 2-d 24 2.2.4 Truy vấn khoảng 2-d 25 2.2.5 Cây k-d với k≥2 28 2.3 Cây tứ phân điểm (Point quadtree) 28 2.3.1 Chèn tìm kiếm tứ phân điểm 30 oi m z at nh z m co l gm @ an Lu 2.3.2 Thao tác xoá tứ phân điểm 31 2.3.3 Truy vấn khoảng tứ phân điểm 33 n va ac th si vi 2.4 Cây tứ phân Matrix MX (MX-Quadtree) 34 2.4.1 Chèn tìm kiếm MX-Quadtree 35 2.4.2 Thao tác xoá MX-Quadtree 37 2.4.3 Truy vấn khoảng MX-Quadtree 38 2.5 Cây R (R - Tree) 39 2.5.1 Chèn tìm kiếm R-Tree 42 2.5.2 Xoá R-Tree 45 2.5.3 Thuật toán tách nút (Node Splitting ) 46 2.5.4 Cây R* (R*- Tree) 47 2.6 So sánh liệu 48 lu an n va gh tn to CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH THỬ NGHIỆM 50 3.1 Lựa chọn tốn thử nghiệm cơng nghệ sử dụng 50 3.1.1 Phát biểu toán 50 3.1.2 Cách giải 50 3.2 Mô tả liệu thử nghiệm 52 ie 3.3 Phân tích thiết kế chương trình thử nghiệm 53 p 3.3.1 Cơng cụ xây dựng chương trình 53 3.3.2 Đặc tả chức chương trình 53 3.4 Đánh giá kết thu 54 3.4.1 Cài đặt thử nghiệm 54 3.4.2 Kết thử nghiệm 54 3.4.3 Nhận xét kết thu 59 3.4.4 Hiệu truy vấn sử dụng cấu trúc liệu 59 d oa nl w u nf va an lu ll KẾT LUẬN 61 TÀI LIỆU THAM KHẢO 62 PHỤ LỤC 63 oi m z at nh z m co l gm @ an Lu n va ac th si MỞ ĐẦU Ngày nay, hệ thống thông tin địa lý – Geographic Information System(GIS) trở nên phổ biến yếu tố thiếu hầu hết chuyên ngành GIS đánh giá trạng trình, thực thể tự nhiên, kinh tế-xã hội thông qua chức thu thập, quản lý, truy vấn, phân tích tích hợp thơng tin Nó gắn với đồ số quán sở toạ độ liệu đầu vào Về chất GIS hệ thống Các yếu tố cấu thành GIS phần cứng, phần mềm, sở liệu, phương pháp người Trong yếu tố này, sở liệu có vai trị quan trọng hệ thống góp phần làm nên sức mạnh hệ lu thống an Tình hình nghiên cứu, kết nghiên cứu có: va n Cấu trúc liệu thành phần quan trọng coi lõi hệ tn to thống thông tin địa lý GIS Do vấn đề đề cập đến nhiều ie gh giới, nhiên cách tiếp xúc tiếp xúc vấn đề có nhiều khía cạnh khác đặc biệt p Việt Nam Để hình thức hố, trừu Tượng hố liệu GIS người ta cần đến w kỹ thuật k-chiều, tứ phân, R Đồng thời phải quan tâm đến oa nl phương pháp cài đặt kĩ thuật Các đề tài nghiên cứu có ứng d dụng CSDL GIS để xây dựng ứng dụng chưa có đề tài nghiên cứu thể lu u nf liệu GIS va an cấu trúc liệu GIS cụ thể Do tác giả tập trung nghiên cứu kỹ thuật ll Có thể nói cấu trúc liệu phần khung chất hệ thống m oi GIS, sở giải thuật GIS nói đến khả lưu trữ khai thác, z at nh phát triển hệ thống liệu Những nghiên cứu luận văn khơng có so với giới, nước ta Xuất phát từ thực tế tơi chọn đề tài “Các cấu z @ trúc liệu hệ thống thông tin địa lý.” gm Trong khn khổ luận văn, tơi trình bày số vấn đề hệ thống m co l thông tin địa lý (GIS), kỹ thuật truy vấn không gian GIS Mô tả cấu trúc, phép tốn xây dựng, chèn, xóa, duyệt, truy vấn cấu trúc liệu sử dụng an Lu n va ac th si GIS Trong đó, tập trung nghiên cứu cài đặt thử nghiệm số cấu trúc liệu không gian Bố cục luận văn bao gồm phần mở đầu, phần kết luận ba chương nội dung tổ chức sau: Chương 1: Tổng quan hệ thống thông tin địa lý Chương trình bày tổng quan hệ thống thơng tin địa lý, kỹ thuật truy vấn không gian GIS, khả GIS Chương 2: Một số cấu trúc liệu sử dụng GIS Chương mô tả cấu trúc, phép toán chèn, xoá, duyệt, truy vấn lu kỹ thuật mục tìm kiếm không gian như: k-d (k-d Tree), tứ an Chương 3: Xây dựng chương trình thử nghiệm n va phân(Quadtree), R (R Tree), R* Tree so sánh chúng to gh tn Cài đặt thử nghiệm tứ phân điểm Chương trình cài đặt từ sở ie liệu có định dạng Shapefile, với ngơn ngữ lập trình C#.NET p với thư viện hỗ trợ SharpMap d oa nl w ll u nf va an lu oi m z at nh z m co l gm @ an Lu n va ac th si CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG THÔNG TIN ĐỊA LÝ (GIS) 1.1 Một số khái niệm GIS GIS - Geographic Information System hay hệ thống thông tin địa lý hình thành từ ba khái niệm địa lý, thơng tin hệ thống Khái niệm “địa lý” liên quan đến đặc trưng khơng gian, vị trí Các đặc trưng liên kết trực tiếp đến đối tượng khơng gian Chúng vật lý, văn hố, kinh tế, tự nhiên Khái niệm “thơng tin” đề cập đến phần liệu quản lý GIS Đó liệu thuộc tính khơng gian đối tượng GIS có tính “hệ thống” tức hệ thống GIS xây dựng từ module Việc tạo module giúp thuận lợi việc lu quản lý hợp an n va p ie gh tn to d oa nl w an lu Hình 1.1 Hệ thơng tin địa lý (ESRI) [1] va GIS hệ thống có ứng dụng lớn Từ năm 1980 đến có ll u nf nhiều định nghĩa đưa ra, nhiên khơng có định nghĩa khái qt đầy oi m đủ GIS phần lớn chúng xây dựng khía cạnh ứng dụng cụ thể z at nh lĩnh vực Có ba định nghĩa dùng nhiều nhất: GIS hệ thống thông tin thiết kế để làm việc với liệu z hệ toạ độ quy chiếu GIS bao gồm hệ sở liệu phương thức để gm @ thao tác với liệu đó.GIS hệ thống nhằm thu thập, lưu trữ, kiểm tra, tích l hợp, thao tác, phân tích hiển thị liệu quy chiếu cụ thể vào trái đất hiển thị liệu đồ an Lu 1.2 Cấu trúc liệu địa lý m co GIS chương trình máy tính hỗ trợ việc thu thập, lưu trữ, phân tích n va ac th si Một sở liệu hệ thống thơng tin địa lý chia làm loại liệu bản: liệu không gian phi khơng gian Mỗi loại có đặc điểm riêng chúng khác yêu cầu lưu giữ số liệu, hiệu quả, xử lý hiển thị 1.2.1 Dữ liệu không gian Dữ liệu không gian mô tả số hình ảnh đồ, chúng bao gồm toạ độ, quy luật ký hiệu dùng để xác định hình ảnh đồ cụ thể đồ Hệ thống thông tin địa lý dùng số liệu không gian để tạo đồ hay hình ảnh đồ hình giấy thông qua thiết bị ngoại vi Hệ thông tin địa lý sử dụng hai mơ hình liệu để biểu diễn đặc trưng lu không gian: mơ hình liệu raster mơ hình liệu vectơ Mơ hình khơng gian an n va đặc biệt quan trọng cách thức biểu diễn thơng tin ảnh hưởng đến khả hiển 1.2.1.1 Mơ hình liệu raster ie gh tn to thị đồ họa hệ thống Đây phương pháp biểu diễn đặc trưng địa lý điểm ảnh Được p hình thành dựa sở quan sát giới thực nl w Mơ hình liệu raster hay cịn gọi lưới tế bào hình thành cho số d oa hệ thông tin địa lý Các hệ thống sở raster hiển thị, định vị lưu trữ liệu an lu đồ họa nhờ sử dụng ma trận hay lưới tế bào Độ phân giải liệu raster phụ va thuộc vào kích thước tế bào hay điểm ảnh, chúng khác từ vài u nf đêximet đến vài kilơmet Trong cấu trúc liệu raster, point biểu diễn ll cell Line biểu diễn tập cell có hướng xác định, độ rộng m oi line chiểu rộng cell Polygon biểu diễn đãy cell z at nh nằm kề sát Tiến trình xây dựng lưới tế bào mô tả sau đây:[1] Giả sử phủ lưới lên đồ, liệu raster lập cách mã hóa z gm @ tế bào giá trị dựa theo đặc trưng đồ, độ xác đối tượng phụ thuộc vào kích thước hay độ phân giải tế bào lưới m co l an Lu n va ac th si 60 tìm kiếm thông tin đặc trưng địa lý truy vấn dựa sở vị trí chúng Chìa khóa để thực tìm kiếm truy nhập nhanh Sau nghiên cứu số liệu GIS ta thấy: Các kỹ thuật lưu trữ liệu n-chiều sử dụng việc tách “phân cấp” không gian biểu diễn Gốc biểu diễn toàn vùng Nút biểu diễn vùng, cành biểu diễn việc phân hoạch vùng tiểu vùng Có nhiều cấu trúc liệu khác sử dụng để biểu diễn việc tách phân cấp vùng Mỗi chúng thực tách khơng gian theo cách khác có ưu điểm nhược điểm riêng Hiệu hệ thống thấp phải tải khối lượng liệu lớn vào nhớ máy tính để xử lý lu Tổ chức liệu theo dạng nhằm giảm số lần xâm nhập đĩa Tìm kiếm an n va chậm Mỗi nút có kích thước tương ứng blốc I/O liệu nhập p ie gh tn to Một hai tầng nên để thường trú nhớ để tăng tốc độ xâm d oa nl w ll u nf va an lu oi m z at nh z m co l gm @ an Lu n va ac th si 61 KẾT LUẬN Tại Việt Nam cơng nghệ GIS thí điểm sớm, theo thống kê có đến 80% hoạt động kinh tế - xã hội có liên quan đến GIS Muốn có GIS tốt, việc tìm hiểu giải pháp quản trị CSDL hệ GIS quan trọng chủ chốt, có giải pháp hợp lý chi phí, đáp ứng vừa đủ nhu cầu thuận tiện phát triển GIS cho công việc chuyên môn Xuất phát từ thực tế luận văn nhằm tìm hiểu tổng quan hệ thống thông tin địa lý sở liệu khơng gian, tìm hiểu sâu cấu trúc liệu GIS ứng dụng chúng Cụ thể luận văn đạt kết sau: lu  Trình bày tổng quan hệ thống thông tin địa lý sở liệu khơng gian an va  Hệ thống hóa cấu trúc liệu CSDL không gian n  Trình bày số ứng dụng cấu trúc liệu CSDL không ie gh tn to gian cài đặt kỹ thuật tứ phân điểm (Point Quadtree) Trong khuôn khổ luận văn hướng đến việc cài đặt kỹ thuật tứ phân điểm p để hiểu rõ hoạt động tìm hiểu tính hiệu liệu nl w khía cạnh cho phép tìm kiếm liệu ngẫu nhiên khơng phải tìm tiếm tuyến d oa tính Đây điểm khác với luận văn tìm hiểu hệ thơng tin địa lý an lu có Một số vấn đề cịn tồn luận văn chưa đánh giá hiệu suất lưu trữ va kỹ thuật nêu u nf Hướng nghiên cứu cài đặt kỹ thuật lại xây dựng ll phương pháp phân cụm liệu sở liệu không gian m oi Trong tương lai, em cố gắng để hoàn thiện hạn chế phát triển z at nh vấn đề nêu Em mong nhận ý kiến đóng góp q thầy bạn bè để luận văn ngày hoàn thiện z m co l gm @ an Lu n va ac th si 62 TÀI LIỆU THAM KHẢO Tiếng Việt: [1] Đặng Văn Đức, Hệ thống thông tin địa lý (2001), NXB Khoa học kỹ thuật, Hà Nội Tiếng Anh: [2] Jacqueline Stoilkovic, The Design and Analysis of Spatial Data Structures (2014), Addison-Wesley Publishing Company, Inc, USA [3] Paul A Longley, Michael F Goodchild, David J Maguire, David W Rhind, Geographic Information Systems and Science 2nd Edition (2005), John Wiley & lu an Sons Ltd, The Atrium, Southern Gate, Chichester,West Sussex PO19 8SQ, n va England, pp.231-235 Application to GIS (2002), Elsevier Science, USA, pp 237-251 gh tn to [4] Philippe Rigaux, Michel Scholl, Agnès Voisard, Spatial Databases With p ie [5] Samet Hanan, Applications of Spatial Data Structures (1990), Addison-Wesley Publishing Company, Inc, USA nl w [6] Samet Hanan, The Design and Analysis of Spatial Data Structures (1990), d oa Addison-Wesley Publishing Company, Inc, USA ll u nf va an lu oi m z at nh z m co l gm @ an Lu n va ac th si 63 PHỤ LỤC PL1 THUẬT TOÁN ĐIỀU CHỈNH ĐƯỜNG ĐI; CHIA, ĐIỀU CHỈNH NÚT TRONG R-TREE ADJUSTPATH (node: Node) begin if (node is the root) return else // Tìm cha nút parent =G lu an ETPARENT (node) n va // Điều chỉnh mục nút cha to if (ADJUSTENTRY (parent, [node.mbb, node.id])) then ADJUSTPATH (parent) p ie gh tn // Các mục sửa; điều chỉnh đường nút cha end if d oa end nl w end if va begin an lu SPLITANDADJUST (node: Node) ll oi PLIT (node) m new-node =S u nf //Tạo nút phân phối mục z at nh if (node is the root) then CREATENEWROOT (node, new-node) z // Lấy cha nút // Điều chỉnh mục nút cha an Lu ADJUSTENTRY (parent, [node.id, node.mbb]) m co parent =GETPARENT (node) l gm @ else n va ac th si 64 // Chèn nút cha INSERTINNODE (parent, [new-node.mbb, new-node.id]) if (parent overflows) then SPLITANDADJUST(parent) else ADJUSTPATH (parent) end if end if end lu an n va p ie gh tn to d oa nl w ll u nf va an lu oi m z at nh z m co l gm @ an Lu n va ac th si 65 PL2 GIỚI THIỆU SHARPMAP SharpMap thư viện mã nguồn mở hỗ trợ chức đồ dành cho ứng dụng desktop ứng dụng web SharpMap hỗ trợ hiển thị kiểu liệu Shapefile, PostGreSQL/PostGIS, OLEDB, SQLServer, Oracle, SpatiaLite kiểu liệu khác thông qua thư viện chuyển đổi GDAL/OGR Phiên ổn định SharpMap 1.1 Phiên phát triển SharpMap Mã nguồn SharpMap quản lý theo hệ thống Subversion (SVN), lưu trữ địa http://sharpmap.codeplex.com/SourceControl/latest Phiên thử nghiệm đặt tên SharpGIS (Hình PL2.1), công lu bố vào tháng năm 2005 Ở này, thư viện hiển thị nhiều kiểu an n va liệu vector, liệu PostGIS Tuy nhiên chưa hiển thị liệu ảnh công p ie gh tn to cụ thao tác đồ sơ sài d oa nl w va an lu u nf Hình PL2.1 : Lược đồ phiên SharpMap ll Kiến trúc SharpMap phiên v2.0 Hình PL2.2 Đây kiến trúc m oi thiết kế trước, phần mã nguồn thực thi phát triển để hoàn thiện z at nh thiết kế z m co l gm @ an Lu n va ac th si 66 lu an n va p ie gh tn to oa nl w d Hình PL2.2 : Kiến trúc SharpMap an lu Phần giao diện hiển thị bao gồm control có chức hiển thị đồ u nf va Có loại control dành cho ứng dụng sử dụng framework WPF Windows Form Có control dành cho ứng dụng web Phần giao diện hiển thị ll z at nh SharpMap oi m tách riêng kiến trúc thể linh động mã nguồn bên nhân Phần trình diễn đóng vai trị người điều phối vùng liệu hiển z thị lên control phần giao diện hiển thị Bên cạnh đó, đối tượng trình @ gm diễn cịn đảm nhận việc thể màu sắc, nhãn đối tượng thuộc tính đối tượng m co đồ công cụ thao tác đồ xây dựng sẵn l Phần đồ bao gồm đối tượng hiển thị đồ gọi lớp nguồn Dữ liệu đọc vào thông qua “Provider” an Lu Đối tượng liệu đối tượng lưu trữ thông tin liệu đọc vào từ n va ac th si 67 Phiên ổn định tháng 12/2014 SharpMap v1.1 Kiến trúc phiên thiếu phần giao diện hiển thị so với phiên v2 Do đó, lập trình viên cần xây dựng riêng cho control đóng vai trị hiển thị đồ thơng tin liên quan khác tọa độ, tỷ lệ, … Phần trình diễn tách riêng đối tượng đảm nhận việc hiển thị liệu vector, thành phần khác nhãn, màu sắc, liệu ảnh điều phối bên nhân SharpMap lu an n va p ie gh tn to d oa nl w ll u nf va an lu oi m z at nh z m co l gm @ an Lu n va ac th si 68 PL3 CẤU TRÚC FILE SHAPEFILE PL3.1 Main file header Main file header có độ dài 100 bytes trường file header với vị trí byte, giá trị, kiểu thứ tự byte chúng Trong bảng này, vị trí tương đối tính từ vị trí bắt đầu file Bảng P-1 Mô tả Main file header an Value Type Byte Order Byte File Code 9994 Integer Big Byte Unused Integer Big Byte Unused Integer Big Byte 12 Unused Integer Big Byte 16 Unused Integer Big Byte 20 Unused Integer Big Byte 24 File Length File Length Integer Big Version 1000 Integer Little Byte 32 Shape Type Shape Type Integer Little Bounding Box Xmin Double Little Double Little Double Little n va Field lu Position p ie gh tn to Byte 28 Ymin Byte 52 Bounding Box Xmax Byte 60 Bounding Box Ymax Double Little Byte 68* m Bounding Box Zmin Double Little Byte 76* Bounding Box Zmax Double Little Byte 84* Bounding Box z at nh Bounding Box Mmin Double Little Byte 92* Bounding Box Mmax Double Little ll u nf va an lu Byte 44 d oa nl w Byte 36 oi z l gm @ * Không dùng có giá trị 0.0, khơng độ đo kiểu Z m co Giá trị độ dài file tổng độ dài file theo đơn vị từ 16-bit, an Lu bao gồm 50 từ (tức 100 byte) file header Tất hình dạng n va ac th si 69 khơng null shapefile phải có kiểu shape Các giá trị kiểu cho Bảng P-2 Bảng P-2 Các giá trị shape type Giá trị Kiểu Shape lu an n va Null Shape Point PolyLine Polygon MultiPoint 11 PointZ 13 PolyLineZ 15 PolygonZ 18 MultiPointZ 21 PointM 23 PolyLineM 25 PolygonM 28 MultiPointM 31 MultiPatch p ie gh tn to d oa nl w u nf va an lu Hộp biên (Bounding Box) main file header chứa phạm vi thực ll oi m shape file: Hình chữ nhật bé phủ tồn shape có cạnh song song z at nh với trục X Y (và có khả mở rộng với trục M Z) Nếu shapefile rỗng (không có ghi nào) giá trị Xmin, Ymin, Xmax, Ymax không gm @ PL3.2 Các header ghi z xác định m co l Header cho ghi chứa số hiệu ghi độ dài nội dung ghi Các header ghi có độ dài cố định byte ghi tương ứng an Lu Bảng P-3 mô tả trường header ghi, với vị trí tính từ đầu n va ac th si 70 Bảng P-3 Mô tả header ghi Position Field Value Type Byte Record Number Số hiệu ghi Byte Content Length Byte Order Integer Big Độ dài nội dung Integer Big Số hiệu ghi Độ dài nội dung ghi độ dài phần nội dung ghi theo đơn vị từ 16-bit Do đó, ghi đóng góp số lượng từ 16bit (4 + độ dài nội dung) vào tổng độ dài file (được chứa Byte 24 file header) lu an PL3.3 Nội dung ghi n va Nội dung ghi shapefile bao gồm kiểu shape, theo sau liệu số đỉnh shape Tiếp sau trình bày số nội dung ghi theo kiểu shape hệ p ie gh tn to hình học shape Độ dài nội dung ghi phụ thuộc vào số thành phần quy chiếu X, Y nl w Kiểu Point (điểm) Một điểm bao gồm cặp tọa độ kiểu double-precision an lu Point d oa theo thứ tự X, Y va { ll u nf Double X // X coordinate oi m Double Y // Y coordinate } z at nh Bảng P-4 Nội dung ghi biểu diễn điểm Value Type Number Byte Order z Position Field @ Shape Type Integer Byte X X Double Byte 12 Y Y Double Little Little Little m co l gm Byte an Lu n va ac th si 71 Kiểu MultiPoint (đa điểm) Biểu diễn tập điểm, sau: MultiPoint { Double[4] Box // Bounding Box Integer NumPoints // Number of Points Point[NumPoints] Points // The Points in the Set } Hộp Biên (Bounding Box) lưu theo thứ tự Xmin, Ymin, Xmax, Ymax Bảng P-5 Nội dung ghi biểu diễn đa điểm lu an Position Field Value Type Number Byte Order n va Shape Type Integer Little Byte Box Double Little Byte 36 NumPoints NumPoints Integer Little Byte 40 Points Points Box Point NumPoints Little p ie gh tn to Byte nl w Kiểu PolyLine (đa đoạn) Một PolyLine tập có thứ tự đỉnh bao d oa gồm nhiều thành phần Một phần thành phần liên thơng gồm an lu hai đỉnh Các phần khơng liên thơng với phần khác Các phần va khơng cắt với phần khác Do đặc tả không cấm điểm liên tục u nf với tọa độ trùng nhau, nên đọc shapefile phải kiểm soát trường ll hợp Việc dẫn tới phần thối hóa có độ dài khơng khơng m oi phép m co Integer NumPoints // Total Number of Points l gm Integer NumParts // Number of Parts @ Double[4] Box // Bounding Box z { z at nh PolyLine Integer[NumParts] Parts // Index to First Point in Part an Lu Point[NumPoints] Points // Points for All Parts n va ac th si 72 } Các trường PolyLine mô tả chi tiết sau đây:  Box: Hộp Biên cho PolyLine lưu theo thứ tự Xmin, Ymin, Xmax, Ymax  NumParts: Số phần PolyLine  NumPoints: Tổng số điểm tất phần PolyLine  Parts: Một mảng có độ dài NumParts chứa số điểm mảng điểm Các số mảng đánh từ  Points: Một mảng cú độ dài NumPoints lu an  n va Bảng P-6 Nội dung ghi chi tiết đa đoạn Field Value Type Number Byte Order Shape Type Integer Little Byte Box Box Double Little Byte 36 NumParts NumParts Integer Little NumPoints Integer Little Byte 44 Parts Parts Integer NumParts Little Byte X Points Point NumPoints Little p ie gh tn to Position Byte oa nl w NumPoints d Byte 40 u nf va an lu Points Chú ý: X = 44 + * NumParts ll oi m Kiểu Polygon (Đa giác) z at nh Một đa giác bao gồm một vành Một vành chuỗi đóng liên thơng điểm, khơng tự cắt Một đa giác chứa nhiều vành z ngồi Thứ tự định hướng vành mặt vành @ gm phía đa giác Lân cận bên phải người quan sát dọc theo vành theo l thứ tự đỉnh thuộc vùng phía đa giác Các đỉnh vành định nghĩa m co lỗ rỗng đa giác theo hướng ngược chiều kim đồng hồ Các đỉnh vành đơn part (phần) an Lu ln có thứ tự thuận chiều kim đồng hồ Các vành đa giác cho n va ac th si 73 Lưu ý điểm liên tiếp không thiết phải phân biệt, nên đọc shapefile phải xử lý tình Cấu trúc đa giác giống cấu trúc đa đoạn, sau Polygon { Double[4] Box // Bounding Box Integer NumParts // Number of Parts Integer NumPoints // Total Number of Points Integer[NumParts] Parts // Index to First Point in Part lu an Point[NumPoints] Points // Points for All Parts va } n Các trường đa giác mô tả chi tiết sau: to  NumParts: Số vành đa giác p ie gh tn  Box: Hộp biên đa giác theo thứ tự Xmin, Ymin, Xmax, Ymax  NumPoints: Tổng số điểm tất vành nl w  Parts: Một mảng gồm NumParts phần tử, chứa số điểm d oa vành mảng Points an lu  Points: Một mảng gồm NumPoints phần tử Các điểm cho vành nối tiếp va điểm vành ll u nf Một ví dụ đa giác gồm vành 10 điểm sau: oi m z at nh z m co l gm @ an Lu Hình P-1 Ví dụ đa giác gồm hai vành n va ac th si 74 Thứ tự đỉnh lưu trữ shape file minh họa Hình P-2 Hình P-2 Lưu trữ đa giác shapefile Bảng P-7 Nội dung ghi đa giác Position Field Value Type Number Byte Order lu an n va Shape Type Integer Little Byte Box Box Double Little Byte 36 NumParts NumParts Integer Little Byte 40 NumPoints NumPoints Integer Little Parts Integer NumParts Little Points Point NumPoints Little Byte 44 Parts ie gh tn to Byte p Byte X Points nl w Chú ý: X = 44 + * NumParts d oa Ngoài shapefile cịn có cấu trúc shape khác như: PointM, lu MultiPointM, PolyLineM, PolygonM (M độ đo), PointZ, MultiPointZ, ll u nf mảnh) va an PolyLineZ, PolygonZ (trong hệ quy chiếu X, Y, Z) cấu trúc MultiPatch (đa oi m z at nh z m co l gm @ an Lu n va ac th si

Ngày đăng: 24/07/2023, 09:00

Xem thêm:

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

TÀI LIỆU LIÊN QUAN