OSGB转SLPK过程中,更换临时文件夹路径的方法

1
分享 2019-06-13
【问题】:
在ArcGIS Pro中,使用GP工具Create Integrated Mesh Scene Layer Package生成SLPK过程中,会先写临时文件,然后再将临时文件打包到指定的SLPK输出路径。
2.2版本中,SLPK的临时文件的默认路径为:

C:\Users<用户名>\AppData\Local\Temp\scratch


很多时候,C盘的空间很小。当OSGB数据量很大时,SLPK临时文件会占用很多空间。所以希望这个目录可以更换到其他盘符。
【解决方案】:
这个问题在2.3版本中有所改善。
  • 如果新建工程,那么临时文件的默认路径和工程在一个文件夹下。
  • 如果不新建工程,SLPK临时文件的路径依然在C盘Local下。

当使用独立的Python代码执行转换时,可以指定临时文件的目录,这样临时文件就存储在指定文件了。
arcpy.env.scratchWorkspace = r'E:\Temp\scratch'


OSGB转SLPK独立Python代码如下:
__author__ = 'Xurk'

import arcpy
import os,os.path

# OSGB路径
OSGB_par_folder=r'E:\20190321_ModifiedOSGB\TestData\OSGB'#arcpy.GetParameterAsText(0)

# SLPK名字
spkName=r'MeshChangJiang.slpk'#arcpy.GetParameterAsText(1)

# 锚点Shapefile路径
shpfile=r'E:\20190321_ModifiedOSGB\TestData\point3857.shp'

# 生成SLPK过程中临时文件夹路径
arcpy.env.scratchWorkspace = r'E:\Temp\scratch'

# SLPK存放路径
arcpy.env.workspace = r'E:\20190321_ModifiedOSGB\TestData\OSGB'

def getSubFolder(OSGBfolder):
subDirs=os.listdir(OSGBfolder)
subDirName=[]
arcpy.AddMessage(subDirName)

for subdir in subDirs:
if os.path.isdir(os.path.join(OSGBfolder,subdir)):
subDirName.append(subdir)

return subDirName

folders=getSubFolder(OSGB_par_folder)
print(folders)

arcpy.CreateIntegratedMeshSceneLayerPackage_management(folders, spkName, shpfile, "OSGB")




文章来源:https://blog.csdn.net/ceibake/article/details/90896793

0 个评论

要回复文章请先登录注册