基于Python的控件分析模型的实现
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
当前,随着信息科学技术日新月异的发展,地理信息在国民经济生活和政府行政部门决策服务中的角色越来越重要。同时,计算机各方面的性能也有很大的提高,其解释执行能力已经达到一定的应用需求,出现的新语言也多数为曾经程序语言世界的二等公民——脚本语言。本文在这样的背景下,研究脚本语言Python在处理地理信息、构建空间分析模型方面的应用与实现。
     Python是世界GIS技术最大提供商ESRI的首选脚本语言。由于其具有跨平台、易学易用、面向对象、可扩展、解释执行能力高、库内容丰富等多方面的优越特性,所以与GIS分析处理工作的要求十分相符。空间分析的任务通常包含多个不同的数据集以及各自所拥有的大量的数据记录,处理起来常常会花费大量的时间。Python可以自动多任务处理地理信息,即可以执行一个处理任务,也可以处理多个复杂的工作任务,同时也可以形成一种分析处理模型。用脚本的好处在于它们能重复使用,并且没有复杂的数据标准。一般情况下, Python需要结合Geoprocessor这一ArcObjectsTM COM组件对象来开发和设计空间分析模型,同时在ArcGIS客户端应用程序中展示模型及其实例运行结果。Geoprocessor对象封装了GIS常用的400多种工具,所以其应用功能非常强大。
     本文就消防领域中对火警响应时间这一特定内容用Python设计和实现空间分析模型,其主要模型功能组成有:1)地址数据表的创建,用特定字段记载消防事故点的位置信息;2)定位事故发生地,通过地理编码将二维表中的位置文字信息转变为空间信息;3)检测定位正确性,通过与已有的基础地理信息来查询该警报是否正确;4)寻找最近消防站,运用GIS常用的网络分析功能来设计;5)响应时间的评估,评估消防站在设定的时间范围内是否能做出及时的反应。这五个处理步骤最后集成到一起,形成一个火警响应时间的空间分析模型。
     本文主要围绕Python这一脚本语言在空间分析建模方面的应用来展述,最后结合一个火警响应时间的实例来进行设计,从而体现Python的特性与其在GIS空间分析方面应用的优越性。
With the rapid development of information science and technology, nowadays geographic information is playing an increacingly vital role in the civil economic life, as well as in the decision-making service of governmental administrative department. Meanwhile, cyber-properties in all sides refine greatly, as a result, its executive capacity has reached a certain applied requirement, and the emerging script languages as a new generation were once of the second-class in the program world. In such circumstance, this paper is carrying out the research on Python's (a script language) application and achievement in terms of dealing with geographic information, as well as of generating models of spatial analysis.
     T Python, the preferred script language of ESRI, the world largest provider for GIS technology. Just because it is featured with the multiple supreme characteristics, including cross-platform, easy to learn and use, orienting object, able to extend, high capacity in explaining and executing, ample library and so on, it corresponds to the demand of GIS analysis managing task. The geographic processing tasks contain different datasets that have massive data records respectively, so it turns out to take enormous time to solve these tasks. Python is able to handle geographic information with many tasks automatically. The language may implement one managing task, as well as many sophisticated once, in this way a kind of analysis managing model is taking shape. The advantages in using script lie in the repetition of usage and lack of complex data standard. Generally, Python needs to associate Geoprocessor, the ArcObjectsTM COM object, to develop and design spatial analysis model, and showing the model and the example’s result in application program of ArcGIS client. Geoprocessor object encapsulates more than 400 kinds of GIS commonly used tools, so its application is very powerful.
     In this paper, we use Python to design and achieve spatial analysis model in terms of the particular fire alarm responsing time in the fire control field. The main steps are as follows: 1)The construction of address table, recording the positioning information of fire incident site by particular field. 2)Location of incident site, transfering positioning character information into spatial information by geocoding. 3) Correctness testing of location, ensuring alarm's exactness by available fundamental information of geography. 4) The search of closest fire station, designing with frequently-used function of network analysis of GIS. 5) Evaluation of response time, evaluating if prompt action is taken by fire station in a setting span of time. All the five procedures are to conform together, forming a spatial analysis model of fireresponse time, which may be used repetitively and turns to be a spatial analysis tool.
     The paper is focusing on the application of Python in the spatial analysis model respect. In the end,it'll exhibit the property of Python and superiority in terms of GIS's Spatial Analysis, by designing a case of fire alarm's response time for combination.
