elipse+pydev+python开发arcgis脚本程序
环境配置参考:http://www.cnblogs.com/halfacre/archive/2012/07/22/2603848.html
添加arcpy类库、arctoolbox、arcgis-bin如下所示。
windos——preference——pydev

完成环境配置。
二、获取文件路径Python方法

os.getcwd()返回的是当前文件的目录。假如我的代码文件放在C:\Users\scfeng\workspace\arcgispython\src\root\tested包下
import os
print(os.getcwd())
返回C:\Users\scfeng\workspace\arcgispython\src\root\tested文件路径
print(os.path.dirname(os.getcwd()))
Return the directory name of pathname path。即获取脚本所在文件夹的上一层文件目录C:\Users\scfeng\workspace\arcgispython\src\root
获取root文本下文件夹date下面的text.txt文件路径:
os.path.join(os.path.dirname(os.getcwd()),"date","text.txt")
print返回:C:\Users\scfeng\workspace\arcgispython\src\root\date\text.txt
环境可作为环境类中的读/写属性进行访问,方法为 arcpy.env.<环境名称>。还可以利用 Python 的 from-import 语句简化代码,而不必为每个环境名称都添加 arcpy.env 前缀。
import arcpy
arcpy.env.workspace = "c:/data"
简化写法
import arcpy
from arcpy import env
env.workspace = "c:/data"
一种设置geodatabase作为存储数据的工作空间环境,读/写 数据环境变量设置为如下:
import arcpy
arcpy.env.overwriteOutput = True
arcpy.env.workspace = os.path.join(os.path.dirname(os.getcwd()), "data", "Habitat_Analysis.gdb")
roads = "MajorRoads"
veg = "Vegetation"
climate = "ClimateZones"
import arcpy
from arcpy import env
# Set the workspace environment setting
env.workspace = "c:/St_Johns/data.gdb"
# Set the XYTolerance environment setting
env.XYTolerance = 2.5
第二种设置文件夹为工作空间环境。
import arcpy
#设置环境
arcpy.env.workspace="E:/test3"
#buffer areas of roads
roads="roads.shp"
roadsBuffer = "E:/test3/buffer_ouput"
arcpy.Buffer_analysis(roads,roadsBuffer,"40 Meters","","","ALL")
print('finished')
roads.shp放在test3文件夹目录下,通过工作空间访问路网数据。
第三种,也可以不设置工作空间,但是不建议这样做,对于养成良好的代码习惯不利。如
import arcpy
#buffer areas of roads
roads="E:/test3/roads.shp"
roadsBuffer = "E:/test3/buffer_ouput"
arcpy.Buffer_analysis(roads,roadsBuffer,"40 Meters","","","ALL")
print('finished')
假如输出的要素不想保留,则放在内存里,在后续的运行处理中自动清除。
buffer = arcpy.Buffer_analysis(roads, "in_memory/buffer", "1000 Feet", "", "", "ALL")
默认输出的路径为工作空间里,如空间为gdb则输出到gdb,如果输出空间为文件夹,则输出到文件夹。
habitat = arcpy.Select_analysis(dissolve, "Habitat", """ "Area" >100 AND "Climate" = 'Coastal' """)
三、查看运行时间
import datetime #用来查看运行时间的命令与该程序无关
startTime=datetime.datetime.now()
print("start time:",startTime)
.........#写你的程序
endTime=datetime.datetime.now()
print("end time:",endTime)
print("耗时",endTime-startTime)
elipse+pydev+python开发arcgis脚本程序的更多相关文章
- 老李分享:Python开发性能测试脚本
老李分享:Python开发性能测试脚本 测试开发工程师的工作主要是根据测试目标来完成,帮助测试人员完成测试目标,测试的业务需求是测试人员提出,但是由于环境的制约,手中没有性能测试工具的时候,性能测 ...
- 用python开发简单ftp程序
根据alex老师视频开发的简单ftp程序,只能实现简单的get功能 ftp客户端程序: #!/usr/bin/env python #_*_ coding:utf-8 _*_ import socke ...
- 使用Python开发鸿蒙设备程序(0-初体验)
到目前为止,鸿蒙设备开发的"官方指定语言"还是C语言! 这看起来是一件正常的事,毕竟鸿蒙设备开发还是属于嵌入式开发的范畴,而在嵌入式开发中C语言又是当之无愧的首选,所以,大家也都接 ...
- 2020年python开发微信小程序,公众号,手机购物商城APP
2020年最新的技术全栈,手机短信注册登陆等运用, 精准定位用户 支付宝支付 以及前后端从0到大神的全部精解 2020年最新的技术全栈,手机短信注册登陆等运用, 精准定位用户 支付宝支付 以及前后端从 ...
- 用Python开发实用程序 – 计算器
一段时间前,自己制作了一个库 “sui-math”.这其实是math的翻版.做完后,python既然可以轻易的完成任何的数学计算,何不用python开发一个小程序专门用以计算呢? 现在我们越来越依赖于 ...
- 配置Sublime Text 3的Python开发环境
最近的项目是用Python开发自动化测试脚本的,所以使用Python比较多.我用的编辑器是Sublime Text3. Sublime Text 3是一个轻量级的跨平台文字编辑器,一经面世便被认为是一 ...
- 用python开发android应用 【转载】
用python开发android应用 [转载] 转载自:http://www.miui.com/thread-995114-1-1.html Python是动态语言,比较简洁.Android不直接支持 ...
- python如何编写win程序
python可以编写win程序.win程序的格式是exe,下面我们就来看一下使用python编写exe程序的方法. 编写好python程序后py2exe模块即可将其打包为exe程序. 实际操作过程: ...
- arcpy+PyQt+py2exe快速开发桌面端ArcGIS应用程序
前段时间有一个项目,大体是要做一个GIS数据处理工具. 一般的方法是基于ArcObjects来进行开发,因为我对ArcObjects不太熟悉,所以就思考有没有其他简单快速的方法来做. 在查看ArcGI ...
随机推荐
- Umbraco(4)-Outputting the Document Type Properties(翻译文档)
翻译原文地址:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/umbraco4outputting-the-document-typ ...
- hdu 4744 最小费用流
#include <cstdio> #include <queue> #include <cstring> #include <cmath> #defi ...
- 1822: [JSOI2010]Frozen Nova 冷冻波 二分最大流
1822: [JSOI2010]Frozen Nova 冷冻波 Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 585 Solved: 175[Subm ...
- javascript-函数的参数和return语句
× 目录 [1]参数 [2]Arguments对象 [3]函数重载 [4]return 语句 ------------------------------------- 一.参数(最多25个) 可以动 ...
- 【.NET基础】--委托、事件、线程(3)
之前的两篇文章我们了解了委托和事件,本文我们看一下线程. 1,一个窗体程序,默认拥有一个线程(相当于一个商店里面,只有一个店员),这个默认的线程叫做 UI线程/主线程. 2,进程和线程的关系: A,进 ...
- 安装sybase12.0,运行时报错异常。
报错为:invalid command line argument ' and' 当通过开始菜单打开"配置服务器"时,回报如上异常,当继续创建服务器是,不会成功.实际上不是程序出错 ...
- 【CSS3】---first-of-type选择器+nth-of-type(n)选择器
first-of-type选择器 “:first-of-type”选择器类似于“:first-child”选择器,不同之处就是指定了元素的类型,其主要用来定位一个父元素下的某个类型的第一个子元素. 示 ...
- 数据字典系统,要的进来下载吧,MVC+Easyui写的
数据字典系统,要的进来下载吧,以后做开发不用单独去生成一个数据字典了,直接打开此系统就OK啦 使用VS2012写的 语法是SQL 2005以上版本,包含2005的哦,2000的不适用此系统 字数不够啦 ...
- 使用script的src实现跨域和类似ajax效果
在解决js的跨域问题的时候, 有多种方式, 其中有一种是利用script标签的src属性,因为这个属性是不受域名限制的,我们可以直接让src的这个链接指向跨域网站的一个接口, 这个接口返回的是js代码 ...
- [老老实实学WCF] 第七篇 会话
老老实实学WCF 第七篇 会话 通过前几篇的学习,我们已经掌握了WCF的最基本的编程模型,我们已经可以写出完整的通信了.从这篇开始我们要深入地了解这个模型的高级特性,这些特性用来保证我们的程序运行的高 ...