美文网首页
geoserver官方的REST API使用教程

geoserver官方的REST API使用教程

作者: 铭净止水 | 来源:发表于2018-11-15 14:45 被阅读0次

    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使用教程

          本文链接:https://www.haomeiwen.com/subject/qplyfqtx.html