OSGB転送SLPK中に一時フォルダパスを交換する方法


【問題】:
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")