postgreSQL导入矢量栅格数据并用geoserver发布

前言

    软件:PostgreSQL 9.4 + PostGIS 2.5.1

 

    矢量数据:CarThefts.shp:某市汽车盗窃案发地 ( Point )

                      Streets.shp:某市街道分布 ( Polyline )

                      Tracts2000.shp:某市2000 年人口普查区数据 ( Polygon )

 

    栅格数据:guizhou.tif:贵州行政区划

                                                   

 

PostgreSQL导入矢量、栅格数据

    1. 打开 pgAdmin

 

    2. 创建数据库 GeoDataDB

          右键【Databases】 ,选择【Create】-【Database…】填写参数

 

    3. 加载 postGIS 扩展

        在菜单栏处点击【工具】-【查询工具】,弹出SQL窗口,输入SQL语句,并执行查询

         注:创建数据库后,需要通过添加postgis插件,才可以转换为空间数据库,才可以导入空间数据 

 

    4. 菜单栏打开SQL编辑器,通过运行PostGIS函数确认是否成功创建空间数据库

        PostGIS_Full_Version() —— 返回完整的PostGIS版本信息和配置信息

 

    5. 菜单栏点击 PostGIS Shapefile and DBF Loader Exporter

       注:如果之前已经创建好空间数据库,也可以在【windows开始】直接打开

 

   6. 导入矢量数据

        注:导入成功后,可以在 GeoDataDB > 架构 > public > 数据表 看到导入的数据

        注:如果有大量数据,可以用 python 批量导入

 

     7.  打开cmd,进入postgresql安装目录/lib,运行以下代码,导入栅格数据(如果要geoserver发布数据库中的栅格数据,还需要一些其他操作,所以这里建议不导入栅格数据,具体可看下面的内容)

# 【】是通常需要修改的部分,大部分都默认即可(文件位置,数据命名,数据库名)
raster2pgsql -s 4326 -I -C -M 【D:\guizhou\raster.tif】 -F -t 256x256 【guizhou】 | psql -h localhost -p 5432 -U postgres -d 【GeoDataDB】 -W

        注:运行后需要填入postgres用户的密码。参数解释[链接]

        注:PotgreSQL 批量导入栅格数据 

 

    8. 至此成功导入矢量、栅格数据

     

Geoserver发布矢量数据

    之前做过类似的,只不过是把数据源从本地shp改成postgreSQL数据库,这里不再赘述了。 [点击此处跳转]

    注:这里把数据库数据全部加载了,矢量数据只需要再填写边界盒就可发布了,但栅格数据还不行,具体看下部分内容

 

Geoserver发布栅格数据

    Geoserver发布本地的栅格数据(如:tif) 很简单 [链接] [Bug],但利用GeoServer发布postgreSQL中的栅格数据比较麻烦,需要用到Image Mosaic JDBC插件。因为看到一篇不错的文章,所以就不重复写了 [链接] (文中构建金字塔和切割瓦片不是必需的,但对于高分辨率影像数据量到一定程度还是必需的)。

    版本要匹配。 这里给个 2.15.1 版本,其他版本修改网址即可。[下载链接]

    其他:Geoserver的ImageMosaic数据源(实现将一个文件夹下面的所有影像文件发布成一个服务的需求

    其他:GeoServer 数据类型

  • 7
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值