В качестве простого тестового примера я пытаюсь настроить программный стек OpenGeo так, чтобы я мог отображать GeoTIFF в качестве наложения на карту нормалей, например OSM. Поэтому я выполняю следующие шаги:
- Создать базу пространственных данных с помощью postGIS
- Загрузите GeoTIFF в базу данных
- Импортировать базу данных в GeoServer
- Предварительный просмотр его как наложение карты в GeoServer (например, с GeoExplorer или OpenLayers)
В отличие от прямого импорта GeoTIFF в Geoserver (который работает потрясающе), таблица, импортированная из базы данных, помечается как «векторные данные», а не как «растровые данные» в веб-приложении GeoServer. В предварительном просмотре слоя GeoExplorer не отображает ничего из GeoTIFF, а OpenLayers возвращает файл WMS, сообщающий ServiceExeption
:
The requested Style can not be used with this layer.
The style specifies an attribute of geom and the layer is: opengeo:test
Я считаю, что решение довольно простое, но, похоже, я не понимаю, как GeoServer интерпретирует растровые данные, хранящиеся в postGIS.
Кто-нибудь может сказать мне, в какой момент я скучаю?
Мои шаги в деталях:
- Создайте базу пространственных данных с помощью postGIS, как описано, используя
template_postgis
шаблон и порт 5432, как я работаю в Ubuntu 12.04. Загрузите GeoTIFF в базу данных из командной строки, используя
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
где
-I
: флаг для создания пространственного индекса GiST для производительности-C
: флаг для применения растровых ограничений-s 32632
: SRIDtest.tif
сообщается инструментомgdalinfo
test.tif
: правильный тест GeoTIFFpublic.testTable
: новая таблица в целевой схеме-d test
: пространственно активированная база данных-U opengeo
: владелец базы данных (стандартное имя пользователя)
- Импортируйте базу данных в GeoServer, как описано на официальном семинаре
источник