geoserver——Postgis光栅插件 发布栅格数据
目录
Postgis光栅插件
这个插件是Image Mosaicing Pyramidal JDBC Plugin的扩展。由于Postgis栅格对象提供空间函数和谓词,因此配置很简单。
先决条件
- Postgis 2.0可用
设置Postgis Raster
此插件需要以下表格布局:
- 具有Postgis栅格列的表
- 表中的每一行代表一个图块
- 瓷砖是矩形
- 每个概述(金字塔等级)都需要一个新表
- 所有表格中的栅格列名称都相同
注意
当然,可以使用sql视图而不是表来为本地部署创建最佳的物理表布局
警告
对于Postgis JDBC驱动程序<版本9,有必要在数据库中设置属性:
ALTER DATABASE dbname SET bytea_output TO’escape’
使用gdal工具箱http://www.gdal.org准备瓷砖和概述。一个好的候选人是http://www.gdal.org/gdal_retile.html。
导入磁贴的实用程序在http://postgis.refractions.net/docs/using_raster.xml.html中描述,并包含在Postgis 2.0中。
示例设置假定存在3个表,rtable1,rtable2 rtable3。rtable1使用基本图像中的切片填充, rtable2和rtable3是用于概视的表。所有表中的栅格列都命名为rast。该插件只需要一个元数据表。表名和列名必须与xml配置匹配(示例如下)。如果表不存在,请使用以下命令创建:
create table MOSAIC (NAME varchar (254 ) not null ,
TileTable varchar (254 )not null ,
minX FLOAT8 ,minY FLOAT8 , maxX FLOAT8 , maxY FLOAT8 ,resX FLOAT8 , resY FLOAT8 ,“
primary key (NAME ,TileTable ))
现在为名为oek的coverage插入一条记录,该记录存储在rtable1,rtable2 rtable3中。oek是覆盖范围的geotools名称:
插入 到 MOSAIC (NAME ,接边) 的值 ('OEK' ,'' rtable1 )
插入 到 MOSAIC (NAME ,接边) 的值 ('OEK' ,'' rtable2 )
插入 到 MOSAIC (NAME ,接边) 的值 ('OEK' ,' rtable3 )
组态
该插件需要一个xml配置文件。由于连接和映射信息可以被许多覆盖范围重用,因此最好将配置分为3个部分。
- 在此示例设置中,JDBC连接存储为 connect.pgraster.xml.inc的配置。
<connect>
<dstype value = “DBCP” />
<username value = “postgres” />
<password value = “postgres” />
<jdbcUrl value = “jdbc:postgresql:// ux-server02:5432 / geo” / >
<driverClassName value = “org.postgresql.Driver” />
<maxActive value = “10” />
<maxIdle value = “0” />
</ connect>
- 在此示例设置中,JDBC映射配置存储为mapping.pgraster.xml.inc。
<spatialExtension name = “pgraster” />
<mapping>
<masterTable name = “MOSAIC” >
<coverageNameAttribute name = “NAME” />
<maxXAttribute name = “maxX” />
<maxYAttribute name = “maxY” />
<minXAttribute name = “minX” />
<minYAttribute name = “minY” />
<resXAttribute name = “resX” />
<resYAttribute name = “resY” />
<tileTableNameAtribute name = “TileTable” />
</ masterTable>
<tileTable>
<blobAttributeName name = “rast” />
</ tileTable>
</ mapping>
- 覆盖配置包括上面的XML片段,在此示例设置中存储为oek.pgraster.xml。
<?xml version =“1.0”encoding =“UTF-8”standalone =“no”?>
<!DOCTYPE ImageMosaicJDBCConfig [
<!ENTITY mapping PUBLIC“mapping”“mapping.pgraster.xml.inc”>
<!ENTITY connect PUBLIC “connect”“connect.pgraster.xml.inc”>
]>
<config version = “1.0” >
<coverageName name = “oek” />
<coordsys name = “EPSG:4326” />
<! - 插值1 =最近邻居,2 =双极,3 =双向 - >
<scaleop interpolation = “1” />
<axisOrder ignore = “false” />
&mapping;
&连接;
</配置>
将所有文件存储在同一文件夹中。大多数元素都是自我解释的,详细的文档在Image Mosaicing Pyramidal JDBC Plugin中。
使用
有关如何使用新coverage的Java示例,请参阅Image Mosaicing Pyramidal JDBC Plugin。
转载自:https://blog.csdn.net/qq_36178899/article/details/81386143