Geoserver 标准乱码、属性查询源码分析

来源:互联网 发布:vscode路径插件 编辑:程序博客网 时间:2024/04/30 17:33

1、解决乱码,关键是 汉字占 2个字节,geotool取字段值时 将一行记录 转换成字符串,然后按字段字节长度,一个个截取字段值,然而 汉字占2个字节,这样就往后多读了字节,只要 按照 每个汉字减 将读取长度  -1,就能正确读出 字段值。

类 ShapefileDataStore,其它版本的一样修改

 

2、属性查询(会遇到乱码)

入口 org.geoserver.feature.RetypingFeatureCollection.RetypingIterator.hasNext()

org.geotools.feature.simple.SimpleFeatureBuilder 中 init

org.geotools.data.FIDFeatureReader.hasNext()(),next readFeature()  初始化 shape 属性和值

org.geotools.data.FilteringFeatureReader 循环查找是否匹配 query规则。
org.geotools.data.FilteringFeatureReader类中

 if (filter.evaluate(peek))  匹配
属性查找,一个个shp 对象找

 

原创粉丝点击