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

  • Post author:
  • Post category:其他


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 对象找



版权声明:本文为cracic原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。