Xây dựng cơng cụ phân tích dữ liệu viễn thám và GIS

Một phần của tài liệu (LUẬN văn THẠC sĩ) ứng dụng viễn thám và GIS đánh giá tổng hợp điều kiện tự nhiên, kinh tế xã hội phục vụ phát triển nuôi trồng thủy sản nước lợ (Trang 43 - 58)

CHƯƠNG 1 : CƠ SỞ KHOA HỌC VÀ PHƯƠNG PHÁP NGHIÊN CỨU

1.4. Phương pháp thực hiện

1.4.4. Xây dựng cơng cụ phân tích dữ liệu viễn thám và GIS

1.4.4.1. Lựa chọn ngôn ngữ

Phát triển công cụ phân tích dữ liệu GIS và viễn thám dựa trên nền tảng công nghệ mã nguồn mở để giảm thiểu chi phí đầu tư cơng nghệ ban đầu cho cả phần cứng lẫn phần mềm. Hệ điều hành mã nguỗn mở Linux-Ubuntu được lựa chọn để phát triển cơng cụ vì một số lí do sau:

 Khơng phải trả phí mua bản quyền

 Chứa đựng các môi trường phát triển ứng dụng đa dạng như Python, Csharp, Visual Basic, C++...

 Chứa đựng các thư viện phát triển ứng dụng quản lý dữ liệu không gian mã nguồn mở

 Cho phép đóng gói ứng dụng dễ dàng ...

Python là một ngơn ngữ lập trình thơng dịch do Guido van Rossum tạo ra năm 1990. Python hoàn toàn tạo kiểu động và dùng cơ chế cấp phát bộ nhớ tự động; do vậy nó tương tự như Perl, Ruby, Scheme, Smalltalk, và Tcl. Python được phát triển trong một dự án mã mở, do tổ chức phi lợi nhuận Python Software Foundation quản lý.

Theo đánh giá của Eric S. Raymond, Python là ngơn ngữ có hình thức rất sáng sủa, cấu trúc rõ ràng, thuận tiện cho người mới học lập trình. Cấu trúc của Python cịn cho phép người sử dụng viết mã lệnh với số lần gõ phím tối thiểu, như nhận định của chính Guido van Rossum trong một bài phỏng vấn ông.

Ban đầu, Python được phát triển để chạy trên nền Unix. Nhưng rồi theo thời gian, nó đã "bành trướng" sang mọi hệ điều hành từ MS-DOS đến Mac OS, OS/2, Windows, Linux và các hệ điều hành khác thuộc họ Unix. Mặc dù sự phát triển của Python có sự đóng góp của rất nhiều cá nhân, nhưng Guido van Rossum hiện nay vẫn là tác giả chủ yếu của Python. Ơng giữ vai trị chủ chốt trong việc quyết định hướng phát triển của Python.

dựng sẵn (built-in) của Python. Ta cũng có thể mở rộng chức năng của trình thơng dịch, hoặc liên kết các chương trình Python với các thư viện chỉ ở dạng nhị phân (như các thư viện đồ họa do nhà sản xuất thiết bị cung cấp). Hơn thế nữa, ta cũng có thể liên kết trình thơng dịch của Python với các ứng dụng viết từ C và sử dụng nó như là một mở rộng hoặc một ngơn ngữ dịng lệnh phụ trợ cho ứng dụng đó.

Python là một ngơn ngữ lập trình dạng thơng dịch, do đó có ưu điểm tiết kiệm thời gian phát triển ứng dụng vì khơng cần phải thực hiện biên dịch và liên kết. Trình thơng dịch có thể được sử dụng để chạy file script, hoặc cũng có thể được sử dụng theo cách tương tác. Ở chế độ tương tác, trình thông dịch Python tương tự shell của các hệ điều hành họ Unix, tại đó, ta có thể nhập vào từng biểu thức rồi gõ Enter, và kết quả thực thi sẽ được hiển thị ngay lập tức. Đặc điểm này rất hữu ích cho người mới học, giúp họ nghiên cứu tính năng của ngơn ngữ; hoặc để các lập trình viên chạy thử mã lệnh trong suốt quá trình phát triển phần mềm. Ngồi ra, cũng có thể tận dụng đặc điểm này để thực hiện các phép tính như với máy tính bỏ túi.

