前段时间有一个项目,大体是要做一个GIS数据处理工具。

一般的方法是基于ArcObjects来进行开发,因为我对ArcObjects不太熟悉,所以就思考有没有其他简单快速的方法来做。

在查看ArcGIS的官方帮助文档时,我发现用Arcpy(ArcGIS的python库)来处理数据很简单,只需要关注逻辑就可以,不需要知道那么多的类啊对象什么的(ArcObjects)。基本的思路解决了,接下来还有个问题:用户界面怎么弄?

答案是:PyQt!至于py2exe,大家看名称就知道它是用来把python程序转换成exe程序的。

软件环境及版本说明:GIS平台软件:ArcGIS10;编程语言:Python2.6;GUI:PyQt4;Python IDE: Eric6

代码暂且不提供了,有时间再给大家放出来。

在这里我说下在开发的过程中可能会遇到的一些关键问题

  1. PyQt方面,最重要的知识点是“信号”和”槽“,只要理解了这个,界面的问题基本就搞定了。
  2. Python方面, 最主要编码问题,诸如unicode、decode、encode的问题要搞清楚。
  3. Py2exe方面,推荐一篇博文(提供把ArcPy程序转换成exe程序的方法),网址:https://geonet.esri.com/thread/164101 。

其实,这里我写这篇博客的主要目的是要说明:

这条技术路线是行的通的,而且确实可以实现快速开发桌面端GIS应用。不想用ArcObjects的同学可以试试我提的这个路子。

开发可能需要的参考资料:

ArcGIS Resource: http://resources.arcgis.com/zh-CN/help/main/10.1/

PyQt: https://riverbankcomputing.com/software/pyqt/intro

PyQt上手教程:http://www.pythoner.com/89.html

最新文章

  1. ormlite的使用方法
  2. Java设计模式之单例模式(Singleton)
  3. PortSentry是入侵检测工具中配置最简单、效果最直接的工具之一
  4. sdutoj 2624 Contest Print Server
  5. Linux 浅谈Linux 操作系统的安全设置
  6. String 与StringBuffer比较
  7. unity,下面两个协程不等价
  8. ETL,ESB,BPM为什么要这些图形
  9. java web 学习十五(jsp基础语法)
  10. DataTable循环删除行
  11. Surround the Trees(凸包求周长)
  12. WIN7 数据源配置问题(32位&&64位)
  13. 文件系统的几种类型:ext3, s…
  14. 【解决方案】纯js动态克隆表一行元素
  15. uva11059(最大乘积)
  16. 爬虫(requests)
  17. git提交代码到github
  18. 32 ArcToolBox学习系列之数据管理工具箱——属性域(Domains)的两种创建及使用方式
  19. JS快速排序 希尔排序 归并排序 选择排序
  20. Ajax三级联动

热门文章

  1. .NET Core RC2/RTM 明确了时间表
  2. 分布式锁1 Java常用技术方案
  3. PHP源码分析-变量
  4. C#多线程之线程池篇1
  5. 玩转ajax
  6. 《如何使用Javascript判断浏览器终端设备》
  7. JavaScript中String对象的方法介绍
  8. 2016/12/30_Python
  9. 洛谷P1547 Out of Hay
  10. 【Java并发编程实战】-----“J.U.C”:ReentrantReadWriteLock