GeoServer 发布PostGIS数据库中的栅格数据
1.导入栅格数据
进入PostgreSQL\bin目录,利用raster2pgsql工具导入栅格数据,具体命令如下所示:
<!-- 分块,切片存储到PostGIS数据库中 --> raster2pgsql -s 4326 -I -C -M E:/personalfile/cs1/alt.tif -F -t 256x256 public.alt | psql -h localhost -p 5432 -U postgres -d rastertest -W <!-- 以单个文件方式存储到PostGIS数据库中 --> raster2pgsql -s 4326 -I -C -M E:/personalfile/cs1/alt.tif public.alt | psql -h localhost -p 5432 -U postgres -d rastertest -W
创建mosaic数据表,并将已导入的栅格数据,插入到相应字段中,具体SQL语句如下:
/* 新建MOSAIC数据表 */ 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)); /* 插入alt栅格数据表 */ insert into MOSAIC(NAME,TileTable) values ('oek','alt');
导入成功后,如下图所示:
2.发布PostGIS栅格数据
准备connect.pgraster.xml.inc文件,配置PostgreSQL连接参数:
<connect> <dstype value="DBCP"/> <username value="postgres"/> <password value="123456"/> <jdbcUrl value="jdbc:postgresql://localhost:5432/rastertest"/> <driverClassName value="org.postgresql.Driver"/> <maxActive value="10"/> <maxIdle value="0"/> </connect>
准备mapping.pgraster.xml.inc文件,配置mosaic数据表参数:
<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>
准备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"/> <!-- interpolation 1 = nearest neighbour, 2 = bipolar, 3 = bicubic --> <scaleop interpolation="1"/> <axisOrder ignore="false"/> &mapping; &connect; </config>
将准备好的三个文件放在同一文件夹中,打开GeoServer,新建栅格数据源,如图所示:
栅格数据源
配置连接参数
发布栅格数据,参数配置及效果如下图所示:
一般都会自动识别的,不用修改
参考 :https://www.giserdqy.com/gis/opengis/geoserver/14055/
如何利用GeoServer发布PostgreSQL/PostGIS中的空间数据
GeoServer官方教程:使用图像镶嵌插件组织并发布时间序列栅格数据 - 知乎 (zhihu.com)