基于MapX oracle9i空间分析研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于MapX

基于MapX oracle9i空间分析研究   摘 要:文章探讨Oracle数据库系统中对空间数据存储的解决方案,并介绍针对对象-关系模型下空间数据的存储和管理,着重讨论基于Oracle9i的GIS 空间分析和基于MapX的GIS 空间分析,并就这两种方式的空间分析的性能进行比较。   关键词: MapX;空间索引;对象-关系模型;空间分析   1 MapX与 Oracle9i 简介   MapX是MapInfo公司向用户提供的具有强大地图分析功能的ActiveX控件产品。由于它是一种基于Windows操作系统的标准控件,因而能支持绝大多数标准的可视化开发环境如Visual C++、Visual Basic、Delphi、PowerBuilder等。编程人员在开发过程中可以选用自己最熟悉的开发语言,轻松地将地图功能嵌入到应用中,并且可以脱离MapInfo的软件平台运行。 [1] [5]   Oracle Spatial 是部署企业范围的空间信息系统和基于 web 以及基于位置的无线应用程序的基础。它为位置信息提供数据管理,这些信息包括道路网络、无线服务边界以及地理编码的客户地址,它们正在推动着新兴的在线、移动以及车载远程信息处理市场领域创新性的产品开发。[2]   2 Oracle Spatial的对象-关系模型   Oracle Spatial是针对存储在oracle8i或Oracle9i中的空间元素集合提供的一种SQL的模式来完成存储、输出,修改和查询的功能。   Oracle支持两种表现空间元素的机制和模型:   (1)关系式模型。用多行记录和字段类型为Number的一张表来表示一个空间实体。   (2)对象-关系模型(Object-Relational Model)。这种模型使用数据库表,表中有一个为MDSYS_GEOMETRYD的字段,用一行记录来存储一个空间实体。   Oracle Spatial的对象-关系模型实现方法由一组对象数据类型,一种类型的索引方法以及在这些类型上的操作符组成。   一个空间实体用一行具有SDO_GEOMETRY字段的记录来存储,具体存储为对象类型。空间索引的创建和维护由基本的SQL语句完成。这样一来,原来需用多行,多列存储的空间实体,使用Oracle Spatial的对象-关系模型,只需要一行记录就可以完成存储。大大方便了应用系统的数据处理,维护等操作。   3 三、MapX与Oracle空间分析函数的比较   Oracle公司向Mapinfo公司提供了一种比ODBC更底层的数据接口OCI,通过此接口可以直接向Oracle数据库存取Mapinfo空间地图。MapX通过OCI和Oracle9i建立同步连接,而通过ODBC和其他数据库建立连接。   3.1 缓冲区生成的比较   在MapX中,缓冲区的生成有两种方法:FeatureFactory.BufferFeatures方法和Buffer函数。   在Oracle中,生成缓冲区的函数为SDO_BUFFER。   下面是分别以哈尔滨市区,宾县,和尚志为图元,做缓冲试验,distance值分别为5 km,10 km,15 km,25 km,35 km,45 km时,MapX和Oracle所用时间(单位:秒)如下:   哈尔滨市区:MapX所用时间:0.4687,0.5625,0.6406,0.7500,0.8   125,0.9218   Oracle所用时间:4.9531,2.3437,1.8437,1.2656,0.9687,0.8125   宾县:MapX所用时间:1.5313,2.5000,3.0468,4.0468,4.6250,   5.1250   Oracle所用时间:11.7031,6.6875,4.6718,2.8125,2.5781,2.3125   尚志:MapX所用时间:7.2656,7.9687,8.5781,12.2812,12.5312,   14.5468   Oracle所用时间:50.1562,21.9062,17.8906,8.1875,8.2968,7.07   81   3.2 拓扑查询的比较   MapX中的拓扑查询我们以Layer.Serachwithdistance为例,在Oracle中的拓扑查询我们以函数:SDO_WITHIN_DISTANCE为例。   下面是以黑龙江全省水系分布图为底图做实验,以松花江一段为指定空间对象,分别查询其周围20km,30km,50km,100km,300km,500km,600km范围内的所有水系时,分别基于MapX 和Oracle查询所用的时间(单位:秒)如下:   MapX所用时间:0.04

文档评论(0)

317960162 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档