1.安装软件环境

安装以下软件,并安装GeoServer imagemosaic拓展插件,用来连接并加载PostGIS数据库中的栅格数据。

PostGIS 2.4,PostgreSQL 9.6,GeoServer 2.12,geoserver-2.12-SNAPSHOT-imagemosaic-jdbc-plugin

2.导入栅格数据

进入PostgreSQL\bin目录,利用raster2pgsql工具导入栅格数据,具体命令如下所示:

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

raster2pgsql -s 4326 -I -C -M E:/personalfile/cs1/alt.tif public.alt | psql -h localhost -p 5432 -U postgres -d rastertest -W

其中各参数的含义如下:

-c 创建新表,并把栅格数据导入到表中,这是默认模式

-a 追加栅格数据到一个已经存在的表

-d 先drop掉表,然后创建新表,并把栅格数据导入到表中

-p 准备模式,只创建表,不导入数据.

#栅格处理过程:把适当的约束条件注册(写入)栅格系统表中。

-C 用于栅格约束注册——比如栅格的srid, pixelsize 元数据信息等等,保证栅格在视图raster_columns能够合适地注册。

-x 让设置最大边界约束失效,只有在-C参数同时使用时候才能使用这个参数。

-r 为规则的块设置约束(空间唯一性约束和覆盖瓦片)。只有在同时使用-C 参数时,才能使用这个参数。

#栅格处理参数:用于操作输入栅格数据集的可选参数。

-s 表示:指定输出栅格使用指定的SRID。如果没有提供或者提供值为0,程序会检查栅格的元数据(比如栅格

文件)以便决定一个合适的SRID。

-b 从栅格要抽取的波段位置(下标从1开始)。想要抽取不止1个波段的话,使用逗号,分隔波段数字。如果没有指

定,所有栅格的波段都会被抽取出来。

-t TILE_SIZE:瓦片大小。 把每一个表的行表示的栅格切割成瓦片。 TILE_SIZE被表示成WIDTHxHEIGHT的形式,或

者设置成值为“auto”来让加载程序使用第一个栅格参数计算合适的瓦片大小,然后把这个瓦片大小应用于所有的栅格

-R, --register 把栅格以文件数据形式注册(栅格数据保存在数据库之外的文件系统中)。只有栅格的元数据和文件路径

保存在数据库中(没有保存像素的数据)

-l OVERVIEW_FACTOR :创建栅格的概览信息。如果factor值不只一个,使用逗号,进行分隔。创建的概览数据存

储在数据库中,并且不受参数-R影响。注意你生成的SQL文件会包含存储数据的主表和概览表。

-N NODATA :指定没有NODATA值的波段的NODATA值。

#用于操作数据库对象的可选参数

-q :把PostgreSQL的id用引号包起来。

-f COLUMN :指定目标的栅格列名,默认是‘rast’。

-F :创建一个以文件名为列名的列

-I :在栅格列上创建一个GiST索引

-M Vacuum analyze栅格表

-T tablespace :指定新表的表空间。注意如果索引(包括primary key)依然会使用默认的表空,除非使用-X参数标识。

-X tablespace :指定表的索引表空间。如果使用了参数-I,那么这个参数可以应用于primary key和空间索引。

-Y :使用copy语句而不是insert 语句。

-e :单独地执行每一条语句,不使用一个大的事务执行所有语句。

-E ENDIAN :控制栅格输出时候生成的二进制的字节顺序,如果值为0,表示取XDR,如果值为1,表示取NDR(默认取值)。

现在我们只支持NDR了。

-V version: 指定输出版本的格式,默认是0,当前值支持0。

创建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');

导入成功后,如下图所示:

栅格数据表

3.发布PostGIS栅格数据

准备connect.pgraster.xml.inc文件,配置PostgreSQL连接参数:

准备mapping.pgraster.xml.inc文件,配置mosaic数据表参数:

准备oek.pgraster.xml文件,配置栅格数据参数:

]>

&mapping;

&connect;

将准备好的三个文件放在同一文件夹中,打开GeoServer,新建栅格数据源,如图所示:

栅格数据源

配置连接参数

发布栅格数据,参数配置及效果如下图所示:

发布参数配置

栅格服务效果

