我的github

目的:给一个属性名和一个数组,找到该属性里该数组对应的要素值,以一个要素列表的形式返回。

FilterFactory和FilterFactory2的区别。。不都是属性过滤器吗?能接受数组参数吗?

geotools的CQL属性查找规则:

参考1:https://blog.csdn.net/sxausgyy/article/details/8113111(GeoTools应用-Filter_CQL)

参考2:https://blog.csdn.net/oYinHeZhiGuang/article/details/118316074(GeoTools入门(六)-- 查询那点事)

filter:org.geotools.filter

This is most often used when making a Query to retrieve specific Features from a DataStore

cql:common query language

public FeatureCollection filterCQL(FeatureSource<SimpleFeatureType, SimpleFeature> fs,String name) throws CQLException, IOException{ 
        return fs.getFeatures(CQL.toFilter("NAME like '%" + name + "%'")); 
    } 

 public static void main(String[] args) throws IOException, CQLException, SAXException, ParserConfigurationException { 
        FilterExam fe = new FilterExam(); 
        FeatureSource<SimpleFeatureType, SimpleFeature> fs = fe.getFeatureS("D:\\安康公交线_polyline.shp"); 
        FeatureCollection col1 = fe.compareFilterEx(fs); 
        System.out.println(col1.size()); 
        FeatureCollection col2 = fe.filterFidEx(fs); 
        System.out.println(col2.size()); 
        FeatureCollection col3 = fe.filterCQL(fs, "13路"); 
        System.out.println(col3.size()); 
        FeatureCollection col4 = fe.filterXML(fs, "filter.xml"); 
        System.out.println(col4.size()); 
    } 

得到FeatureCollection之后呢?如何保存到shp?

SimpleFeatureIterator itr = featureCollection.features();

得到的是Iterator迭代器。。

 

>>Set:

>>FeatureCollection:

>>arcgis sql属性查询:"attName" in ('value1','value2','value3','value4')

>>geoserver wfs查询(filter):https://www.cnblogs.com/2008nmj/p/16900136.html

>>ECQL:CQL的扩展,支持一些谓词

posted on 2023-02-02 11:27  XiaoNiuFeiTian  阅读(132)  评论(0编辑  收藏  举报