您好,登录后才能下订单哦!
今天就跟大家聊聊有关Geoserver中的CQL和ECQL如何理解,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
CQL(Common Query Language) 是一个由OGC创建的查询语言,用在Catalogue Web服务上,不同于基于xml过滤的查询方式,CQL使用类似文本语法的格式,具有很高的可读性和适用性。
CQL有一些限制,比如不能过滤id查询,查询的时候,需要指明一个属性才能进行比较操作。
基于以上原因, GeoServer提供了一个CQL的扩展语言,叫ECQL,ECQL移除了CQL中的一些限制,提供了类似SQL的比较方便的语言。
GeoServer支持在wms和wfs的请求中,使用CQL和ECQL,同时在sld(动态样式设置)也能进行设置。
这就表示,在请求Geoserver的wfs和wms服务时,可进行过滤请求,返回过滤的数据结果;
以下为一个wms的请求,在添加过滤请求时,只需要在后边添加对应的参数:
http://localhost:8080/geoserver/wms?
request=GetFeatureInfo
&service=WMS
&version=1.1.1
&layers=topp%3Astates
&styles=
&srs=EPSG%3A4326
&format=image%2Fpng
&bbox=-145.151041%2C21.73192%2C-57.154894%2C58.961059
&width=780
&height=330
&query_layers=topp%3Astates
&info_format=text%2Fhtml
&feature_count=50
&x=353
&y=145
&exceptions=application%2Fvnd.ogc.se_xml
//过滤所拼接的字符串
&cql_filter=INTERSECTS(the_geom,%20POINT%20(-74.817265%2040.5296504))
下边是一个wfs的请求,也是根据参数在后边过滤字段, 只需要在后边添加对应的参数:
http://example.com/geoserver/wfs?
service=wfs&
version=2.0.0&
request=GetFeature&
typeNames=namespace:featuretype
cql_filter=INTERSECTS(the_geom,%20POINT%20(-74.817265%2040.5296504))
根据以上的过滤,就能控制地图上显示的数据信息,或者查询的信息,查询的时候需要根据服务进行请求。
看完上述内容,你们对Geoserver中的CQL和ECQL如何理解有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。