千家信息网

Geoserver中的CQL和ECQL如何理解

发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,今天就跟大家聊聊有关Geoserver中的CQL和ECQL如何理解,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。CQL(Common Quer
千家信息网最后更新 2025年01月23日Geoserver中的CQL和ECQL如何理解

今天就跟大家聊聊有关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如何理解有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

0