Log4Classicning

好读书 不求甚解 每有会意 便欣然忘食

OGC的WebService
2008年4月11日

总是有人问我GeoServer上如何进行二次开发,我要说的是,事实上二次开发的时代应该就要过去了,我们即将迎来的是WebService的时代。我们不再需要面对针对某种特定编程平台实现的冰冷的接口,而应该面对的是开放的URL接口,统一的数据格式,这是一个Service的时代。而正是由于Service对标准、对统一的这种需要,OGC的一系列实现参考才有了诞生的意义。我很高兴地看到,不仅是开源软件按照标准进行开发,想ESRI、国内的SuperMap也都开发了基于标准的WebService,也正因为有了这些努力,OpenGIS在开源领域中显得格外整齐,格外“标准”。

那么就说说这几个开放标准吧,实际上这些标准定义的功能,在ArcView这个经典的桌面软件中都有包含,甚至说ArcView定义了GIS软件应该是怎样的,具有怎样的功能。

WMS是网络地图最基础最常见的一部分,它主要包括GetMap,GetFeatureInfo等接口。GetMap是用于将矢量数据以某种表现形式发送到客户端,这样的表现形式包括常见的位图和不常见的GeoRSS或GeoJSON,事实上用传统的观点来解释,GetMap获得的就是在桌面程序中画在Canvas里的结果,是数据的表现。GetFeatureInfo更容易理解,它和几乎所有的桌面程序上都用的Info按钮功能相同,都是用来获得屏幕坐标某处的信息,GetFeatureInfo中的参数是屏幕坐标、当前视图范围等,在一定程度上也方便了客户端的编写。GetFeatureInfo可以同时返回多个图层中的要素信息,这一点和ArcGIS Desktop等也都是相同的。WMS还包括一些GetLegend之类的返回图例信息的请求,也是完全按照桌面既有的标准定义的。

WFS对应于常见桌面程序中的条件查询功能,WFS通过OGC Filter构造查询条件,支持基于空间几何关系的查询,基于属性域的查询,当然还包括基于空间关系和属性域的共同查询。在Web上,WFS的请求不是以SQL实现的,而是通过Filter XML来实现,可扩展性更强。WFS所返回的是查询的结果集,从某种程度上说,区别于WMS的“数据的表现”,WFS的结果集是由完整的Schema定义和约束的结果集,以GML为载体。这个结果集,类似于桌面程序查询结果的数据表。

WCS对应基于栅格数据的功能,与WMS基于矢量数据的特点相对应,WCS1.1中还仅有一个GetCoverage接口,用于通过指定的样式表(SLD)来显示栅格数据。

WPS是新近推出的标准,它的功能其实在后台我们已经耳熟能详了。Processing即ArcView中的GeoProcessing,诸如Union,Intersect等方法在常见的几何库GEOS、JTS等中都已经实现。WPS要做的就是暴露基于URL接口来实现客户端通过WebService对此类方法的调用、并返回数据。

基于以上标准,已经可以开发基于Web的以浏览器为客户端的地图工具,而WebService同样也可以用于桌面软件,那么像uDig这样的也可以算是分布式的ArcView了。

« 落花有意流水无情前端啊前端 »
  • quote 1.alex
  • 基于url的…… 这样的说法很有诱惑力 标准越简单越有生命力
  • 2008-4-11 23:38:31 回复该留言
  • quote 3.alex
  • 对了,有没有作用类似wms、wfs的标准 然后是用url的
  • 2008-4-11 23:45:35 回复该留言
  • quote 4.Classicning
  • http://www.classicning.com/blog
  • WMS等用的就是URL...
    引自 alex
    对了,有没有作用类似wms、wfs的标准 然后是用url的


    WebService啊,呵呵,我们开放地理信息系统上实践的WebService简直就是典范了,我好像还没有见过这么大规模这么标准的WebService,大家一起用,很好很强大
    引自 皮皮兔
    完全没有概念。。。。
    store88 于 2008-4-11 23:55:30 回复
    webservice的那个性能呀
  • 2008-4-11 23:50:43 回复该留言
  • quote 7.alex
  • 我也看到了 我以前一直以为wms、wfs都是传xml的…… 汗
    不过他那个get的参数有点多,像google map api这种简介的模式比较合我意……
  • 2008-4-13 1:01:01 回复该留言
  • quote 9.alex
  • openlayers 和gmap api是挺像的,我想我做mapside也会按照这个思路来。
  • 2008-4-13 14:06:55 回复该留言
  • quote 10.qjwly
  • 初学gis,还有很多地方不懂,通过google搜索,来到这里,学习的地方很多。能否给些建议。
  • 2008-6-13 14:14:22 回复该留言

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Search

站点统计

  • 文章总数:732
  • 评论总数:2568
  • 引用总数:4
  • 浏览总数:5693
  • 留言总数:42
  • 当前主题:ClassicningDailyLog Style
  • 当前样式:footoo

网站收藏

图标汇集

  • Creative Commons License
  • Widgetize!
  • visitor stats

Powered By Z-Blog 1.8 Spirit Build 80722

2004 - 2007 Classicning.com. 苏ICP备06039259号.