引文
ESRI ArcGIS公安/消防方案[M].http://www.66wen.com/15gwgz/02qhwa/20081123/62274.html.
    Abdella Yisak,Alfredsen Knut. A GIS toolset for automated processing and analysis of radar precipitation data[J]. COMPUTERS&GEOSCIENCES, 2010.4(4):422-429.
    Corey Tucker. Writing Geoprocessing Scripts[M]. ESRI, 380 New York Street,Redlands, CA 92373-8100,USA.2004.
    Guido van Rossum,孟岩等.Guido谈Python的现状与发展[J].程序员,2007.7:26-27.
    H.M.Deitel,P.J.Deitel,J.P.Liperi,B.A.Wiedermann著,周靖译.Python编程金典[M].北京:清华大学出版社,2003.
    http://bbs.esrichina-bj.cn/ESRI/
    http://python.cn/
    http://www.esri.com/
    http://www.python.org/
    http://www.pythonchina.com/
    Jill McCoy. Geoprocessing in ArcGIS[M]. ESRI, 380 New York Street,Redlands, CA 92373-8100,USA.2004.
    Kang-tsung Chang著,陈健飞等译.地理信息系统导论[M].北京:科学出版社,2006.
    Karssenberg D.,de Jong,K.,van der Kwast J..Modelling landscape dynamics with Python[J]. INTERNATIONAL JOURNAL OF GEOGRAPHICAL INFORMATION SCIENCE,2007.5(5):483-495.
    Karssenberg Derek,Schmitz Oliver,etc.. A software framework for construction of process-based stochastic spatio-temporal models and data assimilation[J]. ENVIRONMENTAL MODELLING & SOFTWARE,2010.4(4):489-502.
    Mark Pilgrim著,啄木鸟obp团队译.Dive Into Python[M].北京:啄木鸟网站,2007.
    Michael Zeiler.Modeling Our World[M]. ESRI, 380 New York Street,Redlands, CA 92373-8100,USA.1999.
    Python 2.5.1 Documentation.Python,2007.4.
    Scott Crosier. Geocoding in ArcGIS[M]. ESRI, 380 New York Street,Redlands, CA 92373-8100,USA.2004.
    Shi Xuan.Python for Internet GIS applications[J].COMPUTING IN SCIENCE & ENGINEERING,2007(3):56-59.
    Van Der Knijff J.M.,Younis J.,De Roo A.P.J.. LISFLOOD: a GIS-based distributed model for river basin scale water balance and flood simulation[J]. INTERNATIONAL JOURNAL OF GEOGRAPHICAL INFORMATION SCIENCE, 2010(2):189-212.
    Wesley J.Chun著,宋吉广译.Python核心编程(第二版)[M].北京:人民邮电出版社,2008.
    陈儒.Python源码剖析——深度探索动态语言可信技术[M].北京:电子工业出版社,2008.
    陈述彭,鲁学军,周成虎.地理信息系统导论[M].北京:科学出版社,2000.
    陈羽翔.基于GIS的地理网络分析[D].解放军信息工程大学,2002.3.
    高昂.Python的拓展应用[J].动态语言,2009.10.
    郭力子.基于开源的Web开发架构——ZOPE/Python[J].计算机时代,2008.7:9-11.
    郭仁忠.空间分析[M].北京:高等教育出版社,2001.
    何宗宜.地图数据处理模型的原理与方法[M].武汉:武汉大学出版社,2004.2.
    胡明光,张亮.GIS网络分析功能的实现[J].科教文汇,2007(27).
    胡鹏,黄杏元,华一新.地理信息系统教程[M].武汉:武汉大学出版社,2001.
    阚瑷珂,王绪本等.基于地理处理模型的珍稀特有植物空间分布识别方法[J].地理与地理信息科学,2009.9(5),30-33.
    赖勇浩.Python性能优化经验谈[J].程序员,2008.4:99-103.
    李群。基于GIS的城市消防应急指挥支持系统[M].首都经济贸易大学,2005.3.
    刘云翔.最短路径分析及GIS/GPS集成技术研究[D].国防科技大学,2002.1.
    刘振平,贺怀建等.基于Python的三维建模可视化系统的研究[J].岩土力学,2009.10(10):3037-3042.
    罗霄,任勇,山秀明.基于Python的混合语言编程及其实现[J].计算机应用与软件,2004.21(12):17.
    马国.基于GIS的消防态势系统设计与实现[D].国防科学技术大学,2006.11.
    马维峰,李林,薛重生.地质统计学组件库系统架构设计与应用[J].地球信息科学,2006.12(4):55-59.
    秦其明.ArcView地理信息系统使用教程[M].北京:北京大学出版社,2001.
    舒畅,黎洪生.使用Python实现基于Web的水资源检测系统[J].武汉理工大学学报,2006.5(5).
    汤国安等.ArcGIS地理信息系统空间分析实验教程[M].北京:科学出版社,2006.4.
    唐小飞.浅谈我国城市化建设进程中的消防安全现状与预防对策[J].警察技术,2002(3).
    王亚卿,方龙.浅析Python在地图处理中的运用[J].华东森林经理,2008.3(1),83-84.
    邬伦,刘瑜,张晶等.地理信息系统——原理、方法与应用[M].北京:科学出版社,2001.
    谢搴.警用地理信息系统的设计与实现[D].成都理工大学,2007.5.
    叶宝莹,杨农.利用ArcGIS构建地形图分幅空间数据库[J].2008.5(3):207-209.
    叶宝莹.ESRI用户使用Python指南.GIS空间站,2006.
    叶海波.城市地址编码的技术及应用[D].中国石油大学,2009.5.
    余超,周天琳等.TPython:一种扩充的Python语言[J].计算机与数字工程,2009(5):54-58.
    张超.地理信息系统实习教程[M].北京:高等教育出版社,2000.
    章意锋,吴健平等.ArcGIS中地理编码方法的改进[J].测绘与空间地理信息,2007.6(3):116-119.
    赵国磊.基于ARCGIS、PYTHON的证据加权回归模型及其海底资源评价应用[D].吉林大学,2009.6.
    朱长青,史文中.空间分析建模与原理[M].北京:科学出版社,2006.

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700