GeoTIFF postGIS üzerinden GeoServer'a nasıl aktarılır?


10

Basit bir test örneği olarak, OSG gibi normal bir harita için bir yer paylaşımı olarak bir GeoTIFF görüntüleyebileceğiniz şekilde OpenGeo yazılım yığınını yapılandırmaya çalışıyorum. Bu yüzden aşağıdaki adımları gerçekleştiriyorum:

  1. PostGIS ile uzamsal bir veri tabanı oluşturma
  2. GeoTIFF'i veri tabanına yükleyin
  3. Veri tabanını GeoServer'a aktarın
  4. GeoServer'da bir harita yer paylaşımı olarak önizleme (ör. GeoExplorer veya OpenLayers ile)

GeoTIFF'in Geoserver'a (zorlu bir şekilde çalışır) doğrudan aktarılmasının aksine, veri tabanından içe aktarılan tablo, GeoServer web uygulamasında "raster verileri" olarak değil "vektör verileri" olarak işaretlenir. Katman Önizlemesinde, GeoExplorer GeoTIFF'den hiçbir şey görüntülemez ve OpenLayers aşağıdakileri bildiren bir WMS dosyası döndürür ServiceExeption:

The requested Style can not be used with this layer.
The style specifies an attribute of geom and the layer is: opengeo:test

Çözümün oldukça basit olduğuna inanıyorum, ancak GeoServer'ın postGIS'te depolanan raster verilerini nasıl yorumladığını anlamıyorum.

Kimse bana hangi noktayı kaçırdığımı söyleyebilir mi?


Ayrıntılı adımlarım:

  1. template_postgisUbuntu 12.04 üzerinde çalışırken şablon ve 5432 numaralı bağlantı noktasını alarak, belgelendiği gibi postGIS ile uzamsal bir veri tabanı oluşturun .
  2. GeoTIFF'i komut satırından veri tabanına raster2pgsql( 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
    

    nerede

    • -I: performans için uzamsal GiST endeksi oluşturmak için bayrak
    • -C: Raster kısıtlamalarını uygulamak için bayrak
    • -s 32632: test.tifAraç tarafından bildirilen SRIDgdalinfo
    • test.tif: uygun test GeoTIFF
    • public.testTable: hedef şemadaki yeni tablo
    • -d test: uzamsal olarak etkinleştirilmiş veritabanı
    • -U opengeo: veritabanı sahibi (standart kullanıcı adı)
  3. Veri tabanını resmi atölyede açıklandığı gibi GeoServer'a aktarın

Yanıtlar:


7

Image Mosaic JDBC eklentisini yükleme

Bir GeoServer web sayfası sorunun kökenine işaret eder:

GeoServer, Postgis tarama sütunları desteği ile yerleşik olarak gelmez, bir uzantı aracılığıyla yüklenmesi gerekir. Yükleme ayrıntıları için Image Mosaic JDBC'ye gidin. Bu uzantı Postgis tarama desteğini içerir.

Buradaki karmaşık kurulum talimatlarını izledim ve GeoServer'ım için bir ImageMosaicJDBC Raster Veri Kaynağı eklemeyi başardım .

GeoTIFF'yi 8 bit'e dönüştürün

Katmanın sunulması / önizlenmesi söz konusu olduğunda, veriler başka bir kullanıcının deneyimlediği gibi düzgün bir şekilde görüntülenmez [1]. Burada açıklandığı gibi, GeoTIFF dosyasının INT16 veri tipinden BYTE'ye önceden dönüştürülmesi sorunu çözdü (daha düşük renk derinliği fiyatına). Dönüştürme, gdal_translate komut satırı aracı kullanılarak yapılabilir :

$ gdal_translate -ot BYTE input.tif output.tif

Sonuç

İşin işe yaraması için hantal ImageMosaicJDBC eklentisini ve 8bit GeoTiff'leri kullanmanız gerekir. Önizleme modüllerinin (openLayer, GeoExt, JPEG önizleme, ...) neden 16bit renk derinliği ile çalışmadığını bulamadım. Şimdilik “PostGIS rasterinin henüz bu düzeyde üretim kullanımına sahip olmadığı” yorumunu kabul ediyorum [2].


[1] ImageMosaicJDBC (postgis raster) layer için boş önizleme görüntüsü .

[2] PostGIS ile ilgili tarama verileri

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.