Instrução

Excluir histórico de geoprocessamento de um geodatabase no ArcMap usando Python

Last Published: August 17, 2021

Resumo

Ferramentas de geoprocessamento adicionam metadados sobre sua execução em um geodatabase. Os metadados incluem o nome da ferramenta, sua localização e os parâmetros usados quando o registro de geoprocessamento está ativado. Os administradores e gerentes de GIS às vezes precisam excluir o histórico de geoprocessamento de uma classe de feição ou metadados da área de trabalho.

O seguinte script descreve como atingir esse objetivo usando um script de Python e um fluxo de trabalho de como remover o histórico de geoprocessamento de uma área de trabalho do geodatabase enterprise.

Procedimento

Remover histórico de geoprocessamento da classe de feição

As instruções fornecidas abaixo descrevem como atingir esse objetivo usando um script de Python. O seguinte script automatiza este processo para todas as classes de feições ema geodatabase, incluindo classes de feições armazenadas em um conjunto de dados de feição.

Nota: Execute o procedimento na versão de 32 bits do Python.

Execute o script de Python incluído após atualizar as variáveis:

import arcpy import os, string ''' Update the following five variables before running the script.''' version = "10.5" myWorkspace = r"C:\XML_out\dbinstance_testgdb.sde" gp_history_xslt = r"C:\Program Files (x86)\ArcGIS\Desktop{}\Metadata\Stylesheets\gpTools\remove geoprocessing history.xslt".format(version) output_dir = r"C:\XML_out" db_type = "SQL" #Set this to either "SQL" or "Oracle" if your db has spatial views. If not you may set it to "". def RemoveHistory(myWorkspace, gp_history_xslt, output_dir): ##Removes GP History for feature dataset stored feature classes, and feature classes in the File Geodatabase.     arcpy.env.workspace = myWorkspace     for fds in arcpy.ListDatasets('','feature') + ['']:         for fc in arcpy.ListFeatureClasses('','',fds):             data_path = os.path.join(myWorkspace, fds, fc)             if isNotSpatialView(myWorkspace, fc):                 removeAll(data_path, fc, gp_history_xslt, output_dir) def isNotSpatialView(myWorkspace, fc): ##Determines if the item is a spatial view and if so returns True to listFcsInGDB()         if db_type <> "":         desc = arcpy.Describe(fc)         fcName = desc.name         #Connect to the GDB         egdb_conn = arcpy.ArcSDESQLExecute(myWorkspace)         #Execute SQL against the view table for the specified RDBMS         if db_type == "SQL":             db, schema, tableName = fcName.split(".")             sql = r"IF EXISTS(select * FROM sys.views where name = '{0}') SELECT 1 ELSE SELECT 0".format(tableName)         elif db_type == "Oracle":             schema, tableName = fcName.split(".")             sql = r"SELECT count(*) from dual where exists (select * from user_views where view_name = '{0}')".format(tableName)             egdb_return = egdb_conn.execute(sql)             if egdb_return == 0:                 return True             else:                 return False         else: return True     else: return True def removeAll(data_path, feature, gp_history_xslt, output_dir): ##Remove all GP History metadata from a feature class.     arcpy.ClearWorkspaceCache_management()     name_xml = os.path.join(output_dir, str(feature)) + ".xml"     arcpy.XSLTransform_conversion(data_path, gp_history_xslt, name_xml)     print "Completed xml coversion on {0}".format(feature)     arcpy.MetadataImporter_conversion(name_xml, data_path)     print "Imported XML on {0}".format(feature) def makeDirectory(output_dir): ##Creates directory to store the xml tables of converted metadata. If the ##directory already exists, the files will be created there.     if not arcpy.Exists(output_dir):         os.mkdir(output_dir) if __name__ == "__main__":     makeDirectory(output_dir)     RemoveHistory(myWorkspace, gp_history_xslt, output_dir) print "Done Done"

Remover o histórico de geoprocessamento de uma área de trabalho do geodatabase enterprise

  1. Conecte-se a um geodatabase enterprise como o administrador do geodatabase.
  2. Execute a ferramenta de geoprocessamento Transformação XSLT para gerar um .xml a partir do banco de dados com o histórico de geoprocessamento removido.
    • Metadados de Origem: A conexão do banco de dados
    • XSLT de Entrada: A ferramenta da Esri localizada em:
C:\Program Files (x86)\ArcGIS\Desktop10.5\Metadata\Stylesheets\gpTools\remove geoprocessing history.xslt
  • Arquivo de Saída: Forneça um local para salvar o arquivo .xml de saída
A janela da ferramenta Transformação XSLT com os parâmetros apropriados preenchidos.
  1. Execute a ferramenta de geoprocessamento Importador de Metadados para importar o arquivo .xml de saída no geodatabase enterprise.
    • Metadados de Origem: O .xml de saída gerado da Etapa 2
    • Metadados de Destino: A conexão do banco de dados
A janela da ferramenta Importador de Metadados com os parâmetros apropriados preenchidos.

ID do Artigo:000011751

Obtenha ajuda de especialistas do ArcGIS

Entre em contato com suporte técnico

Baixe o Esri Support App

Ir para opções de download

Informações Relacionadas

Descubra mais sobre este tema