Mơ tả cấu trúc

Một phần của tài liệu Luận văn thạc sĩ công nghệ thông tin Mô hình dữ liệu không gian áp dụng cho mạng lưới cấp nước (Trang 31 - 97)

Mơ hình raster chia khơng gian thành những ơ lưới hình vuơng (chữ nhật, hoặc tam giác) cĩ kích thước bằng nhau gọi là điểm ảnh (pixel).

Mỗi pixel được xác định vị trí bằng cặp toạ độ (x,y) là số thứ tự của hàng và cột của pixel. Pixel là phần tử cơ sở của cấu trúc dữ liệu raster để biểu diễn một đặc trưng địa lý f(x,y) nào đĩ, nghĩa là dữ liệu trong mỗi điểm ảnh là đồng nhất.

 Trong cấu trúc raster, đường được biểu diễn bằng những pixel cĩ cùng giá trị f(x,y) liên tiếp nhau.

Mơ hình dữ liệu khơng gian Định dạng tệp tin dữ liệu khơng gian Cấu trúc dữ liệu khơng gian

 Vì trong cấu trúc raster, các pixel được xếp theo hàng, cột như một ma trận điểm nên đường ở đây khơng trơn mà cĩ dạng zic-zac.

 Vùng được xác định bằng một mảng gồm nhiều điểm ảnh cĩ cùng giá trị thuộc tính f(x,y) trải rộng ra theo nhiều phương.

 Cấu trúc dữ liệu raster cĩ hai đặc điểm cần lưu ý:

- Mỗi điểm ảnh chỉ biểu diễn một thuộc tính, xác định bởi giá trị f(x,y) - Khi thay đổi độ phân giải (kích thước điểm ảnh thay đổi), dung lượng dữ liệu thay đổi theo. Dung lượng dữ liệu tăng theo bình phương tỉ lệ gia tăng độ phân giải. (Tham khảo [6])

2.3.1.2 Dạng hình học và tính Topology của dữ liệu Raster

Đối tƣợng điểm (Point objects)

Mỗi đối tượng điểm là một điểm ảnh được gán ID điểm, toạ độ (i, j) và các thuộc tính.

Hình 2.10: Điểm trong cấu trúc raster

(nguồn: Trần Vĩnh Phước (2003))

Đối tƣợng đƣờng (Line objects)

Mỗi đối tượng đường được gán ID đường, chuỗi tọa độ định dạng đường và các thuộc tính.

Hình 2.11: Đường trong cấu trúc raster

(nguồn: Trần Vĩnh Phước (2003))

Đối tƣợng vùng (Polygon objects)

Mỗi đối tượng vùng được gán ID vùng, nhĩm tọa độ định dạng vùng và thuộc tính.

Hình 2.12: Vùng trong cấu trúc raster

(nguồn: Trần Vĩnh Phước (2003))

Hƣớng chảy

Một đường thẳng với các hướng cĩ thể được biểu diễn bởi 4 hướng (được gọi là Rook’s move) hoặc 8 hướng ( được gọi là Queen’s move).

Dịng nước, liên kết trong một mạng, đường giao thơng cĩ thể được biểu diễn qua các hướng chảy (hay cịn được gọi là mã xích Freeman: Freeman chain code).

Hình 2.13: Hướng chảy trong raster

(nguồn: Trần Vĩnh Phước (2003))

Đƣờng bao (Boundary)

Đường bao được định nghĩa là một cửa sổ 2x2 pixel với hai lớp khác nhau.

Hình 2.14: Đường bao trong raster

(nguồn: Trần Vĩnh Phước (2003))

Nút (Node) (adsbygoogle = window.adsbygoogle || []).push({});

Nút được định nghĩa như một cửa sổ (Window) 2x2 pixel trong đĩ cĩ ít nhất 3 lớp khác nhau.

Hình 2.15:Nút trong raster

(nguồn: Trần Vĩnh Phước (2003))

2.3.2 Cấu trúc dữ liệu Vector

Các đối tượng khơng gian khi biểu diễn ở cấu trúc vector thường tổ chức dưới dạng điểm, đường và vùng trên một hệ thống tọa độ xác định. Mỗi điểm được xác định bởi một cặp toạ độ (x,y); đường được xác định bởi một chuỗi liên tiếp các điểm và vùng được xác định bởi một đường khép kín.

