Chuyển đổi tập tin tốc độ gió ascii sang raster


11

Tôi đã cố gắng chuyển đổi các tập tin tốc độ gió thành raster nhưng không thành công. Nó đã được thảo luận trong một diễn đàn Arcgis mà tôi đã theo dõi. Điều này liên quan đến việc thay thế dấu chấm phẩy bằng dấu cách và thêm tiêu đề.

Tôi đã hy vọng bao gồm một trong các tệp .asc gốc cùng với phiên bản .csv mà tôi đã 'dọn sạch'. Thật không may, tôi không thể thấy làm thế nào để làm điều này mà không sao chép và dán văn bản. Dòng đầu tiên của tệp .asc gốc là:

Conversion of speed45i.dat   Wind m/s  Wind Speed @ 45m N. Ire 
(100,  499); 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0; 

Tôi đã thay đổi điều này thành:

ncols 700
nrows 1300
x||corner 0
y||corner 0
cellsize 1000                                                                                               "
"( 0 1299) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ;"

Khi tôi sử dụng trình cắm định dạng chuyển đổi raster, tôi nhận được thông báo lỗi:

Quá trình không bắt đầu. Chương trình được gọi bị thiếu hoặc bạn có thể không có đủ quyền để gọi chương trình.

Mọi lời đề nghị đều biết ơn.


bạn luôn có thể thử đặt một ví dụ trong DropBox và chia sẻ liên kết, nếu bạn muốn trợ giúp cụ thể hơn với tập dữ liệu cụ thể.
RyanKDalton

Câu trả lời:


14

Tôi biết những dữ liệu này rất tốt. Chúng là dữ liệu tốc độ gió khét tiếng của NOABL. Mặc dù vậy, bạn cũng đang đi đúng hướng trong việc chuyển đổi chúng thành raster ASCII. Tiêu đề tôi tạo cho họ (nhiều năm trước) như sau:

ncols 700
nrows 1300
xllcorner 0
yllcorner 0
cellsize 1000
nodata_value -999
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 

Có vẻ như bạn đã sử dụng các ký hiệu đường ống ('|') thay vì 'l' cho xll và yll trong tiêu đề (viết tắt của 'phía dưới bên trái'). Cũng mất các số trong ngoặc ở đầu mỗi hàng và dấu phẩy đảo ngược cũng vậy. Chỉ cần làm cho nó không gian giới hạn. Các số trong ngoặc (như tôi chắc chắn bạn đã xử lý) biểu thị tọa độ bắt đầu 100 km của hàng dữ liệu (ở độ phân giải 1km - do đó, có hàng trăm giá trị sau mỗi bộ dấu ngoặc). Những con số này không chỉ dư thừa trong một raster ESRI ASCII mà còn 'phá vỡ' nó.

CAVEAT:
Sử dụng những dữ liệu này một cách thận trọng. Chúng rất cũ và được nội suy từ một số ít các trạm khí tượng lan rộng khắp Vương quốc Anh. Chúng cũng được nội suy mà không tính đến độ nhám bề mặt và hầu hết các yếu tố khác ảnh hưởng đến tốc độ gió ở cấp địa phương. Chúng là một hướng dẫn sơ bộ nhưng nổi tiếng về việc ước tính tốc độ gió ở nhiều vị trí. Chẳng hạn, tôi thường thấy tốc độ gió NOABL 45m thường tương đương với tốc độ gió được đo bằng máy đo gió ở độ cao 80m, nhưng một lần nữa, vì NOABL không sử dụng bất kỳ dữ liệu nào từ Quần đảo phía Bắc, tôi đã tìm thấy NOABL để đánh giá thấp tốc độ gió Shetland. Phía bắc xa nhất trong số các trạm đã gặp (chỉ 10 tôi nghĩ!) Trong dữ liệu NOABL là Bấc.

