开源GIS实验田

OpenSource GIS Space

  • 内容导航

  • 最新评论

    • : 嗯嗯,是呢,虽然我现在还不是很懂...
    • mowu: 有要帮忙的吱一声...
    • 直流电机: 非常强悍,感觉现在的软件公司和学...
    • Gao Ang: 这将是一次开源GIS百科全书式的大会 ...
    • SHG: 恭喜恭喜 希望到时有更多国外的专...
  • 热门主题

  • 随机阅读

    • 2010 年三月
      « 二   四 »
      1234567
      891011121314
      15161718192021
      22232425262728
      293031  
    • Gao Ang

      GaoMiao's Portrait
      有了理想
      就不要寻找放弃的理由

      站点搜索

    • 只言片语

      尊敬的先生煞有介事地指责我年轻,好象我犯有弥天大罪。对此,我既不想辩解,也不想否认。有一种人随着年龄的增长会变得聪明起来;而有一种人就是年岁再大,阅历再广,也还是愚昧如初。倘若我属于前一种人,那我一定会心满意足的。 ——威·大皮特

    Archive for 三月, 2010

    OGSA-DAI分布式查询拓展自定义函数

    25th 三月 2010

    OGSA-DAI通过数据服务对后端单个数据源查询,将整串SQL语句推送给后端数据库执行查询。而在面向分布式数据源的DQP查询中,组合查询在中间层被解析为针对不同数据源的子查询,子查询通过DAI数据服务获取查询结果,并在DQP中间层对不同数据源返回的结果进行组装,并返回给请求用户。

    通俗来讲,DQP分布式数据服务查询类似于一个MapReduce过程,现将针对异构分布式数据源的复合查询语句解析拆散,提交给对应不同数据源的DAI服务进行查询,再将多个数据服务的返回结果汇总,有DQP中间层组装得到最终的查询结果。

    null

    现在的问题是,SQL语句在查询过程中允许嵌入查询函数,比如Count( )、Avg( )、Max( )、Min( )等聚合函数,甚至空间数据库中支持的ST_Buffer( )ST_Union( )等空间分析函数,在查询过程中进行一定的数据处理操作。但DQP查询在查询语句分解时,由于复合查询语义分析的二义性,不能在将嵌套函数传递给子查询。为了弥补嵌入函数的操作,DQP提供了一种在中间层处理数据的UDF(用户自定义)函数拓展方式,使得函数处理过程,在子查询返回结果后由DQP中间层完成函数计算。

    DQP已定义了基本的标量(Scalar)和聚合(Aggregate)函数,并为用户自定义函数提供了拓展接口。比方说我们在查询语句中定义一个缓冲区分析函数Buffer( ),其功能实现调用自JTS库提供的缓冲区分析API。Buffer操作需要返回每一列缓冲区分析结果,属于标量函数,需要继承LogicalExecutableFunctionBase类。同时,Buffer操作接受空间数据库子查询返回的Geometry类型输入数据,并需要用户在编写查询语句时给定一个Double型的缓冲区距离参数。

    通过PostGIS驱动,子查询能够返回WKT格式的空间数据,DQP将返回数据以Parameters对象传入,我们可以使用JTS库的WKTReader( )读入返回的WKT数据并传给geom对象,再以类似Geometry result = geom.buffer(distance);的JTS调用完成缓冲区分析处理,并将结果以Object对象返回给DQP查询结果装配器,即可实现分布式查询中的空间分析函数嵌入工作。标量函数的拓展示例参见这里。对于聚合函数,则需要继承SQLAggregateFunction类,实现过程不在赘述,示例参见这里

    通过自定义函数的拓展,可以进一步丰富DQP分布式查询的功能和适用性。DQP对于复合查询的解析,应该是基于ANTLR提供的语法解析功能实现的,语法解析过程以后有时间研究一下再写出来。

    根据OGSA-DAI项目组成员在OGF-28研讨会中公开的的开发线路图,OGSA-DAI 4.0将在2010年的4月份发布,更新的内容包括DQP的优化和拓展,增加SQL Views查询器,改进通用Activities,增加KML行为以及3.x版本中已报告的Bug修改等。

    近3年时间里,我对OGSA-DAI项目始终保持关注,也在邮件沟通中认识了一些项目背后的开发者,他们一直在贡献代码和文档来推动着项目进程。希望DAI项目能够持续推进,并且在易用性方面得到进一步改善。

    Posted in 网格科学 | No Comments »

    QCon北京2010开发大会预告

    4th 三月 2010

    由InfoQ中文站承办的QCon北京2010开发大会将于4月23至25日在北京京仪大酒店举行,届时将由30多位国内外知名讲师分享他们的经验心得,包括《设计模式》作者Erich Gamma、《Release It》作者Michael Nygard、ThoughtWorks首席架构师Jim Webber、以及Facebook和Twitter的资深架构师将在大会做主题演讲。当然,演讲嘉宾还包括来自豆瓣、支付宝、去那儿等不少国内知名IT企业的资深架构师和项目管理者。

    QCon北京大会2010将包含设计优良的架构语言的艺术更好地敏捷实战SOA基于浏览器的应用开发知名网站案例分析六个大的主题,在保持会议期间特色栏目QClub论坛和交流酒会的同时,还增加了”最佳解决方案”模块,为与会者提供来自各个领域的最佳实践。期望今年的QCon北京大会,在泰稳和InfoQ中文站团队的组织下能够再创佳绩。

    QCon北京2010的更多细节,请关注本次大会官方站点:http://www.qconbeijing.com/

    Posted in 诸子百家 | No Comments »