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个表,rtable1rtable2 rtable3rtable1使用基本图像中的切片填充, rtable2rtable3是用于概的表。所有表中的栅格列都命名为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插入一条记录,该记录存储在rtable1rtable2 rtable3中oek是覆盖范围的geotools名称:

插入 到 MOSAIC (NAME ,接边) 的值 ('OEK' '' rtable1 )
插入 到 MOSAIC (NAME ,接边) 的值 ('OEK' '' rtable2 )
插入 到 MOSAIC (NAME ,接边) 的值 ('OEK' ' rtable3 )

组态

该插件需要一个xml配置文件。由于连接和映射信息可以被许多覆盖范围重用,因此最好将配置分为3个部分。

  1. 在此示例设置中,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>
  1. 在此示例设置中,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>
  1. 覆盖配置包括上面的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

You may also like...