Làm cách nào để tạo một 4096x4096 png từ bộ dữ liệu 1440x720 bằng GDAL?


8

Tôi đang có một khoảng thời gian cố gắng làm điều gì đó có vẻ khá đơn giản. Tôi đang cố gắng lấy một tệp netcdf từ ftp://eclipse.ncdc.noaa.gov/pub/OI-daily-v2/NetCDF/2011/AVHRR-AMSR/ và biến nó thành 4096x4096 png để tôi có thể xếp nó lên để sử dụng w / google maps. Tôi đã sử dụng các lệnh sau nhưng dường như luôn tạo các vùng trống ở biên giới phía đông và phía tây:

/usr/local/bin/gdal_translate -a_srs EPSG:4326 -outsize 4096 4096 -a_ullr 0 90 360 -90 NETCDF:"input.nc":sst -of netCDF output.nc
/usr/local/bin/gdaldem color-relief output.nc -b 1 -alpha colorscale.txt -of PNG output.png
/usr/bin/convert output.png -transparent #FFFFFF output.png

Có phải tôi đang tiếp cận điều này sai cách? Tôi đang sử dụng các công cụ sai?

FWIW - gdal_translate là v1.8.0

Cảm ơn trước.

CẬP NHẬT: "Trả lời" bên dưới từ Dija - đồng nghiệp của tôi - thực sự là một phản hồi cho các bình luận về chính câu hỏi.

CẬP NHẬT Vô tình thêm một câu trả lời thay vì một bình luận. Di chuyển nó ở đây.

Tôi nghĩ tôi sẽ cân nhắc ở đây. Tôi đã làm việc về vấn đề này một thời gian rồi. Tôi đã thử nhiều lần lặp lại quá trình. Tôi đã thu nhỏ những hình ảnh này thành 4096x4096 vì nó thực sự tạo ra một hình ảnh tốt hơn so với nếu không. Có nghĩa là, nếu tôi để hình ảnh ở kích thước gốc, 1440x720 tôi sẽ có một khoảng cách lớn hơn ở kinh tuyến gốc (đối với tập dữ liệu này) và ở kinh tuyến thứ 180 cho các tập dữ liệu khác. Tôi đã thu nhỏ hình ảnh đầu ra thành bội số của 256 (để phù hợp hơn với google) và nhận được nhiều kết quả khác nhau.

Nếu tôi mở rộng nó thành 1536x768, khoảng cách hiển thị ở bên phải của kinh tuyến 0. Nếu tôi mở rộng thành 1280x640 thì nó ở bên trái. Nếu tôi để nó một mình, nó sẽ chia rẽ nó khá nhiều.

Tôi đã lấy hình ảnh cơ sở mà gdaldem phun ra, cắt nó làm đôi và khớp với các cạnh lên ... chúng xếp hàng một cách hoàn hảo. Điều này khiến tôi nghĩ rằng có điều gì đó kỳ lạ đang xảy ra với gdal2tiles.py

Tôi đã viết phần mềm riêng của mình rằng tôi đã sẵn sàng bật hình ảnh của chúng tôi để xem liệu khoảng trống có còn không.

Tôi sẽ tập hợp một số ảnh chụp màn hình để hiển thị những gì tôi đang nói về cách khoảng cách cũng như báo cáo về những gì trình xử lý của tôi làm.

Cảm ơn cho bất kỳ đầu vào bạn có thể có. Nó được đánh giá cao.

CẬP NHẬT 2 Tôi đã chạy maptiler mà tôi đã viết so với raster ban đầu và nó hoạt động tốt với một khoảng trống. gdal2tiles.py dường như là vấn đề. Nó giới thiệu một cạnh trong suốt cho ô cuối cùng chạm vào kinh tuyến thứ 180.


Một cái gì đó phải cung cấp khi bạn chuyển đổi một hình ảnh với tỷ lệ khung hình 1: 2 thành một tỷ lệ khung hình 1: 1: hoặc xảy ra hiện tượng cắt, bạn có các đường viền trống để lấp đầy khoảng trống hoặc bạn cần kéo dài 2: 1.
whuber

Tôi đã chạy các quy trình tương tự trên một trong các tệp từ trang FTP mà bạn cung cấp và tôi có một hình ảnh phù hợp với giới hạn của nó. Bạn có thể cung cấp một ảnh chụp màn hình về hiệu ứng bạn đang nhận được? Là hiệu ứng xảy ra sau bước gdaldem, hoặc bước chuyển đổi?
MerseyViking

À đúng, như whuber nói, tỷ lệ khung hình của bạn là sai nếu bạn sử dụng các tham số bạn cung cấp trong văn bản, nhưng các tham số dòng lệnh, là các tham số tôi đã sử dụng, có tỷ lệ khung hình chính xác.
MerseyViking

Phải nói rằng, tôi vừa thử tạo nó dưới dạng 4096 x 4096 và QGIS tải nó lên mà không có vấn đề gì. Ngoài ra, tải cả hai phiên bản vào GIMP sẽ hiển thị bản đồ đi thẳng lên cạnh trái và phải.
MerseyViking

@whuper - Hoàn toàn đồng ý, tôi hoàn toàn đồng ý. Tôi nhận ra rằng khi cố gắng tạo bộ dữ liệu 1: 2 thành hình ảnh 1: 1, bạn gần như làm mất hiệu lực dữ liệu. Phải nói rằng, kỳ vọng của tôi là có được đầu ra về cơ bản là tỷ lệ 2: 1, thay vì không gian trống. Tôi sẵn sàng đáp ứng các yêu cầu kinh doanh đặt ra trước mắt tôi :( Ồ, những điều chúng tôi sẽ làm cho một bức tranh đẹp. @MerseyViking - Thật thú vị, hãy để tôi quay lại với bạn về điều đó. Tôi không phải là người đầu tiên làm việc này và vì vậy tôi cần nhận được thông tin đầu vào của họ. Cảm ơn vì đã phản hồi.
malonso

Câu trả lời:


2

gdal_grid có các tham số cho phép bạn chỉ định tọa độ phạm vi của raster đầu ra của bạn.

gdal_grid -txe [xcoord1] [xcoord2] -tye [ycoord1] [ycoord2]

trong đó tọa độ phía dưới bên trái sẽ là (xcoord1, ycoord1) và phía trên bên phải sẽ là (xcoord2, ycoord2)

GDAL sẽ nội suy dữ liệu của bạn theo mức độ đầu ra của bạn

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.