2 votos

Establecer valor para FME RandomPointGenerator

Básicamente, mi pregunta es muy sencilla:

  • Quiero crear cierta cantidad de puntos aleatorios dentro de polígonos. El RandomPointGenerator hace casi exactamente lo que quiero, pero me gustaría pasarle el valor Número de puntos a partir de un valor de atributo que tengo en uno de los shapefiles que leo en el espacio de trabajo. Ahora el transformador sólo permite "hard code" el valor allí.

¿Alguna idea para solucionarlo? No estoy muy familiarizado con el uso de parámetros publicados/privados, ¿podrían ayudarme? ¿O debería crear "manualmente" el flujo de trabajo de generación de puntos aleatorios dentro de polígonos y deshacerme del RandomPointGenerator?

1voto

Goodies Puntos 753

Tengo dos posibilidades para manejar esto.

La primera es externalizar la generación de puntos aleatorios: Crear un espacio de trabajo envuelto que tenga un parámetro público propio (número de puntos a crear) y que lea un featureclass con las características del área. Desde aquí puedes llamar a la función RandomPointGenerator utilizando el parámetro publicado. Escriba el resultado en una nueva featureclass. Llame a este espacio de trabajo envolvente desde su espacio de trabajo original utilizando el parámetro WorkspaceRunner y pasa el valor de tu atributo al parámetro publicado del espacio de trabajo envuelto e importa la recién creada "random point featureclass". Esto es un poco complejo, pero podría funcionar.

La segunda solución consiste en editar el archivo RandomPointGenerator (por favor verifique si se le permite editar debido a restricciones de licencia). Edite el transformador RandomPointGenerator modificando el parámetro publicado NUM_POINTS . Ajuste el Tipo a Attribute Name . Ahora debería poder pasar un atributo a la función RandomPointGenerator . Tenga en cuenta que no se ha probado.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X