postgis 栅格数据_GeoServer发布PostGIS数据库中的栅格数据相关推荐

  1. postgis 导出 栅格_【FME HOWTO系列】08 导入数据库表、栅格数据、矢量数据

    概述 在本练习中,您将学习如何将数据导入数据库并使用FME从数据库导出数据.这是一个简单的拖放过程,支持超过400种数据类型; 但是,本教程仅提供从3个类别导入/导出数据的示例:数据库表,栅格数据和矢 ...

  2. 【PostgreSQL与UDIG】Udig导入Postgresql数据库中矢量数据无法显示的问题

    Udig导入Postgresql数据库中矢量数据无法显示的问题 编程小白,记录学习中遇到的问题,希望可以帮助到其他的人. 一.问题描述 -----首先利用PostGIS将矢量数据导入postgreSQ ...

  3. java向gis数据库读写数据_java – PostGIS数据库中Geography Polygon的读取点

    我的目标:从我的PostGIS数据库中存储的地理多边形读取点. PostGIS手册有a great example如何从数据库中提取多边形. PGgeometry geom = (PGgeometry ...

  4. GeoServer发布数据库中的空间数据表

    如何利用GeoServer发布PostgreSQL/PostGIS中的空间数据 1.矢量数据发布 2.栅格数据发布 2.1 安装Image Mosaic JDBC扩展 2.2 准备金字塔和瓦片 2.3 ...

  5. 如何确定图片名未改变 php,这里未改变的是数据库中默认的数据,比如修改时间?,还有发布用户名?...

    摘要://问题描述------------------1.在DoEdit中修改-save保存的数据,是在edit中从数据库中获取的数据2.在编辑界面和DoEdit没有time()的更改,包括usern ...

  6. 中国信通院发布《数据库发展研究报告(2021年)》(附报告和解读PPT下载)

    2021年6月24日,由中国信息通信研究院(以下简称"中国信通院")主办的"2021大数据产业峰会·成果发布会"在京召开.会上,中国信通院云计算与大数据研究所副 ...

  7. mysql数据库中发布与订阅_SQL Server 2012 使用订阅发布同步数据库

    如何让数据既统一又独立?其实SQLServer已经为我们提供了很好的解决方案:发布.订阅.打开SQL Server2012的对象资源管理器我们可 软件做大了,客户就多了,一个数据库服务器是远远不够的, ...

  8. 运行python时说要建如版权_当我运行python manage.py syncdb时,Django避免在数据库中创建PointField...

    我正在使用Django 1.2.3,PostGIS 1.5.2. 出于某种原因,当我跑 python manage.py syncdb 它从我的模型创建数据库中的所有其他字段,但避免创建一个我命名为P ...

  9. 知识图:从图和数据库中获取知识

    知识图:从图和数据库中获取知识 知识图到底是什么,以及关于它们的所有炒作是什么?如果想成为世界各地的Airbnbs,Amazon,Google和LinkedIn,那么学会区分真实的炒作,定义不同类型的 ...

最新文章

  1. 计算机专业教育,科学网—中国大学计算机教育路在何方? - 吴军的博文
  2. php正则相对地址,php – 正则表达式将相对URL更改为绝对值
  3. LinuxC高级编程——线程间同步
  4. LeetCode LCP 11. 期望个数统计
  5. 在线批量压缩JPG图片-JpegMini
  6. 20本重磅图书等你认领:前沿、创业、个人成长全有了
  7. 深度学习(七十二)tensorflow 集群训练
  8. java 顶点着色_Shader笔记_002简单顶点/片元着色器扩展
  9. 此上下文中不允许函数定义。_面试官:那我们来说说执行上下文吧
  10. testmarkdown
  11. select命名_Maya中Pymel写个带界面的重命名工具(一)
  12. BN讲的很好的一篇文章
  13. ROS系统学习8---节点间的内存共享(初级篇)
  14. 直线扫描转换-DDA算法
  15. PC机组成——主板、芯片组与BIOS
  16. 大牛手把手带你!mysql视频教程百度网盘
  17. 单位负反馈图_负反馈的魔力
  18. 付费小说服务器位置,黑科技学:听说好多听小说的都开始付费了?别担心好东西也能免费...
  19. linux上删除rime方案_超强的输入法:rime的配置(linux)
  20. SQL-DAY 7(SQL查询语句的应用案例:汽车新销售)

热门文章

  1. 基于Android studio的备忘录app设计
  2. 梯形时间同步--直接规划法
  3. 推荐算法-欧几里得距离
  4. 光引发剂市场分析-发展趋势-主要企业
  5. 关于redirect重定向的使用以及和二维码的结合
  6. newma如何解除usb限制_【解除USB限制原来如此简单】
  7. css 换行符,CSS秘密花园: 插入换行符
  8. c语言 int的取值范围,C语言int的取值范围 ?
  9. Git从入门到入门的入门学习文档
  10. 6月13日科技资讯|西部数据中断与华为合作;苹果首次参加天猫 618;罗永浩第三次出质锤子股权