Hai cấu trúc dữ liệu Vector thơng dụng là cấu trúc Spaghetti và cấu trúc Topology. Trong cấu trúc vector các đối tượng trong khơng gian được phân loại thành 3 dạng:

Đối tượng điểm: Điểm dùng cho tất cả các đối tượng khơng gian mà biểu diễn như một cặp tọa độ (x,y).

Đối tượng đường: Đường được dùng để biểu diễn tất cả các đối tượng cĩ dạng tuyến, được tạo nên từ hai hoặc nhiều cặp tọa độ (x,y).

Đối tượng vùng: Vùng là một đối tượng hình học hai chiều.

Hình 2.16: Điểm, Đường, Vùng trong cấu trúc vector

(nguồn: Trần Vĩnh Phước (2003))

2.3.2.1 Cấu trúc Spaghetti

 Điểm được xác định bằng một cặp tọa độ (x,y).

Điểm

Đường

Đường cong

 Đường được biểu diễn bằng một chuỗi những cặp toạ độ (xi,yi).

 Vùng được xác định bởi một cung khép kín và được biểu diễn bằng một chuỗi cặp tọa độ (xi,yi) cĩ tọa độ đầu và tọa độ cuối trùng nhau. Cấu trúc khơng ghi nhận đặc trưng kề nhau của hai vùng kề nhau, nghĩa là tại đường chung của hai vùng kề nhau cĩ hai đường độc lập. Cấu trúc Spaghetti được sử dụng để lập bản đồ số rất tốt, nhưng khơng thích hợp cho các bài tốn phân tích GIS vì khơng mơ tả được các quan hệ khơng gian.

Hình 2.17: Cấu trúc Spaghetti

(nguồn: Trần Vĩnh Phước (2003))

2.3.2.2 Cấu trúc topology

Tính topology rất cần thiết trong quá trình phân tích khơng gian. Topology thể hiện mối quan hệ hoặc sự liên kết giữa các đối tượng trong khơng gian. Topology là một phương pháp tốn học dùng để xác định các quan hệ khơng gian. Cấu trúc topology cịn được gọi là cấu trúc cung-nút (arc-node) với phần tử cơ bản là cung.

 Mỗi cung được mơ tả như là một chuỗi những đoạn thẳng nối liền nhau, điểm đầu và cuối cung gọi là nút (node), những điểm giữa cung gọi là đỉnh (vertex).

 Nút là điểm giao nhau của hai hay nhiều cung, đối với những cung độc lập, nút là điểm cuối cùng của cung, khơng nối liền với bất kỳ cung nào khác.

 Vùng là một chuỗi những cung nối liền nhau và khép kín, những cung này chính là đường biên của vùng.

nhau và khơng cắt nhau.

Hình 2.18: Điểm, đường, vùng trong cấu trúc topology

(nguồn: Trần Vĩnh Phước (2003))

Các đối tượng địa lý trong cấu trúc topology được mơ tả trong hình 2.19:

Hình 2.19: Cấu trúc topology của đối tượng địa lý (nguồn: Trần Vĩnh Phước (2003)) (adsbygoogle = window.adsbygoogle || []).push({});

- Bảng topology vùng xác định những cung làm đường biên của vùng, phần bên ngồi bản đồ cũng được xem như một vùng khơng xác định cung đường biên.

- Bảng topology nút xác định mỗi nút thuộc những cung nào. - Bảng topology cung xác định quan hệ của nút và vùng với cung.

- Bảng thứ tư lưu trữ tọa độ của các cung bằng cách lưu trữ tọa độ của các nút và đỉnh của cung, để từ đĩ vị trí của mỗi phần tử trên bản đồ được liên hệ với thế giới thực.

2.3.3 Cấu trúc TIN

Các điểm phân bố khơng đều tham gia tạo thành một mạng tam giác khớp với nhau. Các đỉnh của những tam giác này là những điểm gốc. Bản thân các tam giác này là những vùng. Các cạnh của tam giác là một trường hợp đặc biệt của chuỗi (chain) - các đoạn thẳng với các nút (node) cũng là các đỉnh (Vertex). Mỗi tam giác hay “bề mặt (facet)” cĩ thể được xem xét như các mặt phẳng (planar).

