Cách tốt nhất để hiển thị hình ảnh trên không khổng lồ bằng GeoServer


8

Tôi có một hình ảnh trên không - gần 1,5 GB, GeoTIFF - và tôi đã cố gắng thêm nó dưới dạng một lớp trong GeoServer ...

Thêm lớp đã thành công, nhưng hiệu suất rất tệ.

Tôi đã cố gắng lưu trữ lớp bằng cách sử dụng GeoWebCache và hiệu suất vẫn còn kém.

Bất cứ lời khuyên?

Câu trả lời:


13

Bạn cần xếp hình ảnh và thêm tổng quan để toàn bộ hình ảnh không bao giờ được đọc vào bộ nhớ cùng một lúc. GeoServer cung cấp kho dữ liệu hình chóp cho mục đích này.

Tôi đã viết những ghi chú mô tả cách tôi thiết lập nó trên máy của mình. Bước quan trọng là sử dụng GDAL để xây dựng kim tự tháp bằng lệnh sau:

mkdir bmpyramid
gdal_retile.py -v -r bilinear -levels 8 -ps 2048 2048 -co \
"TILED=YES" -targetDir bmpyramid \
bluemarble.tif

Ở đâu-

  • -v: đầu ra dài dòng, cho phép người dùng xem từng cuộn tạo tệp, do đó biết được tiến trình đang được thực hiện (một công trình kim tự tháp lớn có thể mất nhiều giờ)
  • -r bilinear: sử dụng phép nội suy song tuyến khi xây dựng các mức độ phân giải thấp hơn. Đây là chìa khóa để có được chất lượng hình ảnh tốt mà không yêu cầu GeoServer thực hiện các phép nội suy đắt tiền trong bộ nhớ
  • -levels 8: số cấp trong kim tự tháp
  • -ps 2048 2048: mỗi ô trong kim tự tháp sẽ là 2048x2048 GeoTIFF
  • -Cần TILED = CÓ NGAY: mỗi ô GeoTIFF trong kim tự tháp sẽ được lát gạch bên trong
  • (Không được sử dụng ở đây) -co Hồi COMPRESS = JPEG JPEG: mỗi ô GeoTIFF trong kim tự tháp sẽ được nén JPEG (giao dịch kích thước nhỏ để có hiệu suất cao hơn, hãy thử không có tham số này)
  • -targetDir bmpyramid: xây dựng kim tự tháp trong thư mục bmpyramid. Thư mục đích phải tồn tại và để trống
  • bmreduces.tiff: tệp nguồn

Ghi chú tiện ích cho gdal_retile.py .


Làm cách nào tôi có thể có được gdal_retile.py (tôi đang chạy máy chủ địa lý trong Windows XP)?
Mathboy

trac.osgeo.org/osgeo4w và làm theo hướng dẫn cài đặt nhanh
Ian Turton

Bây giờ tôi có một vấn đề, tôi đã tạo các ô bằng công cụ gdal_retile.py, nhưng tôi gặp lỗi sau từ Geoserver trong khi liên kết lớp với thư mục gạch: Could not list layers for this store, an error occurred retrieving them: This plugin accepts only File, URL and String pointing to a filecó gợi ý nào không?
Mathboy

@iant, dấu gạch chéo trong phần này -co \ "TILED=YES"chỉ cho phép lệnh mở rộng ngắt dòng trong cửa sổ lệnh?
elrobis

3
Ngoài ra, khi sử dụng gdal_retile trên Windows để xử lý raster độ phân giải cao, diện tích lớn, tôi khuyên bạn nên thêm -useDirForEachRow. Theo mặc định, retile đặt tất cả các ô mà nó tạo trong cùng một thư mục và đối với các trình quét lớn, điều này tạo ra sự chậm chạp khủng khiếp khi nó có khoảng 350.000 ô trong thư mục gốc. Ngược lại, -useDirForEachRowđặt các ô cho mỗi hàng trong thư mục riêng của chúng bên dưới gốc ô. Điều này có nghĩa là tăng tốc rất lớn trên Windows. Trước khi -useDirForEachRowkhảm hình ảnh toàn hạt (6 inch) cần 2 tháng để chạy! Sau -useDir, toàn bộ quá trình sẽ hoàn thành sau một đêm.
elrobis
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.