Python sử dụng hệ thống kiểu duck typing, còn gọi là latent typing (tự động xác định kiểu). Có nghĩa là, Python không kiểm tra các ràng buộc về kiểu dữ liệu tại thời điểm dịch, mà là tại thời điểm thực thi. Khi thực thi, nếu một thao tác trên một đối tượng bị thất bại, thì có nghĩa là đối tượng đó khơng sử dụng một kiểu thích hợp. Python cũng là một ngơn ngữ định kiểu mạnh. Nó cấm mọi thao tác khơng hợp lệ, ví dụ cộng một con số vào chuỗi ký tự. Sử dụng Python, ta không cần phải khai báo biến. Biến được xem là đã khai báo nếu nó được gán một giá trị lần đầu tiên. Căn cứ vào mỗi lần gán, Python sẽ tự động xác định kiểu dữ liệu của biến.

Python cho phép chia chương trình thành các module để có thể sử dụng lại trong các chương trình khác. Nó cũng cung cấp sẵn một tập hợp các modules chuẩn mà lập trình viên có thể sử dụng lại trong chương trình của họ. Các module này cung cấp nhiều chức năng hữu ích, như các hàm truy xuất tập tin, các lời gọi hệ thống, trợ giúp lập trình mạng

Python là một ngơn ngữ đa biến hóa (multiple paradigms). Có nghĩa là, thay vì ép buộc mọi người phải sử dụng duy nhất một phương pháp lập trình, Python lại cho phép sử dụng nhiều phương pháp lập trình khác nhau: hướng đối tượng, có cấu trúc, chức năng, hoặc chỉ hướng đến một khía cạnh. Python kiểu kiểu động và sử dụng bộ thu gom rác để quản lý bộ nhớ. Một đặc điểm quan trọng nữa của Python là giải pháp tên động, kết nối tên biến và tên phương thức lại với nhau trong suốt thực thi của chương trình.

Với những ưu điểm rộng rãi của Python hiện nay cũng như cho phép can thiệp vào một số module đã có sẵn trên hệ điều hành đặc biệt là các thư viện truy cập dữ liệu không gian mã nguồn mở nên việc lựa chọn ngôn ngữ này là một giải pháp tối ưu để giảm thiểu thời gian phát triển cơng cụ phân tích dữ liệu khơng gian và dữ liệu ảnh có gắn thơng tin địa lý như ảnh VNREDSat-1 hiện nay.

1.4.4.2. Xây dựng phần mềm

Để thao tác với các dữ liệu liên quan đến không gian trong các ứng dụng sử dụng GIS và viễn thám cần có các phần mềm chuyên dụng. Các phần mềm thương mại lớn hiện nay bao gồm tất cả các chức năng phân tích khơng gian, xử lý dữ liệu đủ sức giải quyết tất cả các nhiệm vụ trong các ứng dụng liên quan đến thế giới thực. Tuy nhiên các phần mềm thương mại thường rất đắt và phải có bản quyền.

Vì vậy, tơi thấy cần phải xây dựng một phần mềm công cụ với một số chức năng cơ bản chỉ cần đủ để giải quyết các phân tích ứng dụng GIS và viễn thám. Do đó, mục tiêu của phần mềm là cung cấp một công cụ trợ giúp với các chức năng hạn chế trong các chức năng cơ bản cho phép người dùng không cần quá nhiều kỹ

năng và hiểu biết về viễn thám và GIS dễ dàng thực hiện một số hoạt động liên quan đến mục tiêu đánh giá ảnh hưởng và kiểm soát một số yếu tố chất lượng nước quan trọng ảnh hưởng đến công tác nuôi trồng thủy sản.

Các yêu cầu chung của công cụ hỗ trợ này bao gồm:

- Cơng cụ phải tích hợp các chức năng cơ bản tương tác hay nói cách khác là làm việc với các lớp dữ liệu GIS (là các lớp dữ liệu khơng gian có thuộc tính đặc trưng đi kèm).

