利用REST配置GeoServer

RESTREpresentational State Transfer)的基本思想是依靠指定资源的一组固定的操作,而这些资源的表达在检索和设置方面的信息是相同的。换言之,如果我们以一个XML格式去检索数据,那么还可以用相同的XML将数据发回给服务器进行设置。

资源的操作是通过HTTP中的标准基本要素(GETDELETEPUTPOSTHEAD等)来实现的。每个资源用一个标准的URI来表示[1]

 1.安装REST扩展

http://geoserver.org/display/GEOS/Download下载RESTCONFIGjar包后,将其拷贝到GeoServerWEB-INF/lib目录下即可[2]

 

2.REST的使用

2.1 安装curl

curl是一个非常方便的执行HTTP请求和传输文件的工具[3]。在http://curl.haxx.se/下载curl的压缩包,解压即可使用。

 

2.2 REST的使用

2.2.1 添加新的工作区

通过POST请求,新建一个名为”zhaoyong”的工作区,执行一下命令:

curl -u admin:geoserver -v -XPOST -H “Content-type: text/xml” /

   -d “<workspace><name>zhaoyong</name></workspace>” /

   http://162.105.17.222:8080/geoserver/rest/workspaces

响应结果如下图所示:

 

接着,调用下面的命令,用GET请求以XML格式检索新建的工作区:

curl -XGET -H “Accept: text/xml” http:// curl -XGET -H “Accept: text/xml” /

http:// 162.105.17.222:8080/geoserver/rest/workspaces/zhaoyong

在这个例子中,zhaoyong是工作区的名称。

响应结果如下图所示:

 

2.2.2 上载Tif文件

首先将Tif文件和相应的PrjTfw文件以zip形式打包保存在当前目录下。通过PUT请求将其上载到指定的工作区,执行以下命令:

curl -u admin:geoserver -XPUT -H “Content-type:application/zip” –data-binary @test.zip /

http://162.105.17.222:8080/geoserver/rest/workspaces/zhaoyong/coveragestores/test/file.geotiff

在这个例子中,zhaoyong是工作区的名称,test是数据源的名称,geotiffGeoTIFF文件对应的扩展名。 

响应结果如下图所示:


       
这时,我们便可以在浏览器浏览我们发布的数据了,如下图所示: 

 

2.2.3 发布指定文件夹中的矢量数据

首先确保我们需要发布的数据在指定文件夹中有名称相同而后缀名不同的六个文件(**.dbf, **.prj, **.shp, **.shx, **.qix, **.fix)。我们需要编辑一个XML的描述文件,如下图所示:

这里,注明了datastore的名称,数据存储的文件夹等信息。 

通过POST请求将指定数据发布到指定工作区,执行以下命令:

curl -u admin:geoserver -XPOST -H “Content-type:text/xml” -d @test.xml /

http://162.105.17.222:8080/geoserver/rest/workspaces/zhaoyong/datastores.xml

在这个例子中,test.xml是我们刚才编辑XML文件,zhaoyong是我们指定的工作区的名称

接着,我们在通过POST请求,添加featureType信息,执行一下命令:

curl -u admin:geoserver -XPOST -H “Content-type:text/xml” -d /

“<featureType><name>bc_border</name></featureType>” /

http:// 162.105.17.222:8080/

/geoserver/rest/workspaces/zhaoyong/datastores/bc_border/featuretypes

接着,我们便可以在浏览器中浏览我们发布的数据了,如下图所示:

 参考文献:

[1] http://docs.geoserver.org/2.0.0/user/extensions/rest/overview.html

[2] http://docs.geoserver.org/2.0.0/user/extensions/rest/installation.html

[3] http://docs.geoserver.org/2.0.0/user/extensions/rest/rest-config-examples-curl.html

转载自:https://blog.csdn.net/qq_36178899/article/details/81146740

You may also like...

退出移动版