3 votos

Cómo hacer un campo por defecto en los scripts de Python para el marco de procesamiento (QGIS)

Estoy construyendo un marco de scripts de Python para el procesamiento

https://docs.qgis.org/2.14/en/docs/pyqgis_developer_cookbook/processing.html

Sé cómo hacer el valor por defecto cuando el tipo de datos es número o booleano:

##Distance=number 50
##carry_test=boolean True

También sé cómo hacer que los campos de la capa en una tabla desplegable y dejar que el usuario elija:

##input_layer=vector
##cal_field=field input_layer

¿Hay alguna forma de rellenar también un campo por defecto? Digamos que la capa tiene los siguientes campos:

fid, name, type, color

Normalmente, el usuario tiene que marcar el desplegable para elegir el "tipo". Así que es una especie de problema, ¿hay una manera de elegir el 'tipo' cada vez que el input_layer tiene el campo 'tipo'?

1 votos

¿Podría ser más específico sobre lo que necesita rellenar? Es posible que tenga que pedir un nuevo nombre de campo, y luego lanzar una actualización en su nuevo campo dentro del código como aquí : gis.stackexchange.com/questions/236745/

0 votos

He editado mi pregunta

2voto

Mue Puntos 2469

No creo que esto sea posible actualmente, ya que por el momento sólo se puede especificar:

##Field=[optional] field [number|string] Parentinput

donde:

  • Field - Nombre del parámetro del campo en la GUI.
  • [optional] - Opción opcional para hacerlo... opcional.
  • field - El parámetro utilizado para listar los campos de la capa.
  • [number|string] - Filtro opcional para listar sólo los campos numéricos o de cadena en la capa.
  • Parentinput - La capa de la que hay que leer los campos.

En el más versión de procesamiento reciente También podrá filtrar date fields pero no hay un método (todavía) para permitir valores por defecto para los campos. Siempre se puede pedir esto como solicitud de funciones sin embargo.

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