OpenLayer中的XML解析器,必须理解地


开源WebGIS中用Java程序语言进行快速开发是最经常使用的方法。比较普遍的是用OpenLayers技术+GeoTools技术+Geoserver服务器+MySQL数据库(当然也可以是DB2等等。由于要收费,所以我会使用PostSQL/GIS数据库)。
当然,我总是希望找到更为简单的解决问题的途径,最好不牵扯那么多乱七八糟的技术,因此,于比小型Web
GIS项目来说,有个方法可以让我们摆脱GeoTools技术为我们提供的那1000多个API所带来的痛苦。

对于初级Java程序员来说,可以直接用Openlayers+JAXP等几个基本类包来完成工作。然后,把程序运行在Geoserver服务上。你可以用Hibanite来实现数据持久化(因此,它有时会阻碍我的生产率,因此,在大型的项目里面我才用。如果你用在小型项目里面时发现了它的缺点,可以通过其他技术来避免这部分的损失。你必须v头脑灵光,不要为框架而框架,应该是通过合适的技术来提高自己的工作生产率),以便与MySQL数据库通信(MySQL数据库虽然已支持Geometry数据,但是也比较糟糕)。

每个技术的任务是什么:

1、OpenLayers只监听电子地图上的用户请求(电子地图操作很多情况加都要采用Ajax异步交互技术),取出业务需要的数据,并将数据变成一个XML对象(或者是GML/GEoRSS/KML什么的都行)传到Java程序里后任务就结束了(也有不转换成XML的方法,这里不作为重点);
 
2、Java中我们使用JAXP和STCAME等类包、方法来解析刚才的XML对象,进行业务处理,加工数据,存放数据(如果不用XML数据格式,就可以不用以上两个类包和方方,这里不作重点);

3、当然Geoserver在整个过程中都是枢纽,他分析用户请求和服务器响应。(当然如果你有时间和兴趣也可以扩展开源Geoserver,我是有心而没时间);

以上不是我叙述的重点,因此不在废话!在数据传输中XML是经常用,同时也是很关键的传送格式,因此我从OpenLayers官方网站上找了个例子,结合自己经验和体会具体说明一些OL技术中提供的XML类,以便大家我们能更好的应用GML、GeoRESS、KML等数据格式。

英语不怎么样,因此翻译上的缺陷大家忍耐吧!


 
以下是源代码,应该拷贝到本地就可以用,我是在Geoserver中运行地,如果感觉不爽可以登录 http://www.openlayers.org/dev/examples/xml.html
      







你可能感兴趣的:(openlayers)