Như một trường hợp thử nghiệm đơn giản, tôi đang cố gắng định cấu hình ngăn xếp phần mềm của OpenGeo để tôi có thể hiển thị GeoTIFF dưới dạng lớp phủ cho bản đồ bình thường như OSM. Vì vậy, tôi thực hiện các bước sau:
- Tạo cơ sở dữ liệu không gian với postGIS
- Tải GeoTIFF vào cơ sở dữ liệu
- Nhập cơ sở dữ liệu vào GeoServer
- Xem trước nó dưới dạng lớp phủ bản đồ trong GeoServer (ví dụ: với GeoExplorer hoặc OpenLayers)
Trái với việc nhập trực tiếp GeoTIFF vào Geoserver (hoạt động ghê gớm), bảng được nhập từ cơ sở dữ liệu được đánh dấu là "dữ liệu vectơ" chứ không phải "dữ liệu raster" trong ứng dụng web GeoServer. Trong Bản xem trước lớp, GeoExplorer không hiển thị bất cứ thứ gì từ GeoTIFF và OpenLayers trả về tệp WMS báo cáo ServiceExeption
:
The requested Style can not be used with this layer.
The style specifies an attribute of geom and the layer is: opengeo:test
Tôi tin rằng giải pháp này khá đơn giản nhưng có vẻ như tôi không hiểu cách GeoServer diễn giải dữ liệu raster được lưu trữ trong postGIS.
Ai đó có thể cho tôi biết tôi đang thiếu điểm gì không?
Các bước của tôi chi tiết:
- Tạo một cơ sở dữ liệu không gian với postGIS như tài liệu, lấy
template_postgis
làm mẫu và cổng 5432 khi tôi hoạt động trên Ubuntu 12.04. Tải GeoTIFF vào cơ sở dữ liệu từ dòng lệnh bằng cách sử dụng
raster2pgsql
như trong ( http://suite.opengeo.org/docs/dataadmin/pgGettingStarted/raster2pgsql.html )raster2pgsql -I -C -s 32632 test.tif public.testTable | psql -d test -h localhost -U opengeo
Ở đâu
-I
: cờ để tạo chỉ mục GiST không gian cho hiệu suất-C
: cờ để áp dụng các ràng buộc raster-s 32632
: SRID củatest.tif
báo cáo bằng công cụgdalinfo
test.tif
: kiểm tra GeoTIFF thích hợppublic.testTable
: bảng mới trong lược đồ đích-d test
: cơ sở dữ liệu kích hoạt không gian-U opengeo
: chủ sở hữu cơ sở dữ liệu (tên người dùng chuẩn)
- Nhập cơ sở dữ liệu vào GeoServer như được mô tả trong hội thảo chính thức