geoserver官方的REST API使用教程

geoserver官方提供了一套rest服务以及相应的使用教程,考虑到官方文档的庞大以及英文教程的难读,在此整理一下使用的方法,因为js存在ajax跨域的问题,使用python作为示例的开发语言。

开发环境:python 2.7(windows用户需要自己去官网下载);curl(windows用户需要自己去官网下载)

一、API列表:

点击查看

二、以创建工作区为例:

官方教程

1.首先是rest地址的拼写:

http://GEOSERVER_HOME/rest/+api列表中对应的功能名称,在此为workspaces,

2.官网给出的使用curl的方法:


经本人验证,官网的示例并不能百分百实验成功,所以要理解这个命令自己加以适当的调整。

    首先-u后面的admin:geoserver是用户名和密码,这个需要改成自己的,-H后面为发送的content,在此选择的类型为xml,后面跟着的就是xml的内容(如果你想使用json,则修改type和相应的内容,内容模板我们在文章中放出),就是我们在创建工作区时需要输入的参数,在此输入工作区名称即可。

3.上述命令需要在安装了curl的电脑中的命令行中键入使用,我们来编写一个python的脚本完成同样的功能。



 #coding=utf-8

#创建工作区

import requests

myUrl = 'http://192.168.3.44:8011/geoserver/rest/workspaces'

file = open('results/createWorkspace.json','r')#results/createWorkspace.json为传入的参数,等同于curl方法中的-d

payload = file.read()

headers = {'Content-type': 'text/json'}

resp = requests.post(myUrl, auth=('admin','geoserver'),data=payload, headers=headers)

print(resp.status_code)#200则成功



createWorkspace.json中的内容,其余操作可参考该模版:


{"seedRequest":{

    "name":"newWork"

}

}


依次类推,许多geoserver中的功能都可使用该方法在后台进行代码自动化控制,关于更多的使用在此不做赘述,偷懒贴了一位大牛整理的一些例子:

geoserver REST使用

三、Geowebcache的使用:

官方教程

在此抨击一下这个教程,照着做切片那部分,根本不行,最后发现是因为bounds是必需的参数,可是教程例子中并没有填。

除此之外说的就比较详细了,我们来进行rest地址的拼写:

http://ip:端口号/geoserver/gwc/rest/seed/工作空间:图层名.json或者是xml,注意这里的后缀json或是xml要与content type对应起来。

其余与上一个例子相同,我们直接贴一下代码即可:



#coding=utf-8

import requests

myUrl = 'http://192.168.3.44:8011/geoserver/gwc/rest/seed/rh:rhtif.json'

file = open('results/requestGeowebcache.json','r')

payload = file.read()

headers = {'Content-type': 'application/json'}

resp = requests.post(myUrl, auth=('admin','geoserver'),data=payload, headers=headers)

print(resp.status_code)


requestGeowebcache.json内容:


{"seedRequest":{

    "name":"rh:rhtif",

    "bounds":{"coords":{ "double":["-124.0","22.0","66.0","72.0"]}},

    "srs":{"number":4326},

    "zoomStart":1,

    "zoomStop":12,

    "format":"image\/png",

    "type":"seed",

        "threadCount":4

    }

}


你可能感兴趣的:(geoserver官方的REST API使用教程)