ArcGIS při každém spuštění geoprocessingového nástroje zapisuje informace o jeho běhu do části metadat „geoprocessingová historie“ třídy, nad kterou byl daný nástroj spuštěn (případně celého workspace). Například když z ArcGIS Pro spustíme nástroj Append nad určitou třídou, zapíše se informace do geoprocessingové historie této třídy/tabulky. Podobně když spustíme nástroj na tvorbu geodatabázové verze (což se týká celé geodatabáze), zapíše se informace o běhu do geoprocessingové historie workspace této geodatabáze.
Geoprocessingová historie se ukládá interně do systémové geodatabázové tabulky GDB_ITEMS a jejího pole Definition, kde jsou v XML uložená metadata daného geodatabázového objektu. Jestliže se geoprocessingové nástroje pouští často (například v pravidelně spouštěném python skriptu) může geoprocessingová historie třídy časem docela výrazně narůstat, a tím negativně ovlivňovat odezvu práce s geodatabází. Této situaci lze předejít nastavením na straně klientů ArcGIS a případně příliš objemnou historii geoprocessingu odmazat.
Jak vypnout ukládání historie do metadat geodatabáze?
V ArcGIS Pro (velmi podobně i v ArcMap) lze vypnout ukládání geoprocessingové historie odškrtnutím zápisu do metadat datové sady v nastavení geoprocessingu.
V případě, že jsou nad daty geodatabáze často spouštěny python skripty a hrozí kvůli tomu růst objemu historie, je potřeba vypnutí provést na úrovni samotného skriptu pomocí procedury arcpy.SetLogHistory(False)
Viz https://pro.arcgis.com/en/pro-app/latest/arcpy/functions/setloghistory.htm
Promazání geoprocessingové historie z metadat geodatabáze
Ověřit si velikost geoprocessingové historie můžete tak, že se podíváte přímo do tabulky GDB_ITEMS (pohledu GDB_ITEMS_VW u Oracle), do pole Documentation. Nejprve je vhodné zjistit, u kterých objektů geodatabáze a jak moc geoprocessingová historie narostla. SQL pro analýzu velikosti metadat pro jednotlivé databázové platformy (Oracle, SQL Server, PostgreSQL) je možné najít například na:
https://support.vertigis.com/hc/en-us/articles/4415911657746-Performance-Geoprocessing-Metadata-in-E...
kde tyto příkazy naleznou 20 největších geodatabázových objektů a zobrazí velikost jejich metadat.
Jako určitý základ arcpy skriptu, promazávajícího geoprocessingovou historii tříd prvků a workspace v metadatech, je možné použít python skript z článku Knowledge Base Esri.
Pozor! Skript maže i thumbnaily vrstev, které mohou taktéž zabírat hodně místa.
https://support.esri.com/en-us/knowledge-base/how-to-delete-geoprocessing-history-from-a-geodatabase...
Tento skript je se znalostí arcpy a pythonu možné dle libosti dále upravovat, aby například:
- nemazal thumbnaily (zakomentováním řádku tgt_item_md.deleteContent('THUMBNAIL') )
- ukládal metadata do XML souboru před jejich promazáním pomocí funkce saveAsXML,
https://pro.arcgis.com/en/pro-app/latest/arcpy/metadata/metadata-class.htm
- procházel a promazával i metadata tabulek a datasetů (nejen tříd prvků) procházením listu tabulek Arcpy.ListTables
https://pro.arcgis.com/en/pro-app/latest/arcpy/functions/listtables.htm