扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:赛迪网 何滔 来源:天新网 2008年4月28日
关键字: Mssql SQL SQL Server 数据库
这个项目遵从于OGC Simple Features Specification for SQL Revision 1.1,基于两个著名的.net平台下的开源GIS项目NetTopologySuite(NetTopologySuite是JTS Topology Suite的C#/.net版本,简称NTS)和SharpMap(一个基于.net 2.0的Map渲染类库)来构建,所以划分为NTS、SharpMap和SqlClr三大模块,SqlClr这部分为CLR集成实现代码。主要实现了基于SQLServer 2005 CLR集成的空间数据库相关封装。当前提供了一个命令行工具来支持shape文件和PostGIS的数据导入。
开发语言:C Sharp 2.0。
许可协议:GNU LESSER GENERAL PUBLIC LICENSE Version 2.1。
官方网址:http://www.codeplex.com/Wiki/View.ASPx?ProjectName=MsSQLSpatial。
基于CLR集成的空间数据引擎
显而易见,每一次数据库技术与数据访问技术的进步发展都会带动空间数据存储管理解决方案的进步与发展,就好像关系型数据库上BLOB数据类型的支持才使得空间数据库实现了空间特征数据与属性数据一体化存储管理。
关于MS SQLServer 2005有哪些新特性,在这里笔者就不再赘述,相信微软已做了大量宣传。
且不管广告如何,作为一个与整个.NET平台紧密集成的全新一代的数据库产品,我们更关心它的新特性会给GIS最重要的组成部分之一“空间数据库技术”带来什么样的解决方案。这个关键,就是它的“CLR集成”。通过宿主Microsoft.net Framework 2.0公共语言运行时 (CLR),可以在SQLServer 2005上利用.net Framework类库和任何如C#、VB、.net、C++/CLI等CLR语言来开发数据库应用,扩展用户自己的类型系统和聚合函数。许多之前在SQLServer 2000上用T-SQL或扩展存储过程等编程模型难以实现的或无法实现的任务现在可以用托管代码来完成,譬如几何计算这样具有复杂逻辑的计算密集型任务。
因此,空间索引和以二进制方式存储的空间特征数据都必须通过数据访问接口获取出来映射到空间数据引擎这个中间层还原成空间对象才能完成空间关系的判断。还有点不妙的就是每次涉及空间分析的操作都会从空间数据库服务器
SQLServer 2005上,非常显著的一个特点是,这类基于CLR集成的开发的.NET应用程序集是直接部署在数据库服务器上,SQLServer2005在进程内宿主.net CLR,外部GIS应用层可直接与空间数据库交互时使用T-SQL语句操作。
SQL Server2005数据库CLR集成技术代码和数据的紧密结合使我们能够充分利用服务器的处理能力。而且因为它减少了数据层和中间层之间的流量,CLR 函数也可以利用到SQLServer 2005查询处理器
MsSQLSpatial展望
这个新生的开源项目目前还比较简单,没有提供构建高级空间索引的能力,进行空间查询时其仅是对最小外包矩形(MBR)比较后获得粗略子集后就通过一个委托调用NTS中空间对象的操作算子进行精确的匹配计算以获得目标结果集。
MsSQLSpatial目前也没有栅格数据相关部分,要达到海量矢量/栅格管理,拓扑关系支持、长事务、日志、多用户并发、权限控制等商业层次要求的空间数据引擎还有很长的距离。不过在这个技术体系框架之下,这个的紧密捆绑目前最好的商业关系型数据库之一与采用先进的数据库编程模型的开源空间数据库项目,还是很具发展潜力的,我们期待其后继版本能够带来更多的东西。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者