Dạng hình học của các mặt phẳng được định nghĩa hồn tồn bởi các giá trị (x,y,z) của 3 nút. Cấu trúc topology của một TIN được lưu trữ một cách khá rõ ràng theo nhiều cách khác nhau.

 Cách lưu trữ topology của TIN phổ biến nhất là cách sử dụng các tam giác làm các đối tượng khơng gian cơ bản với các liên kết Topology tới các tam giác lân cận và một tập các điểm.

 Cách thứ hai là cách sử dụng các nút là những phần tử khơng gian cơ bản với các liên kết tới những điểm được nối tới nĩ.

2.3.4 Quan hệ topology giữa các đối tƣợng khơng gian

Trong thực tiễn ứng dụng GIS, tất cả các quan hệ khơng gian cĩ thể cĩ trong dữ liệu khơng gian được sử dụng một cách logic với nhiều cấu trúc dữ liệu phức tạp.

Hình 2.20: Quan hệ topology giữa các đối tượng (nguồn: Trần Vĩnh Phước (2003))

Quan hệ điểm-điểm

- “Trong giới hạn (is within)”: Nằm trong giới hạn một khoảng cách cụ thể. - “Gần nhất với (is nearest to)”: Gần nhất so với một điểm cụ thể.

Quan hệ điểm-đƣờng

- “Nằm trên đường (on line)”: điểm nằm trên một đường.

- “Gần nhất với (is nearest to)”: Điểm gần nhất so với một đường.

Quan hệ điểm-vùng

- “Chứa bên trong vùng (is contained in)”: Điểm chứa bên trong vùng. - “Nằm trên biên (on border of area)”: Một điểm nằm trên đường biên của vùng.

Quan hệ đƣờng-đƣờng

- “Giao nhau (intersects)”: Hai đường giao nhau.

- “Băng qua (crosses)”: Hai đường băng qua mà khơng giao nhau. - “Chảy vào (flow into)”: Một nhánh sơng chảy vào một dịng sơng.

Quan hệ đƣờng-vùng

- “Giao nhau (intersects)”: Một đường giao (cắt) với một vùng. - “Đường biên (borders)”: Đường là một phần biên của vùng.

Quan hệ vùng-vùng

- “Chồng lớp (overlaps)”: Hai vùng chồng lên nhau.

- “Nằm bên trong (is within)”: Một vùng nằm bên trong một vùng khác. - “Kế cận (is adjacent to)”: Hai vùng cùng cĩ một đường biên chung.

2.4 CẤU TRÚC DỮ LIỆU KHƠNG GIAN TRONG SQL SERVER

Cĩ hai kiểu dữ liệu khơng gian được định nghĩa trong SQL2008 là

Geography Geometry. Cả hai đều được thực hiện như các loại Microsoft NET Framework Common Language Runtime (CLR) và cĩ thể được sử dụng để lưu trữ các loại khác nhau của các yếu tố địa lý như điểm, đường và vùng. Cả hai loại dữ liệu cung cấp các thuộc tính và các phương thức cĩ thể sử dụng để thực hiện các hoạt động khơng gian như tính tốn khoảng cách giữa các địa điểm và tìm ra các điểm giao nhau.

2.4.1 Kiểu dữ liệu Geography: (adsbygoogle = window.adsbygoogle || []).push({});

Kiểu dữ liệu Geography cung cấp một cấu trúc lưu trữ dữ liệu khơng gian được xác định bằng các cặp tọa độ (vĩ độ và kinh độ). Điển hình của việc sử dụng loại dữ liệu này là xác định các tuyến đường, các tịa nhà, hoặc các đặc điểm địa lý như dữ liệu vector cĩ thể được phủ lên một bản đồ raster cơ sở cĩ tính đến độ cong của trái đất, hoặc tính các khoảng cách vịng trịn cực lớn như quỹ đạo đường bay trong vận tải hàng khơng.

2.4.2 Kiểu dữ kiệu Geometry:

Kiểu dữ liệu Geometry cung cấp một cấu trúc lưu trữ dữ liệu khơng gian được xác định bởi các tọa độ trên một mặt phẳng tùy ý. Kiểu dữ liệu này thường được sử dụng trong các hệ thống lập bản đồ khu vực, hoặc cho các bản đồ sơ bộ - yếu tố độ cong của Trái đất khơng cần thể hiện trong các bản đồ này.

Geometry là kiểu dữ liệu phù hợp với Open Geospatial Consortium (OGC) Simple Features for SQL Specification version 1.1.0 và phù hợp với SQL MM (ISO tiêu chuẩn). (Tham khảo [12])

