• ArcGIS下的多节点可达性分析


    ArcGIS下的多节点可达性分析

    最近一直在帮麻老师做可达性矩阵的生成,问题本身的解决并没有什么特别的地方,不过解决的过程倒是值得总结一下,可以为以后ArcGIS下自定义的空间分析过程做个借鉴。

    一个道路网络的可达性矩阵,就是使用所有城市节点两两之间最短路径的通行时间构建而成的。因此问题的关键就归结于多节点之间的最短耗时路径选择。使用ArcGIS的NetWork扩展模块可以进行最短路径的生成,但似乎一次只能进行一组点对之间的路径生成。虽然也可以通过手动重复操作完成上述问题,但是当节点增加时,手动的劳动量也将呈级数增加,所以在多节点下这样的过程似乎是不切实际的。

    顺便说一下,使用network扩展模块,需要现在tools下的extension菜单进行注册。而默认安装下,arctoolbox中也没有network工具箱,同样需要在ArcToolbox下右键添加进来。

    言归正传,将一下解决的过程。既然ArcGIS自身提供的extension或toolbox功能不能解决问题,自然就想到通过建立自定义的model进行解决。在ArcToolbox中右键新建工具箱,再在工具箱中右键新建model,将network toolbox中必要的模块拖拽进来,生成如下过程。此过程同样可以解决上述一组点对之间的最短耗时路径。



    下面需要做的就是将上述过程循环起来。但是不幸的是,Model builder中似乎并未提供循
    环功能。通过查找,发现循环过程只能通过ArcToolbox下的脚本方法实现。解决的过程ms突
    然卡在这里,但是幸好在model builder下提供了model向脚本的转换输出功能,于是很自然
    的,file-export-脚本-python。

    下面是ArcGIS生成的对应脚本文件
    http://lilybbs.net/file/T/toolbar/model.py

    对这个文件只需稍微改动一下,就可以实现循环了~
    http://lilybbs.net/file/T/toolbar/written.py

    【总结一下】
    ArcGIS自9.0起,提供了很好的扩展功能,用户可以通过脚本实现复杂的空间分析功能,但
    是白手起家的写脚本对于大多数人来说并不是一件容易的事情。上述过程提供了一种通过建
    立model间接生成脚本的思路,应该说不涉及循环等操作的空间分析甚至可以直接model一下
    就可以展现出来。在这种情况下,仅仅需要了解脚本的基本语法,就可以轻松的撰写你自己
    所需要的脚本了。


    e-mail:shisong.zhu@gmail.com
    GISer in China, for engineering
  • 相关阅读:
    python变量和常量
    python运算符
    python 数据类型强制转换
    Python 变量的缓存机制
    Python格式化输出
    Python 自动类型转换
    Python 六大标准基础数据类型
    Python 基础
    pyhton 初识
    计算机基础
  • 原文地址:https://www.cnblogs.com/columbus2/p/840348.html
Copyright © 2020-2023  润新知