- Cơng cụ phải có các chức năng xử lý ảnh viễn thám, cụ thể là ảnh vệ tinh VNREDSat-1 phù hợp cho cơng tác tính tốn một số tham số chất lượng nước như Chlorophyll-a, vật chất lơ lửng… theo các thuật toán tiên tiến đang được sử dụng trên thế giới

- Công cụ phải dễ dàng cài đặt, sử dụng, phù hợp với trình độ nhiều đối tượng người dùng khác nhau.

Cơng cụ sẽ có hai mơ đun chính: mơ đun hỗ trợ phân tích dữ liệu GIS và mơ đun hỗ trợ phân tích dữ liệu Viễn thám. Trong các mơ đun này là các mô đun nhánh hay chức năng được thiết kế để thực hiện mục tiêu đã đề ra. Có thể khái quát kiến trúc tổng thể của cơng cụ trong sơ đồ sau:

Hình 1.7. Các hợp phần của phần mềm PHẦN MỀM PHẦN MỀM Xử lý ảnh Phân tích, xử lý dữ liệu GIS Hiển thị dữ liệu GIS Chồng ghép dữ liệu Hiển thị ảnh Nắn chỉnh hiệu ứng khí quyển Phân tích dữ liệu ảnh Tách nước Tính tốn các tham số chất lượng nước Hiển thị kết quả dạng bản đồ

a) Phát triển module hỗ trợ phân tích dữ liệu GIS i. Module hiển thị dữ liệu GIS

Phân tích dữ liệu khơng gian dạng vector chính là q trình kết nối các thơng tin dạng hình học (điểm, tuyến - đường, vùng - diện) với nhau. Đối tượng hiển thị và phân tích đơn giản nhất là đối tượng dạng điểm sau đó đến đối tượng dạng tuyến (đường) và phức tạp nhất là đối tượng dạng vùng (diện).

Các đối tượng hiển thị nhằm khái quát hóa các thơng tin trên bề mặt trái đất phụ thuộc vào mục tiêu hiển thị trên bản đồ nhằm giúp người đọc bản đồ có thể nhận biết dễ dàng thơng tin tương ứng trên bản đồ với các địa vật ngoài thực tế.

Module này cần thiết để hiển thị các dữ liệu có đặc trưng GIS bao gồm cả dữ liệu đồ họa và dữ liệu thuộc tính đi kèm.

Hình 1.8. Các dạng dữ liệu Vector

OGR là thư viện mã nguồn mở thông dụng nhất hiện nay cho phép mở tất cả các định dạng dữ liệu Vector

ii. Module phân tích dữ liệu GIS

Trong q trình phân tích dữ liệu Vector, các phương pháp phân tích dữ liệu thơng dụng như giao cắt (Intersection, Union, Difference ...) được đưa vào trong hệ thống để đáp ứng các yêu cầu kĩ thuật cơ bản về biên tập dữ liệu Vector

Hình 1.9. Các trường hợp giao cắt đối tượng dạng vùng b) Phát triển module hỗ trợ phân tích dữ liệu viễn thám b) Phát triển module hỗ trợ phân tích dữ liệu viễn thám

i. Module hiển thị dữ liệu viễn thám

Việc hiển thị dữ liệu viễn thám được thực hiện theo 2 phương pháp tách biệt:

 Tổ hợp màu trong trường hợp phối hợp nhiều băng phổ màu khác nhau

 Hiển thị theo độ xám hoặc độ dốc màu được định nghĩa đối với kênh phổ đơn.

Đối với tổ hợp màu, tốc độ hiển thị phụ thuộc khá nhiều vào phương pháp tăng cường chất lượng hiển thị. Để tăng cường tốc độ hiển thị, module tăng cường hiển thị được phát triển cho từng kênh màu trước khi tổ hợp.

Phát triển giao diện định nghĩa hệ tọa độ ảnh gốc:

 Chọn tệp tin ảnh gốc do nhà cung cấp ảnh cung cấp

 Chọn tệp dữ liệu thông tin ảnh (*.DIM)

 Đặt tên cho tệp ảnh sẽ được định nghĩa tọa độ

ii. Module hiệu chỉnh khí quyển

