今天就跟大家聊聊有关Geoserver中的CQL和ECQL如何理解,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
成都网络公司-成都网站建设公司创新互联十多年经验成就非凡,专业从事成都做网站、网站建设、外贸营销网站建设,成都网页设计,成都网页制作,软文发布平台,广告投放等。十多年来已成功提供全面的成都网站建设方案,打造行业特色的成都网站建设案例,建站热线:028-86922220,我们期待您的来电!
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如何理解有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。