Cesium 查询加载 geoserver的wfs 数据

最近一段时间在研究cesium,cesium如何加载geoserver数据成为了我的难题。cesium可以加载geoserver的geojson数据( Cesium.GeoJsonDataSource.load() )。

起初的时候通过openlayer查询数据,然后在Cesium地图上进行点位的展示。对于cesium调用geoserver查询数据不知

如何下手。经过好长时间的学习,无意间从其他人的博客中翻到geoserver的cql_filter过滤字段,于是知道可以通过ajax调用geoserver数据进行模糊查询。废话不多说了,上代码。


var  tuceng=  ["jianzhu","shitang","sushe"];//图层名字
//We_MAP 工作区名称
 $.ajax({
    type:'post',
    url:'http://172.x.x.x:8060/geoserver/We_MAP/ows?service=WFS&versio
n=1.0.0&request=GetFeature&typeName=We_MAP%3A'+tuceng+'&outputFormat=app
lication%2Fjson', 
    data:{ "cql_filter":"name like '%"+keyword+"%'" },
       //name+like+%27%25餐厅%25%27   name like '%餐厅%'
    async:false,
    success:function(data){

    if(data.features.length>0){

      page(data.features.length, data.features);//数据分页

      }
    }
});

以上代码就可以实现Cesium加载Geoserver 的数据了。

在geoserver的浏览器端查询

http://172.x.x.x:8060/geoserver/We_MAP/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=We_MAP%3Ashitang
&maxFeatures=50&outputFormat=application%2Fjson&cql_filter=name+like+%27%25%E9%A4%90%E5%8E%85%25%27

上面的对中文文字进行转义了,下面的是没有转义的

http://172.x.x.x:8060/geoserver/We_MAP/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=We_MAP%3Ashitang
&maxFeatures=50&outputFormat=application%2Fjson&cql_filter=name+like+%27%25餐厅%25%27

下面的截图是在浏览器中的截图

name后面的+是转义字符一定要有。

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值