1. Trang chủ
  2. » Công Nghệ Thông Tin

20521328 nguyễn thanh hiếu btth1

7 2 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Bài Tập Thực Hành Môn Hệ Thống Thông Tin Địa Lý 3 Chiều - IE402
Tác giả Nguyễn Thanh Hiếu
Trường học Standard Format Not All Caps
Chuyên ngành Hệ thống thông tin địa lý
Thể loại Bài Tập
Định dạng
Số trang 7
Dung lượng 514,6 KB

Nội dung

Trang 1 Bài tập thực hành môn Hệ thống thông tin địa lý 3 chiều - IE402 Bài 1: Biểu diễn không gian đơn giản lên CSDL Họ và Tên: Nguyễn Thanh Hiếu MSSV: 20521328Bài làmBài 1: Hãy tìm hiể

Trang 1

Bài tập thực hành môn Hệ thống thông tin địa lý 3 chiều - IE402

Bài 1: Biểu diễn không gian đơn giản lên CSDL

Họ và Tên: Nguyễn Thanh Hiếu

MSSV: 20521328

Bài làm

Bài 1: Hãy tìm hiểu và trình bày các hàm (ít nhất 4 hàm) phục vụ cho đối tượng về đia lý (geometry) trong SQL Server Các hàm đó được gọi là OGC Methods on Geometry

1 STIntersects(other_geometry): Hàm này kiểm tra xem hai đối tượng địa lý có

giao nhau hay không (chung 1 phần nào đó hay không) Nếu có giao nhau, nó trả

về giá trị 1 (TRUE); ngược lại, trả về 0 (FALSE)

2 STDifference(other_geometry): Hàm này trả về sự khác biệt giữa hai đối tượng

geometry Tìm ra phần không trùng nhau giữa chúng

3 STArea(): Hàm này tính diện tích của một đối tượng địa lý, như một đa giác hoặc

một vùng

4 STDistance(other_geometry): Hàm này thường được sử dụng để tính khoảng

cách giữa hai điểm, đường thẳng hoặc vùng địa lý

5 STLength(): Hàm này trả về chiều dài của đối tượng LineString hoặc

MultiLineString

6 STUnion(other_geometry): Hàm này trả về hợp của hai hoặc nhiều đối tượng

geometry Nó kết hợp các đối tượng lại với nhau để tạo ra một đối tượng lớn hơn

Bài 2: Dựa vào các hàm tìm hiểu được, hãy thực hiện các truy vấn sau đối với CSDL Farm:

a) Hãy tính diện tích của đối tượng paddock và island

Code:

Tính diện tích của đối tượng "paddock"

SELECT id_poly , name , geom STArea () AS Area

FROM polygon

WHERE name 'paddock' ;

Tính diện tích của đối tượng "island"

SELECT id_poly , name , geom STArea () AS Area

FROM polygon

WHERE name 'island' ;

Trang 2

Kết quả:

b) Tính diện tích của tất cả các đối tượng đa giác có trong CSDL

Code:

SELECT id_poly , name , geom STArea () AS Area FROM polygon

Kết quả:

c) Hãy tìm và liệt kê xem các con vật nào thuộc vào khu vực của paddock

Code:

SELECT id_point , name , geom STIntersects (( SELECT geom FROM polygon WHERE id_poly =

1 )) FROM point

Kết quả:

d) Hãy tìm và liệt kê xem các con vật nào thuộc vào khu vực của island

Code:

SELECT id_point , name , geom STIntersects (( SELECT geom FROM polygon WHERE id_poly =

4 )) FROM point

Trang 3

Kết quả:

e) Hãy tìm và liệt kê xem các con vật nào thuộc vào khu vực của building

Code:

SELECT id_point , name , geom STIntersects (( SELECT geom FROM polygon WHERE id_poly =

3 )) FROM point

Kết quả:

f*) Hãy tìm và liệt kê xem các con vật nào thuộc vào khu vực của paddock Nếu thuộc vào khu vực của paddock thì trả về INSIDE, không thuộc thì trả về NOT INSIDE

Code:

CREATE FUNCTION intersect_geom ( @geom1 geometry , @geom2 geometry ) RETURNS VARCHAR ( 20 )

AS

BEGIN

IF ( @geom1 STIntersects ( @geom2 )= 1

RETURN 'INSIDE'

Trang 4

RETURN 'OUTSIDE'

END ;

SELECT id_point , name , dbo intersect_geom ( geom , ( SELECT geom FROM polygon WHERE id_poly = 1 )) FROM point

Kết quả:

g) Có bao nhiêu con vật trong khu vực island?

Code:

SELECT COUNT (*) AS NumAnimalsInIsland

FROM point

WHERE dbo intersect_geom ( geom , ( SELECT geom FROM polygon WHERE id_poly = 4 ))

'INSIDE' ;

Kết quả:

h) Có bao nhiêu con vật ngoài khu vực building?

Code:

SELECT COUNT (*) AS NumAnimalsOutBuilding

FROM point

WHERE dbo intersect_geom ( geom , ( SELECT geom FROM polygon WHERE id_poly = 3 ))

'OUTSIDE' ;

Kết quả:

Trang 5

i) Hãy tính chiều dài của cây cầu (bridge)

Code:

SELECT id_line , name , geom STLength () AS Chiều_dài

FROM line

Kết quả:

k) Hãy tính khoảng cách của con vật có tên là fox tới các con vật khác

Code:

SELECT p1 name AS FOX , p2 name AS Other_Animals , p1 geom STDistance ( p2 geom ) AS Distance

FROM point p1 , point p2

WHERE p1 name 'fox' AND p2 name <> 'fox' ;

Kết quả:

l**) Con vật nào cách xa nhất so với con cáo (fox)?

Code:

SELECT TOP 1 p2 name AS Other_Animals , p1 name AS FOX , p1 geom STDistance ( p2 geom ) AS Max_Distance

FROM point p1 , point p2

WHERE p1 name 'fox' AND p2 name <> 'fox'

ORDER BY Max_Distance DESC ;

Kết quả:

Trang 6

Bài 3: Hãy tìm hiểu các công cụ hay phần mềm giúp hiển thị trực quan dữ liệu không gian có sẵn

1 Microsoft Report Builder: là một công cụ phần mềm của Microsoft dùng để thiết

kế và tạo ra báo cáo Nó hoạt động tốt trong việc hiển thị dữ liệu không gian thông qua các báo cáo tương tác

2 ArcGIS: là một hệ thống thông tin địa lý mạnh mẽ cho việc tạo và quản lý bản đồ, phân tích dữ liệu địa lý và hiển thị trực quan dữ liệu không gian Nó cung cấp nhiều công cụ để tạo bản đồ và thực hiện phân tích không gian

3 Google Earth Pro: là một ứng dụng miễn phí của Google thực hiện thám hiểm và hiển thị dữ liệu không gian trên toàn thế giới Nó cung cấp nhiều công cụ tạo bản

đồ và định vị

4 GeoServer: GeoServer là một dự án mã nguồn mở cho phép bạn cung cấp dữ liệu không gian thông qua các tiêu chuẩn web như WMS (Web Map Service) và WFS (Web Feature Service)

5 PostGIS: PostGIS là một tiện ích mở rộng cho cơ sở dữ liệu PostgreSQL cho phép lưu trữ và truy vấn dữ liệu không gian Nó thường được sử dụng trong các ứng dụng web GIS

Bài 4: Sử dụng công cụ Microsoft Report Builder để trực quan hoá các đối tượng hình học trong bảng line, point, và polygon.

Ngày đăng: 17/02/2024, 11:37

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

TÀI LIỆU LIÊN QUAN

w