Integrating WorldWind Java with GeoServer WMS
从去年Java One 2007到现在,WorldWind Java SDK已经推出将近一年了,上一个版本是去年12月发布的0.4。比起最初的版本,0.4的规模已经是空前扩大了,包和类的数量都有大大的增加。因为是处在开发的初期,所以每一个版本的变化都非常大,包的结构在不断的改变,之前版本上能跑的程序现在必需修改了。
0.4开始,WorldWind Java提供了一个WMSLayerFactory,用于简化和WMS服务的集成。之前的版本要加载一个WMS图层,需要集成TiledImageCache类,重写TiledUrlBuilder。而现在只要给WMSLayerFactory传入一个Capabilities对象和一个WMS的名值对分装类AVList,就可以获得相应的WMS图层。
取得Capabilities对象的方法是向服务器发送一个CapabilitiesRequest,在WMS的规范中就是getCapabilities请求,返回的将是一个XML文档,通过Capabilities的静态方法parse就可以获得Capabilities对象了。这个对象中包含了WMS服务器的基本信息,包括服务器上的所有图层极其范围等等,具体可以去参考WMS规范。
对于WMS的url的参数,需要构造一个AVList,以名值对的形式传入。这一块WorldWind也就行了简单的封装,常见的key都被分装在了AVKey接口中,无需手动书写。
最后,获得的WMS图层将添加到Model上,设置enable为true即可。
更多效果图请到:
[url]http://www.classicning.com/blog/post/585.html[/url]
转载自:https://blog.csdn.net/classicning/article/details/83219589