elipse+pydev+python开发arcgis脚本程序

时间:2023-03-08 16:52:25
elipse+pydev+python开发arcgis脚本程序

环境配置参考:http://www.cnblogs.com/halfacre/archive/2012/07/22/2603848.html

添加arcpy类库、arctoolbox、arcgis-bin如下所示。

windos——preference——pydev

elipse+pydev+python开发arcgis脚本程序

完成环境配置。

二、获取文件路径Python方法

elipse+pydev+python开发arcgis脚本程序

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)