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

    添加时间:2013-5-25 点击量:

      比来在工作的过程中,有一个需求是在外部法度中对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(¥buffertrue);
    ¥layerInfos = ¥outputArray[layers][layer];
    foreach¥layerInfos as ¥k => ¥v){
    ¥layerNames[] = ¥v[name];
    }
    echo json_encode(¥layerNames);
    }
    ?>


     博客声明:


      本博客中的所有文章,除题目中注明“转载”字样外,其余所有文章均为本人原创或在查阅材料后总结完成,引用非转载文章时请注明此声明。—— 博客园-pallee

    彼此相爱,却不要让爱成了束缚:不如让它成为涌动的大海,两岸乃是你们的灵魂。互斟满杯,却不要同饮一杯。相赠面包,却不要共食一个。一起歌舞欢喜,却依然各自独立,相互交心,却不是让对方收藏。因为唯有生命之手,方能收容你们的心。站在一起却不要过于靠近。—— 纪伯伦《先知》
    分享到: