欢迎您来到GIS动力

加入收藏 免费注册 用户登陆 帮助中心
首页 新闻动态 技术专栏 银杏树下 学习考研 软件下载 求职招聘 许愿瓶 节日祝福 用户中心 精彩推荐 资源搜索 地图
专栏导航: AO开发 | SO开发 | ArcGIS桌面 | 超图桌面 | 开发语言 | 数据库 | WebGIS | 银杏文学 | 研究生考题 | FreeMap FreeTalk
   您现在位于: 首页技术专栏ArcGIS应用与开发AO开发 → 正文
ArcGIS中邻接矩阵文件的生成
08-08-13 10:10:33 作者:columbus2 出处:http://www.cnblogs.com/columbus2
首先我要说明的是,arcgis 9.2中已经实现基于基本一阶邻接关系的空间自相关计算,也
就是说arcgis系统本身已通过一定算法解决了本文以及之前blog中涉及的相关问题。

以下内容仅限于算法设计的兴趣及对arcgis相关功能实现的探讨。

arcgis 9.2中对于空间关联矩阵文件的构建做了拓展,你可以DBF属性中任意值为Unique的
字段来建立矩阵。原先矩阵的关联字段只能使用Object ID构建,而现在你可以使用其它唯
一值的字段了,甚至是中文的地名字段(当然需要注意的是,字段值中不能有空格!而且
似乎用户自定义的文件中若使用OID构建运行时会报错)

下面是之前的面向9.0版本开发的VBA代码,现增添了计算MoranI值的程序,一并打包(生
成的邻接文件可用于9.0/9.1版本的相关计算,也可以用于VBA自带的MoranI计算,但不能
直接用于9.2中):
http://lilybbs.net/file/T/toolbar/VBA.rar

为了满足9.2中的邻接矩阵构建,鄙人近日对算法进行了扩充,并基于GDAL/OGR运算包在P
ython平台下进行了算法实现。特别要指出的是,由于GDAL相关函数的限制,算法中相应的
相邻多边形计算未能完全实现,仅仅搜索出了外接矩形(Envelop)相邻的多边形。因此大
家会发现生成的邻接矩阵行数会比原来的多一些。(相信随着GDAL的完善,最终可以在Py
thon平台上脱离ArcGIS实现相应功能)

附python源文件
http://lilybbs.net/file/T/toolbar/pnm.py
(python版本2.4.1,ArcGIS 9.2已自带;GDAL版本1.3.2,需安装)

谈论完了自己的算法,也很好奇ArcGIS 9.2中是怎么实现一阶邻接对象矩阵生成的。查找
了一下toolbox下的ArcScript源代码,发现ESRI的实现主要是通过了两个步骤:(1)使用
polygon to line功能,生成的line文件将自带有弧段左右多边形的拓扑信息;(2)对生
成line文件的左右多边形字段进行Frequency统计,剔除重复的冗余,在此基础上再生成邻
接矩阵文件就不难了(一次表格遍历即可)
有兴趣的话,可以在toolbox相应功能上右键‘edit’即可查看ESRI的源代码~
enjoy~
(本文已被浏览 次)
发布人:admin
推荐给好友:发送给好友
上篇新闻:
下篇新闻:
相关评论
发表我的评论
  • 尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法;
  • 本站有权保留或删除您发表的任何评论内容;
  •   相关文章  
    无相关新闻

    关于我们友情链接 ┋ 与我在线 ┋ 管理 ┋ TOP
     
    网站当前版本:GisPower CMS V3.0
    『GIS 动力』- http://www.gispower.org/
    联系我们:webmaster#gispower.org
    Copyright (c) 2003-2007 GisPOwer.Org. All Rights Reserved.
     

                   滇ICP备05006901号