Cơng tác quan sát Trái đất được thực hiện trên toàn cầu với các hệ thống quang học khác nhau do nhiều cơ quan điều khiển phục vụ các nhiệm vụ và mục đích riêng biệt. Nhưng mục tiêu chính ln là tìm hiểu đặc điểm các đối tượng bề mặt để bản đồ hóa và xem chúng thay đổi như thế nào theo thời gian và khác nhau như thế nào trong những khoảng thời gian, hay thực hiện một số xử lý khác. Các tín hiệu thu nhận được từ vệ tinh hay máy bay trong vùng nhìn thấy và cận hồng ngoại

là một tập của bề mặt Trái đất, ảnh hưởng khí quyển và các sai số của cảm biến. Do vậy, đối với các nghiên cứu lượng hóa thơng tin bề mặt trái đất, thì ảnh hưởng của trạng thái khí quyển cần phải loại bỏ khỏi tín hiệu thu được. Quá trình loại bỏ ảnh hưởng của khí quyển thường được gọi là hiệu chỉnh khí quyển hay bù khí quyển.

Trong khí quyển, các loại khí, sol khí và mây gây ra hiện tượng tán xạ, hấp thụ bức xạ mặt trời và có thể là thay đổi giá trị phản xạ từ Trái đất. Sự suy giảm này có thể ảnh hưởng đến cường độ và cấu phần phổ của bức xạ. Các ảnh hưởng chính là nguyên nhân gây ra thông qua cơ chế tán xạ và hấp thụ trong khí quyển do các phân tử khí, sol khí và các hạt bụi. Ảnh hưởng của khí quyển khác nhau đối với quãng đường mà bức xạ truyền trong nó từ nguồn phát đến cảm biến và đồng thời cũng khác nhau với mức năng lượng tín hiệu điện từ mà cảm biến thu nhận được.

Tín hiệu thu nhận được trên vệ tinh là giá trị phổ tương ứng tích hợp của giá trị của đối tượng với độ rộng kênh phổ được thiết kế; tín hiệu này được cung cấp cho người dùng dưới dạng giá trị độ xám (DN_digital number). Ở các ảnh thô không xử lý, giá trị DN khơng được lượng hóa ở một đại lượng vật lý nào như bức xạ, phản xạ hay nhiệt độ. Như vậy, các nghiên cứu viễn thám có ý định sử dụng dữ liệu vệ tinh để đánh giá lượng hóa đặc điểm phản xạ phổ đối tượng trên mặt đất cần tính chuyển giá trị độ xám sang giá trị phản xạ phổ của đối tượng/phản xạ phổ tuyệt đối.

Hiệu chỉnh khí quyển gồm hai phần: Phần thứ nhất là loại bỏ tán xạ của phần tử chất lỏng hoặc khí ở dạng trong suốt, thành phần trong suốt này làm lệch hướng mạnh ở các bước sóng ngắn và giảm dần lên các bước sóng cao. Phần này thường nằm từ độ cao 15 - 25km tính từ mặt đất đến đỉnh khí quyển. Phần thứ hai là vùng sol khí (cịn gọi là aerosol), đây là nơi tập trung là nơi tập trung sự phân bố của các hạt chất rắn hoặc các giọt chất lọc. Các hạt này có nguồn gốc từ tự nhiên (sương mù, bốc hơi nước do nhiệt độ bề mặt, khói bụi núi lửa ...) hoặc con người (xả thải của nhà máy, phương tiện giao thông ...). Do độ dầy của tầng sol khí phụ thuộc vào sự đa dạng về mật độ phân bố nên tán xạ của tầng sol khí rất khó xác định được chính xác.

Phản xạ của đỉnh khí quyển thu nhận tại bộ cảm của các vệ tinh quang học được xác định bởi công thức (1)

ρTOA(λ)=ρR(λ)+ρa(λ)+ρRa(λ)+T(λ)ρg(λ)+t(λ)ρwc(λ)+t(λ)ρw(λ) (1)

Trong đó, ρR(λ) là tán xạ của vùng khơng khí trong suốt; ρa(λ) là tán xạ của

