解决Geotools中文问题的一个新的想法
之前研究了很久Geotools和GeoServer.其中有很多时间都是在解决它们不能正确支持中文内码的问题.也改写了其中的部分代码.基本是解决了Geotools解析GBK内码的GIS文件问题.
但是最近又遇到了新的问题.有很多地图,特别是香港与台湾地区的地理信息文件都是BIG5内码的.将解析的内码改成big5并不是问题.问题是如何让引擎自动分辨两种内码.或许GIS文件中有地方标识了它所使用的内码.但是很可惜,我没有找到. 因此, 我采用了另一个方法–中文插件.
Geotools对各种不同格式的地图信息是采用了不同的插件来支持.Shapefile格式正是其中一种. 我有以前改写的经验, 因此很简单就实现了一个新的插件,我命名为Shapefile (GBK) 格式. 将此shapefile-gbk.jar放到Geoserver的lib目录中去.重启系统. 在数据类型一档中多了一个Shapefile (GBK) 选项. 选用这个类型来载入GBK内码的地图文件.别的设置和以前一样.一切设置完成后.在演示功能中,成功显示出了中文地图信息.
同理,我又实现了一个Shapefile-big5.jar插件.加载至GeoServer中后,试着载入一个台湾的地图,上面的那些繁体中文都成功.
现在我的GeoServer可以同时且互不干扰的解析英文,简体中文与繁体中文内码的地图了.
对于Geotools插件的具体格式,我了解得不够多.建议有兴趣的朋友可以下载最新的源代码,仿照plugin目录中的任何一个插件的写法.试着写一个新的. 希望可以有对TAB格式文件了解的朋友,写一个TAB格式的插件.
让GeoServer可以支持更多的格式. 让更多的人支持GeoServer.
转载自:https://blog.csdn.net/mycsoft/article/details/1267578