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 ...
随机推荐
- 关于VIM在Win10下的无意义折腾
这两天和VIM较上劲了,总结下来其实是极无意义的折腾,浪费了很多宝贵的时间! 事情是这样的,无意中发现vim在Win10的控制台窗口无参数打开时不显示那个“乌干达儿童”的界面(其实就是:intro的内 ...
- codeforces 590A A. Median Smoothing(思维)
题目链接: A. Median Smoothing time limit per test 2 seconds memory limit per test 256 megabytes input st ...
- zoj 3742 Delivery 好题
Delivery 题目还是自己看吧 - -! 看似图论,实际上是一个考察思维以及数据结构的题. 我们对于先前和向后的边分别进行统计. 对询问离线. 小边按照左端点从大到小排序. 1.对于向后的边,询问 ...
- Javascript -- toFixed()函数
Javascript——toFiexed()函数 1. toFixed(n) 限制小数点后位数,四舍五入.n:0~20 . 2. 作用对象必须是number,不能为其他类型.如(8.001).toFi ...
- 1172 Hankson 的趣味题[数论]
1172 Hankson 的趣味题 2009年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Descrip ...
- Ajax学习笔记(一)
来源:http://www.imooc.com/learn/250 Ajax不是某种编程语言,而是一种在无须重新加载整个网页的情况下能够更新部分网页的技术. 一.概念介绍--异步 利用XMLHttpR ...
- Java之ConnectionPool连接池
1.初始化(根据配置信息进行初始化)2.产生一个新的数据库连接3.有存储已经使用的连接集合,空闲连接集合4.提供给外部调用获取连接的方法5.提供给外部释放连接(不是关闭连接,而是将连接闲置)6.销毁连 ...
- Android webkit 事件传递流程详解
前言:基于android webview 上定制自己使用的可移植浏览器apk,遇到好多按键处理的问题.所以索性研究了一下keyevent 事件的传递流程. frameworks 层 keyevent ...
- STL Container和ATL智能包裹类的冲突
STL Container和ATL智能包裹类的冲突 载自:http://www.codesky.net/article/200504/63245.html Article last modified ...
- 【学习笔记】【C语言】char类型
1. 存储细节 ASCII单字节表(双字节GBK\GB2312\GB18030\Unicode) 2. 常见错误 char c = A; char c = "A"; char c ...