Vi una gran interfaz para FME con Python
¿Qué están haciendo con eso? Quiero ideas
Vi una gran interfaz para FME con Python
¿Qué están haciendo con eso? Quiero ideas
Recién estoy comenzando con FME, y estoy usando un script de apagado para copiar mi FGDB de destino en otra ubicación y guardar el archivo de registro:
import distutils.dir_util, shutil, os, time, locale
src = 'C:/Testing/FME/TPW/Third_Party_Wells.gdb'
dst = '//share/Data Services/GIS Data/Data/Third Party Wells/Third_Party_Wells.gdb'
distutils.dir_util.copy_tree(src, dst)
logfile = FME_LogFileName
shutil.copy(logfile, 'C:/temp/PRD_' + os.path.basename(logfile)[:-4] + '_' + time.strftime('%Y_%m_%d_%H_%M_%S', time.localtime()) + '.log')
# Get features written counts
shl_count = str(FME_FeaturesWritten['ThirdPartyWellsSurface'])
bhl_count = str(FME_FeaturesWritten['ThirdPartyWellsBottom'])
lat_count = str(FME_FeaturesWritten['ThirdPartyWellsLaterals'])
# Write out features written counts to log
fm_log = open('C:/temp/PRD_Counts.log','a')
fm_log.write(time.strftime('%m/%d/%Y %I:%M:%S', time.localtime()) + ',' + shl_count + ',' + bhl_count + ',' + lat_count + ',' + str(FME_TotalFeaturesWritten) + '\n')
Eso es bastante básico, pero realmente no hay límite, no creo. Hay toneladas de ideas aquí también.
EDITAR: agregado en el código para obtener una cantidad de características escritas y enviarlas al archivo de registro CSV.
Echa un vistazo a Oliver's Python Corner. Hay muchas cosas que puedes hacer con Python en FME.
A menudo uso PythonCaller para hacer algunas manipulaciones de atributos dentro de 1 transformador en lugar de usar 10 transformadores diferentes (si elif elif else ..)
Puede tener PythonCallers muy básicos como este ejemplo que convertirá todos sus atributos a valores en mayúsculas:
def upperAll(feature):
for att in feature.getAttributeList():
feature.setAttribute(att,feature.gettAttribute(att).upper())
También uso PythonCaller para enviar correos electrónicos en caso de falla o interactuar con un servidor FTP, etc. Realmente no hay límites
Diviértete y feliz FMEing
Jeff
Buen ejemplo anterior: actualmente estoy escribiendo un artículo para nuestra base de conocimiento llamado FMEPedia aquí: Python y FME Basics .
Esto incluye algunos ejemplos simples, como eliminar un archivo antes de ejecutar un espacio de trabajo con un script de inicio, manipular características con un PythonCaller, etc. También hay enlaces a ejemplos más complejos.
Software seguro Ken Bragg
fuente
Ejemplos:
Registro personalizado
Y enviar correo electrónico :
fuente
Recientemente he estado usando un transformador PythonCaller que obtiene coordenadas de un archivo CSV y las guarda como atributos. El CSV se escribe desde otro espacio de trabajo que utiliza un Transformador BoundsExtractor que obtiene las coordenadas delimitadoras de un cuadro delimitador de mi área de interés.
Luego paso estos atributos a otros WorkspaceRunners que usan las coordenadas delimitadoras como una ventana de búsqueda para su posterior procesamiento. Tengo datos de todo el estado y procesarlos en todo el estado llevaría varias horas. Debido a que limito mi procesamiento a una ventana en particular, todo toma un minuto.
El código pythonCaller está aquí:
También uso un script de inicio de Python que copia un árbol de carpetas a otra ubicación si aún no existe.
fuente