12.05.2013 Views

Fundamentos de análisis geográfico con SEXTANTE - La Salle

Fundamentos de análisis geográfico con SEXTANTE - La Salle

Fundamentos de análisis geográfico con SEXTANTE - La Salle

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

326 CAPÍTULO 20. PROGRAMACIÓN DE MÓDULOS DE <strong>SEXTANTE</strong><br />

}<br />

"Choose a method from this select option.",<br />

"First Method|"<br />

"Se<strong>con</strong>d Method|",<br />

0 );<br />

Como pue<strong>de</strong>s ver, todas las líneas hacen uso <strong>de</strong> la variable Parameters, que se encuentra<br />

<strong>de</strong>finida como un variable <strong>de</strong> miembro en la clase CModule y pue<strong>de</strong>, por tanto, acce<strong>de</strong>rse <strong>de</strong>s<strong>de</strong><br />

cualquier módulo que crees.<br />

<strong>La</strong>s primeras dos líneas establecen el nombre y la <strong>de</strong>scripción <strong>de</strong>l módulo, y se emplean<br />

para dar nombre a la entrada <strong>de</strong> menú correspondiente y facilitar información adicional cuando<br />

se selecciona el módulo en cuestión <strong>de</strong>ntro <strong>de</strong> la pestaña Módulos.<br />

<strong>La</strong>s siguientes líneas <strong>de</strong>finen la ventana <strong>de</strong> parámetros que verás una vez que arranques el<br />

módulo. En este caso, sólo se trabaja <strong>con</strong> capas raster y no es necesaria una gran cantidad <strong>de</strong><br />

información, por lo que hay muchas posibilida<strong>de</strong>s que no se recogen en este módulo <strong>de</strong> ejemplo.<br />

Todas ellas usan simplemente otros métodos <strong>de</strong> la clase CParameter, que a <strong>con</strong>tinuación serán<br />

explicados uno por uno.<br />

Lo primero que habitualmente se requiere para ejecutar un módulo es una capa (o un<br />

grupo <strong>de</strong> ellas), ya sea <strong>de</strong> tipo raster o <strong>de</strong> tipo vectorial. Para el caso <strong>de</strong> una única capa raster,<br />

tal y como suce<strong>de</strong> en el ejemplo, se utiliza el método Add Grid, <strong>de</strong>finido <strong>de</strong> la siguiente forma.<br />

CParameter * Add_Grid (CParameter *pParent,<br />

<strong>con</strong>st char *I<strong>de</strong>nt,<br />

<strong>con</strong>st char *Name,<br />

<strong>con</strong>st char *Desc,<br />

int Constraint);<br />

don<strong>de</strong><br />

pParent es un puntero al parámetro ✭✭padre✮✮ <strong>de</strong>l que <strong>de</strong>pen<strong>de</strong> el parámetro especificado. Este<br />

puntero aparece en todos los métodos para obtener <strong>de</strong>l usuario cualquier tipo <strong>de</strong> información,<br />

y veremos más a<strong>de</strong>lante como utilizarlo para agrupar parámetros. Por el momento, dale valor<br />

NULL, que es la opción más habitual.<br />

*I<strong>de</strong>nt es un i<strong>de</strong>ntificador interno <strong>de</strong>l módulo.<br />

Ésta es la ca<strong>de</strong>na <strong>de</strong> texto que sirve para<br />

llamar al parámetro cuando se usa la línea <strong>de</strong> comandos, y también para grabar valores <strong>de</strong><br />

parámetros, como vimos en el capítulo anterior.<br />

*Name es el nombre <strong>de</strong>l parámetro mostrado al usuario en la ventana correspondiente<br />

*Desc es una <strong>de</strong>scripción más <strong>de</strong>tallada <strong>de</strong>l parámetro.<br />

Constraint es un <strong>de</strong>scriptor <strong>de</strong> las características <strong>de</strong> la capa raster que <strong>con</strong>stituye el parámetro.<br />

Pue<strong>de</strong>n usarse las siguientes <strong>con</strong>stantes como valores <strong>de</strong> esta variable:<br />

PARAMETER INPUT: <strong>La</strong> capa es <strong>de</strong> entrada y obligatoria<br />

PARAMETER OUTPUT: <strong>La</strong> capa es <strong>de</strong> salida y obligatoria<br />

PARAMETER INPUT OPTIONAL: <strong>La</strong> capa es <strong>de</strong> entrada y opcional<br />

PARAMETER OUTPUT OPTIONAL: <strong>La</strong> capa es <strong>de</strong> salida y opcional<br />

Aquí tienes un ejemplo <strong>de</strong> cómo usar esto, tomado <strong>de</strong>l código <strong>de</strong>l módulo <strong>de</strong> ejemplo:<br />

Parameters.Add_Grid(NULL, "INPUT", "Input" ,<br />

"Input for module calculations.", PARAMETER_INPUT);

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!