使用REST接口获取GeoServer中的图层列表

  最近在工作的过程中,有一个需求是在外部程序中对GeoServer进行管理操作,通过查阅资料发现GeoServer的REST接口可以满足需求。REST接口使用HTTP调用的方式,无需登录Web管理界面就可以对GeoServer进行简单的调用和配置。

  GeoServer官网对REST的配置API和示例的介绍地址为:http://docs.geoserver.org/stable/en/user/rest/index.html

  下面的程序通过使用REST接口,请求GeoServer中图层的列表。

<?php
    $url = "http://localhost:8180/geoserver/rest/layers/";
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);//设置为true,表示获取的内容以字符串的形式返回
    curl_setopt($ch, CURLOPT_VERBOSE, true);//设置为true,返回执行过程中的异常
    curl_setopt($ch, CURLOPT_GET, True);
    $passwordStr = "admin:geoserver";//geoserver的用户名:密码
    curl_setopt($ch, CURLOPT_USERPWD, $passwordStr);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Accept:application/json"));//HTTP请求头信息
    $successCode = 200;
    $buffer = curl_exec($ch);
    $info = curl_getinfo($ch);
    curl_close($ch);
    if($info['http_code'] != $successCode){
        $msgStr = "请求失败!";
        echo $msgStr;
    }else{
        $outputArray = json_decode($buffer, true);
        $layerInfos = $outputArray['layers']['layer'];
        foreach($layerInfos as $k => $v){
            $layerNames[] = $v['name'];
        }
        echo json_encode($layerNames);
    }
?>

转载于:https://www.cnblogs.com/pallee/archive/2013/05/25/3098898.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值