Tuy nhiên, tất cả các cảnh báo sang một bên, tôi đã thấy rằng khi được sử dụng một cách khôn ngoan, hiểu được sự đánh giá quá cao (và với một chút kinh nghiệm) tôi đã tìm thấy kết quả tính toán năng suất của trang trại gió bằng cách sử dụng các dữ liệu này để so sánh với các tính toán sử dụng cập nhật hơn và thu thập dữ liệu chặt chẽ. Tuy nhiên, đừng coi đó là tin lành bởi vì mỗi trang web đều khác nhau và tốc độ gió thực sự bị ảnh hưởng rất lớn bởi độ gồ ghề, tầm với mở, địa hình để đặt tên cho một vài yếu tố.

Nếu tốc độ gió rất quan trọng đối với dự án của bạn, thì bằng mọi cách, hãy sử dụng điều này như một điểm khởi đầu nhưng đừng đặt cược trang trại vào đó!

EDIT
Để xóa các số trong ngoặc, bạn có thể viết tập lệnh Python để phân tích dữ liệu hoặc một cách thay thế dễ dàng là:

  • mở tệp trong trình soạn thảo văn bản, xóa dòng đầu tiên (" Chuyển đổi tốc độ ... "), thay thế toàn bộ không gian bằng không có gì và lưu lại bằng phần mở rộng '.csv'
  • Tiếp theo mở trong gói bảng tính, đặt dấu phân cách thành dấu chấm phẩy (trong Excel và OpenOffice Calc, bạn sẽ được hỏi khi mở tệp). Bây giờ chọn cột đầu tiên chứa tất cả các số được đặt trong ngoặc và xóa nó.
  • Chèn sáu hàng ngay khi bắt đầu và thêm tiêu đề của bạn ("ncols 700", v.v.).
  • Cuối cùng lưu với tiện ích mở rộng '.asc' nhưng hãy đảm bảo dấu phân cách của bạn là khoảng trống để lưu.

Sylvester, cảm ơn rất nhiều. Có một vấn đề loại bỏ các số trong ngoặc. Có nên xuất hiện vài dòng đầu tiên như dưới đây? mũi tên 1300 xllcorner 0 yllcorner 0 cellize 1000 gậtata_value -999 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0
tedwalsh

@tedwalsh: đó là khá nhiều đó. Tôi đã chỉnh sửa câu trả lời của mình ở trên để thêm hầu hết dòng đầu tiên vào mẫu 'mã'. Tôi cũng đã thêm hướng dẫn về cách loại bỏ dấu ngoặc một cách dễ dàng. Nếu bạn vẫn đang gặp khó khăn thì hãy gửi cho tôi một PM với địa chỉ email của bạn (tìm phần Danh bạ trên trang web của tôi) và tôi sẽ sắp xếp thứ gì đó cho bạn.
MappaGnosis

1
Bộ dữ liệu NOABL khá gọn gàng vào thời điểm đó, nhưng thời điểm đó đã gần 20 năm trước. Tôi nhớ làm việc trên / với nó sau đó, quá. Tốt nhất không được sử dụng cho công việc thực tế ở độ cao tuabin gió điển hình bây giờ.
kiểm tra

11

Giá trị NoData bị thiếu trong tệp ascii của bạn và bạn có x || và y | | thay vì xll và yll. Tôi giả sử rằng NoData của bạn là -999.

thử đi:

NCOLS 700
NROWS 1300
XLLCORNER 0
YLLCORNER 0
CELLSIZE 1000
NODATA_VALUE -999

Ascii của bạn mở trong một trình soạn thảo văn bản sẽ trông như thế này:

NCOLS 700
NROWS 1300
XLLCORNER 0
YLLCORNER 0
CELLSIZE 1000
NODATA_VALUE -999
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 

2
Về mặt định dạng, điều này có vẻ đúng, nhưng tôi nghĩ có thể là một sai lầm đáng kể khi kết hợp số 0 với giá trị NoData. Không cần số 0 để biểu thị tốc độ gió bằng 0, trong khi giá trị NoData sẽ chỉ ra sự thiếu thông tin về tốc độ gió.
whuber

Tôi đã cho rằng NoData là 0, vì @tedwalsh không cung cấp thông tin này.
Gago-Silva
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.