Cả hai loại dữ liệu khơng gian trong SQL Server 2008 cung cấp một bộ các instance và phương thức cĩ thể sử dụng để thực hiện các truy vấn và các hoạt động trên dữ liệu khơng gian.

Kiểu dữ liệu Geography và Geometry hỗ trợ 11 đối tượng dữ liệu khơng gian. Tuy nhiên, chỉ cĩ 7 trong số các loại là instantiable nghĩa là ta cĩ thể tạo và làm việc với những trường hợp này (hoặc khởi tạo chúng) trong một cơ sở dữ liệu. Các trường cịn lại kế thừa những thuộc tính từ các kiểu dữ liệu cha mẹ của nĩ để phân biệt chúng như Curve, MultiCurve, Surface, MultiSurface, CurvePolygons và Geometry. (Tham khảo [13])

Hình vẽ dưới đây mơ tả hệ thống phân cấp Geometry dựa trên các kiểu dữ liệu Geometry và Geography. Các kiểu Instantiable của Geometry và Geography được chỉ định màu xanh lam.

Hình 2.21: Các kiểu dữ liệu khơng gian trong SQL Server (nguồn: http://technet.microsoft.com)

Hình trên cho thấy, bảy loại instantiable của kiểu dữ liệu Geometry và Geography là Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon và GeometryCollection. Các kiểu dữ liệu Geometry và Geography cĩ thể nhận ra một trường hợp cụ thể miễn là nĩ được định dạng đúng, thậm chí nếu khi nĩ khơng được xác định một cách rõ ràng. Ví dụ, nếu ta xác định một trường hợp điểm một cách rõ ràng bằng cách sử dụng phương thức STPointFromText (), Geometry và Geography nhận ra thể hiện này là Point. Nếu ta định nghĩa cùng trường hợp trên bằng cách sử dụng các phương thức STGeomFromText (), các loại dữ liệu của cả 2 kiểu Geometry và Geography cũng nhận biết được đây là thể hiện của một điểm. (Tham khảo [13])

Các kiểu dữ liệu của Geometry và Geography được chia thành 2 nhĩm là Simple và Collection. Trong đĩ loại Simple bao gồm các kiểu: Point, LineString, CircularString, CompoundCurve, Polygon và CurvePolygon. Loại Collection bao gồm các kiểu: MultiPoint, MultiLineString, MultiPolygon, GeometryCollection.

Bảng 2.1: Các kiểu dữ liệu khơng gian trong SQL server (2008)

Point

Point là một đối tượng đại diện cho một điểm duy nhất. Nĩ luơn luơn được xác định bởi cặp tọa độ ( X,Y) và cĩ thể cĩ thêm một độ cao Z và một độ đo M.

MultiPoint

Đối tượng MultiPoint là một tập hợp của các điểm. Nĩ khác với LineString và Polygon là khơng cĩ kết nối giữa các điểm trong tập hợp điểm. Vì vậy MutiPoint là đối tượng khơng cĩ ranh giới.

LineString

LineString cũng là một bộ tập hợp của các điểm được kết nối với nhau. Đối tượng LineString đại diện cho các phân đoạn đường kết nối các điểm.

MultiLineString

Một MultiLineString chỉ đơn giản là một tập hợp của LineStrings.

Polygon

Polygon là một tập hợp của các điểm đại diện cho một bề mặt hai chiều. Một Polygon cĩ thể bao gồm một vịng bên ngồi và một số các vịng bên trong. Các vịng bên trong khơng cắt nhau.

MultiPolygon

MultiPolygon là một tập hợp các Polygon.

GeometryCollection

GeometryCollection là một tập hợp các đối tượng Geometry hoặc Geography.

(nguồn: http://technet.microsoft.com)

2.4.3 Sự khác nhau giữa kiểu dữ liệu Geometry và Geography trong SQL Server

nhau nhưng cũng cĩ một số khác biệt quan trọng trong việc lưu trữ dữ liệu và thao tác trên chúng.

a) Cạnh kết nối

- Dữ liệu xác định cho LineString và Polygon là các đỉnh. Cạnh kết nối giữa hai đỉnh trong Geometry là một đường thẳng. Tuy nhiên, cạnh kết nối giữa hai đỉnh trong Geography lại là một cung. (adsbygoogle = window.adsbygoogle || []).push({});

- Cung trong Geometry được xác định trên mặt phẳng XY của hệ tọa độ Đêcac (giá trị Z được bỏ qua). Trong Geography Cung được xác định bởi các phân đoạn đường cong trên một quả cầu tham chiếu.

b) Đơn vị trong các phép đo lường