vùng sol khí; và ρRa(λ) là tán xạ vùng giao giữa vùng trong suốt và vùng sol khí. T(λ) và t(λ) là hệ số truyền dẫn trực tiếp và khuếch tán của khí quyển. ρg(λ), ρwc(λ),

và ρw(λ) là tán xạ liên quan đến bóng nắng (sun glint), bọt nước (whitecaps), và mặt nước. Tán xạ do bóng nắng và bọt nước liên quan đến tốc độ gió tại bề mặt và vị trí giữa mặt trời, điểm chụp và vệ tinh [Curtis D. Mobley, 1999].

Với ρR(λ) và t(λ) được tính tốn theo phương pháp của Gordon và nnk, 1988. Tán xạ vùng giao thoa, ρRa(λ), là quá nhỏ và có thể bỏ qua [Gordon and Wang,

1994]. ρg(λ), ρwc(λ) được loại bỏ thông qua phương pháp tách nước. chính vì vậy,

giá trị tán xạ tại bề mặt nước có thể được tính bằng cơng thức (2) và phản xạ tại điểm ảnh ảnh được tính bằng cơng thức (3)

ρw(λ)= ρrc(λ)− ρa(λ)− ρRa(λ) t(λ) (2) ρa(λL)=(εi , j)nρa(λj) (3) εi , j= ρa(λi) ρa(λj) (4) n= λj− λL λj− λi (5)

Trong đó coi điểm nước trong suốt trên ảnh là điểm đen tuyệt đối [David A. Siegel và nnk, 2000] thì giá trị phản xạ sau hiệu chỉnh Rayleigh của kênh phổ cận hồng ngoại chính là phản xạ của tầng sol khí của kênh cận hồng ngoại. Với kích thước ảnh nhỏ như ảnh VNREDSat-1, nghiên cứu đề xuất đây là phản xạ của tầng sol khí trên tồn cảnh tại kênh phổ cận hồng ngoại. Giá trị phản xạ của tầng sol khí của các kênh phổ thấp được tính theo tương quan của hàm số mũ trong cơng thức (3, 4, 5). ρa(λL) là phản xạ tầng sol khí của các kênh Blue hoặc Green. i, j là kênh Red và NIR.

Giá trị phản xạ của của bề mặt nước tại mặt nước được tính theo cơng thức:

Rrs(λ) = ρw(λ)/п iii. Module phân tích dữ liệu viễn thám

Quá trình phân tích dữ liệu viễn thám dựa trên nền tảng phân tích dữ liệu thống kê của các đối tượng cần phân tích trên thực địa như thực vật, nước, cơng trình xây dựng, đất trống…

Hình 1.10. Phổ phản xạ các đối tượng phân tích trên ảnh VNREDSat-1 iv. Công cụ tách nước iv. Công cụ tách nước

Công cụ này được phát triển dựa trên nền ngơn ngữ lập trình mã nguồn mở Python để tạo ra một tổ hợp kết nối với các module. Quy trình tách nước được thực hiện dựa trên dữ liệu ảnh gốc đã được hiệu chỉnh hệ tọa độ và hiệu chỉnh khí quyển

Q trình tách nước đã đảm bảo tất cả các ảnh VNREDSat-1 ở các vị trí khác nhau trên toàn thế giới đều được tách nước theo cùng một thuật toán. Các điểm ảnh nước được tách độc lập với các đối tượng khác trên ảnh. Thuật toán được ứng dụng thực tế trên vùng biển Việt Nam với độ chính xác tuyệt đối. Trong đó các vùng

nước từ trong đến rất đục (hàm lượng vật chất lơ lửng cao) đã được gán vào cùng một lớp đối tượng.

Hình 1.11. Ảnh khu vực nghiên cứu và sản phẩm tách nước v. Tính tốn các thơng số mơi trường nước

Một phần của tài liệu (LUẬN văn THẠC sĩ) ứng dụng viễn thám và GIS đánh giá tổng hợp điều kiện tự nhiên, kinh tế xã hội phục vụ phát triển nuôi trồng thủy sản nước lợ (Trang 43 - 58)

Tải bản đầy đủ (PDF)

(96 trang)