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

前言

    软件:PostgreSQL 9.4 + PostGIS 2.5.1

 

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

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

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

 

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

                                          postgreSQL导入矢量栅格数据并用geoserver发布_第1张图片          postgreSQL导入矢量栅格数据并用geoserver发布_第2张图片

 

PostgreSQL导入矢量、栅格数据

    1. 打开 pgAdmin

postgreSQL导入矢量栅格数据并用geoserver发布_第3张图片

 

    2. 创建数据库 GeoDataDB

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

postgreSQL导入矢量栅格数据并用geoserver发布_第4张图片

 

    3. 加载 postGIS 扩展

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

postgreSQL导入矢量栅格数据并用geoserver发布_第5张图片

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

 

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

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

postgreSQL导入矢量栅格数据并用geoserver发布_第6张图片

 

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

postgreSQL导入矢量栅格数据并用geoserver发布_第7张图片

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

postgreSQL导入矢量栅格数据并用geoserver发布_第8张图片

 

   6. 导入矢量数据

postgreSQL导入矢量栅格数据并用geoserver发布_第9张图片

        注:导入成功后,可以在 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

postgreSQL导入矢量栅格数据并用geoserver发布_第10张图片

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

        注:PotgreSQL 批量导入栅格数据 

 

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

postgreSQL导入矢量栅格数据并用geoserver发布_第11张图片

     

Geoserver发布矢量数据

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

postgreSQL导入矢量栅格数据并用geoserver发布_第12张图片

postgreSQL导入矢量栅格数据并用geoserver发布_第13张图片

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

postgreSQL导入矢量栅格数据并用geoserver发布_第14张图片

postgreSQL导入矢量栅格数据并用geoserver发布_第15张图片

 

Geoserver发布栅格数据

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

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

postgreSQL导入矢量栅格数据并用geoserver发布_第16张图片

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

    其他:GeoServer 数据类型

你可能感兴趣的:(GIS,#,GeoServer)