Python工具使用时的特点

Python与开源GIS

Python工具使用时的特点

2015-06-03 作者: xuzhiping 浏览: 1958 次

摘要: 将一个目录下不同子文件夹内的Shape文件分别导入到与子文件夹同名的personalGDB数据库中,借助Python,很容易就可以实现这个功能。 Python工具使用时的特点: 1.输入的文件夹和输出的文件夹一定要不相同。 2.将忽略输入文件夹根目录下的sha...

将一个目录下不同子文件夹内的Shape文件分别导入到与子文件夹同名的personalGDB数据库中,借助Python,很容易就可以实现这个功能。

Python工具使用时的特点:

1.输入的文件夹和输出的文件夹一定要不相同。

2.将忽略输入文件夹根目录下的shape文件,只考虑输入文件夹中子文件夹下的shape文件。

3.输出的文件夹要为空文件夹,因为本程序没有加入检查是否存在重名文件的功能。

4.建立的PersonalGDB数据库名称同输入文件夹中子文件夹的名称相同。

5.如果文件夹为空,同样会建立一个与其同名的数据库,这是为了与原来的结构目录保持一致。

6.本工具在执行结束后会有一条报错,但是不影响程序的正常执行。对于错误也没有找出原因,大家可以根据源代码进行改进。

以下是程序的源代码

import sys,os,os.path,string,arcgisscripting
gp = arcgisscripting.create(9.3)
INPUT_fOLDER_PATH = gp.GetParameterAsText(0)
OUTPUT_FOLDER_PATH = gp.GetParameterAsText(1)
gp.Workspace = INPUT_fOLDER_PATH
LISTS = os.listdir(gp.Workspace)
try:
gp.AddMessage(">>===============BEGIN=================")
for LIST1 in LISTS:
LIST_ElEMENT = INPUT_fOLDER_PATH + os.sep + LIST1
if os.path.isdir(LIST_ElEMENT):
SUB_FOLDER = LIST_ElEMENT
gp.Workspace = SUB_FOLDER
gp.AddMessage("  > WorkSpace: " + gp.Workspace)
gp.CreatePersonalGDB_management(OUTPUT_FOLDER_PATH,\
os.path.basename(SUB_FOLDER))
gp.AddMessage("   > Personal GeoDatabase " + "\"" + \
os.path.basename(SUB_FOLDER) + ".mdb" + "\"" + \
" Create Successful!!!")
PERSONAL_GDB = OUTPUT_FOLDER_PATH + os.sep + \
os.path.basename(SUB_FOLDER) + ".mdb"
FCS = gp.ListFeatureClasses()
COUNT = len(FCS)
if COUNT > 0:
for FC in FCS:
OUT_FC = PERSONAL_GDB + os.sep + FC[:-4]
gp.CopyFeatures_management(FC,OUT_FC)
gp.AddMessage("    > " + "\"" + FC + "\"" + " Copy to " + \
os.path.basename(PERSONAL_GDB) + " Successful!!!")
else:
gp.AddError("    > Folder " + "\"" + SUB_FOLDER + "\""  + \
" is Empyt!")
gp.Addmessage(">>================END==================")
except:
gp.Getmessage(2)

关注“开源集思”公众号
获取免费资源

随机推荐


Copyright © from 2014. 开源地理空间基金会中文分会 吉ICP备05002032号

Powered by TorCMS

OSGeo 中国中心 邮件列表

问题讨论 : 要订阅或者退订列表,请点击 订阅

发言 : 请写信给: osgeo-china@lists.osgeo.org