Hướng dẫn open raster in python - mở raster trong python
Wur GeoscriptingTuần 3, Bài 10: Xử lý dữ liệu raster với PythonJan Verbesselt, Jorge Mendes de Jesus, Aldo Bergsma, Dainius Masiliūnas, David Swinkels, Judith Verstegen, Corné Vreugdenhil-2022-01-17 Show
Nội dung chính ShowShow
Jan Verbesselt, Jorge Mendes de Jesus, Aldo Bergsma, Dainius Masiliūnas, David Swinkels, Judith Verstegen, Corné Vreugdenhil-2022-01-17Nội dung chính Show
Nội dung chính Show
Giới thiệuNgày nay, các mục tiêu học tập
Thiết lập môi trường Python Thông qua dịch vụ bảo hiểm webTừ một tập tin với gdal Ngày nay, các mục tiêu học tậpThiết lập môi trường Python Thông qua dịch vụ bảo hiểm web
Từ một tập tin với gdal Từ một tệp với rasterio
Điện toán mô hình chiều cao tán Điện toán chiều cao của các tòa nhà
Trực quan hóa dữ liệu raster Dữ liệu raster trong Python là gì? Phân tích dữ liệu raster là gì?Thiết lập môi trường PythonThông qua dịch vụ bảo hiểm web Từ một tập tin với gdalTừ một tệp với rasterio Điện toán mô hình chiều cao tán
API GDAL Python không phải là mô -đun Python được ghi chép tốt nhất. Do đó, Rasterio được giải thích như một mô -đun xử lý dữ liệu raster thay thế. Từ một tệp với rasterioRasterio đọc và ghi nhiều định dạng raster dựa trên GDAL, cung cấp các chức năng xử lý raster dựa trên các mảng numpy và Geojson, và tích hợp matplotlib trong mô -đun rasterio.plot để trực quan hóa. Rasterio xử lý nhiều ban nhạc, mặt nạ, phản hồi và lấy mẫu lại. Phần còn lại của bài học dưới đây là một tuyến đường hoàn chỉnh để xử lý rasterdataset. Chúng tôi sẽ sử dụng DEMS từ WCS cho khu vực nghiên cứu của chúng tôi, xử lý nó với rasterio, tính toán thông tin mới (CHM), phủ nó với dữ liệu vector đại diện cho các tòa nhà và trực quan hóa nó. Chúng ta hãy đọc trong dữ liệu raster mà chúng ta vừa lưu trữ từ WCS với Rasterio và vẽ nó bằng rasterio.plot: 0
Siêu dữ liệu hiển thị trình điều khiển (cách biết của GDAL cách hoạt động với định dạng tệp cụ thể), kiểu dữ liệu, giá trị NODATA, chiều rộng của raster về số lượng ô, chiều cao của raster về số lượng ô, số lượng dải raster trong bộ dữ liệu, phối hợp Hệ thống tham chiếu và giá trị chuyển đổi. Ở phần cuối, các lớp raster trong rasterio được lưu trữ dưới dạng mảng numpy, xuất hiện khi dữ liệu được đọc bằng phương pháp 0: 2Điện toán mô hình chiều cao tánMột mô hình chiều cao tán (CHM) cho thấy một dấu hiệu về chiều cao của cây. Nó có thể được tạo ra bằng cách trừ một mô hình địa hình kỹ thuật số từ mô hình bề mặt kỹ thuật số. Trong raster kết quả, mỗi giá trị ô biểu thị độ cao của cây trên địa hình bề mặt bên dưới. Rasterio dựa vào Numpy để thực hiện các hoạt động Raster Point. 0
Mặc dù chúng tôi đã áp dụng các khái niệm về mô hình chiều cao tán, nhưng khu vực chúng tôi chọn không chỉ chứa thảm thực vật trên đỉnh bề mặt mà còn cả các tòa nhà. Chiều cao của thảm thực vật và các tòa nhà do đó hiện đang được kết hợp trong raster CHM của chúng tôi. Điện toán chiều cao của các tòa nhàHãy để chúng tôi xác định chiều cao của các tòa nhà. Bước đầu tiên là tải xuống dữ liệu xây dựng từ dịch vụ tính năng Web Bag mà chúng tôi đã sử dụng trong hướng dẫn Vector. 1
Bước tiếp theo là thực hiện số liệu thống kê khu vực để có được giá trị chiều cao trung bình trên mỗi đa giác xây dựng. Chúng tôi sẽ làm điều này với các rasterstats mô -đun, sử dụng các tệp geodataFrames và .tif cho tác vụ này. Nó xuất hiện một Geojson. 2Bạn có thể nhận được một tin nhắn cảnh báo từ Rasterstats; Bạn có thể bỏ qua điều này. Trực quan hóa nhanh cho chúng ta thấy độ cao xuất phát từ dữ liệu raster trên bản đồ: 3
Viết dữ liệu raster vào một tệpĐể lưu trữ mảng Numpy dưới dạng tệp raster, Rasterio cần siêu dữ liệu đi kèm, như bạn đã thấy trước đây. Có thể sử dụng siêu dữ liệu của một raster hiện có hoặc để tạo nó từ đầu. Để tạo siêu dữ liệu từ đầu, CRS có thể được xác định với hàm từ rasterio và chuyển đổi với affine. Affine là một mô -đun Python tạo điều kiện cho các phép biến đổi affine, tức là & nbsp; tỷ lệ, xoay, phản chiếu hoặc sai lệch hình ảnh/raster/mảng. Rasterio có thể viết hầu hết các định dạng raster từ GDAL. Các nhà phát triển khuyên bạn nên sử dụng trình điều khiển địa lý để viết vì đây là định dạng được thử nghiệm tốt nhất và được hỗ trợ tốt nhất. 4Trực quan hóa dữ liệu rasterDữ liệu raster có thể được hiển thị bằng cách chuyển các mảng numpy cho matplotlib trực tiếp hoặc thứ hai thông qua một phương thức trong rasterio truy cập matplotlib cho bạn. Sử dụng matplotlib trực tiếp cho phép linh hoạt hơn, chẳng hạn như điều chỉnh huyền thoại, trục và nhãn, và phù hợp hơn cho các mục đích chuyên nghiệp. Việc trực quan hóa thông qua Rasterio yêu cầu ít mã hơn và có thể đưa ra ý tưởng nhanh về dữ liệu raster của bạn. Chúng tôi sẽ hiển thị cả hai cách tiếp cận. Hãy để chúng tôi thực hiện trực quan hóa DSM và DTM với matplotlib: 5Nếu bạn không thích colormap màu cam của matplotlib, có thể chọn một colormap khác. Cách tiếp cận thứ hai với Rasterio chỉ yêu cầu một dòng mã để tạo ra một cốt truyện. Bằng cách tạo các ô con, các số liệu có thể được kết hợp (cũng có thể được thực hiện với matplotlib trực tiếp). 6Rasterio cũng trực quan hóa biểu đồ đơn giản bằng cách gọi các chức năng của matplotlib. 7
Dữ liệu raster trong Python là gì?Dữ liệu raster hoặc lưới lưới được lưu trữ dưới dạng một lưới các giá trị được hiển thị trên bản đồ dưới dạng pixel. Mỗi giá trị pixel đại diện cho một khu vực trên bề mặt trái đất. Một tệp raster bao gồm lưới các ô thông thường, tất cả đều có cùng kích thước.a grid of values which are rendered on a map as pixels. Each pixel value represents an area on the Earth's surface. A raster file is composed of regular grid of cells, all of which are the same size.a grid of values which are rendered on a map as pixels. Each pixel value represents an area on the Earth's surface. A raster file is composed of regular grid of cells, all of which are the same size. Phân tích dữ liệu raster là gì?Phân tích dữ liệu raster dựa trên các ô và rasters.● Phân tích dữ liệu raster có thể được thực hiện ở cấp độ của từng tế bào hoặc các nhóm ô hoặc tế bào trong toàn bộ raster.● Một số hoạt động dữ liệu raster sử dụng một raster duy nhất;Những người khác sử dụng hai hoặc nhiều rasters.based on cells and rasters. ● Raster data analysis can be performed at the level of individual cells, or groups of cells, or cells within an entire raster. ● Some raster data operations use a single raster; others use two or more rasters.based on cells and rasters. ● Raster data analysis can be performed at the level of individual cells, or groups of cells, or cells within an entire raster. ● Some raster data operations use a single raster; others use two or more rasters. Làm thế nào để Python xử lý dữ liệu raster?Xử lý dữ liệu raster với Python và GDAL... Trích xuất tệp.Tải xuống dữ liệu cho bài học này từ liên kết này..... Mở một tập tin raster trong Python với GDAL.Với GDAL, bạn có thể đọc và viết một số định dạng raster khác nhau trong Python..... Mở tệp raster dưới dạng một mảng số..... Tiện ích dòng lệnh GDAL .. Ba loại dữ liệu raster là gì?Có ba loại dữ liệu raster có thể được lưu trữ trong cơ sở dữ liệu địa lý: bộ dữ liệu raster, danh mục raster và raster là thuộc tính.Các bộ dữ liệu raster là hình ảnh đơn được lưu trữ trong cơ sở dữ liệu.raster datasets, raster catalogs, and raster as attributes. Raster datasets are single images that are stored in the database.raster datasets, raster catalogs, and raster as attributes. Raster datasets are single images that are stored in the database. |