zoukankan      html  css  js  c++  java
  • 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数据结构之图的实现方法
    大数据将如何颠覆信任危机
    大数据将如何颠覆信任危机
    JQuery的入门(二)
    递归思想
    Jquery的入门(一)
    如果让你写一个消息队列,该如何进行架构设计啊?
    如何解决消息队列的延时以及过期失效问题?消息队列满了以后怎么处理?有几百万消息持续积压 几小时.怎么解决?
    如何保证消息的顺序性?
    如何保证消息在传送的过程中不会丢失?(如何保证消息的可靠性传输?)
  • 原文地址:https://www.cnblogs.com/columbus2/p/840348.html
Copyright © 2011-2022 走看看