- Trong kiểu dữ liệu Geometry, hay trong khơng gian phẳng, các phép đo khoảng cách và các khu vực được đưa ra trong cùng một đơn vị đo lường là tọa độ. Ví dụ khi sử dụng kiểu dữ liệu Geometry, khoảng cách giữa 2 điểm A(2, 2) và B(5, 6) là 5 đơn vị, bất kể các đơn vị được sử dụng.

- Trong hệ thống elip sử dụng kiểu dữ liệu Geography tọa độ được đưa ra ở mức độ vĩ độ và kinh độ. Đơn vị đo lường phụ thuộc vào định danh tham chiếu khơng gian (SRID) của thể hiện vị trí địa lý. Các đơn vị phổ biến nhất của đo lường đối với các kiểu dữ liệu Geography là mét.

c) Hướng của dữ liệu khơng gian

Trong hệ thống phẳng (sử dụng kiểu Geometry), hướng của một Polygon khơng phải là một yếu tố quan trọng. Ví dụ, một Polygon được mơ tả bởi các đỉnh ((0, 0), (10, 0), (0, 20), (0, 0)) là tương tự như một Polygon được mơ tả bởi các đỉnh ((0, 0), (0, 20), (10, 0), (0, 0)). Tiêu chuẩn Open Geospatial Consortium (OGC) Simple Features for SQL Specification khơng yêu cầu về hướng và SQL Server khơng thực thi hướng trong kiểu dữ liệu Geometry.

Trong một hệ thống elip, một Polygon sẽ khơng cĩ ý nghĩa hoặc rất mơ hồ khi nĩ khơng cĩ định hướng. Ví dụ, một vịng quanh đường xích đạo cĩ thể mơ tả bán cầu phía bắc hoặc phía nam? Nếu chúng ta sử dụng các kiểu dữ

liệu địa lý để lưu trữ các trường hợp khơng gian, chúng ta phải xác định định hướng của vịng và mơ tả chính xác vị trí.

2.5 CƠ SỞ DỮ LIỆU KHƠNG GIAN GEODATABASE 2.5.1 Đặc điểm và các loại Geodatabase 2.5.1 Đặc điểm và các loại Geodatabase

Khái niệm Geodatabase ra đời bởi Esri cùng với sự ra đời của họ phần mềm ArcInfo 8.x. Geodatabase là một cơ sở dữ liệu cho phép lưu trữ, truy vấn và xử lý dữ liệu địa lý được lưu trữ bởi các cấu trúc dữ liệu khác nhau. Hai cấu trúc dữ liệu thường được sử dụng là raster và vector. Ngồi ra Geodatabase cịn cĩ khả năng lưu trữ và quản lý các quan hệ khơng gian (Topololy, Network), ràng buộc dữ liệu (Domain, Subtype) và các giao tác dữ liệu. Như vậy để cĩ được một hệ thống Gis hồn chỉnh thì ta cần phải xây dựng Geodatabase vì những lợi ích mà nĩ mang lại.

Việc thiết kế cơ sở dữ liệu đĩng vai trị quan trọng và mang tính quyết định trong tiến trình xây dựng hệ thống GIS. Đây cũng là vấn đề địi hỏi nhiều cơng sức và thời gian. Với sự tiến bộ của cơng nghệ phần mềm hướng đối tượng đã cung cấp một số phương pháp và cơng cụ thiết kế Geodatabase khá hữu hiệu giúp cho việc thiết kế Geodatabase trở nên đơn giản hơn và ít sai sĩt.

Geodatabase cĩ các đặc điểm chức năng sau:

+ Lưu trữ một tập hợp đa dạng của dữ liệu khơng gian ở một nơi tập trung.

+ Áp dụng các quy tắc phức tạp và các mối quan hệ của dữ liệu.

+ Xác định các quan hệ khơng gian giữa các đối tượng địa lý (topologies, networks).

+ Duy trì tính tồn vẹn của dữ liệu khơng gian trong cơ sở dữ liệu.

Một phần của tài liệu Luận văn thạc sĩ công nghệ thông tin Mô hình dữ liệu không gian áp dụng cho mạng lưới cấp nước (Trang 31 - 97)