Muchas Gracias Enrique. Lo voy a probar, para ver como me va.<br><br>Saludos y nuevamente gracias por compartir. <br><br><div class="gmail_quote">El 5 de abril de 2011 03:34, Enrique Lorenzo <span dir="ltr">&lt;<a href="mailto:enrique.lorenzo@geodilab.org">enrique.lorenzo@geodilab.org</a>&gt;</span> escribió:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Yo también tenía interés en ver cómo funciona la expresión &quot;Avanzada&quot;. Te explico mi prueba paso a paso; muchos pasos son obvios pero los indico por si otras personas quieren hacer el ejemplo completo:<br>
<br>Tres etapas A,  B y C:<br>
<br>A- Preparar un archivo vectorial: para este ejemplo he preparado un pequeño MDT en formato Shape, con cuatro campos:<br>X: doble<br>Y: doble<br>Z: doble<br>Tipo: texto, de 20 caracteres<br><br>B- Guardar en un archivo clasificaPuntos.py el siguiente código Python 
(ya sabes que es imprescindible respetar sangrados y 
mayúsculas/minúsculas; las comillas simples pueden ser comillas dobles 
si se prefieren. En este caso es puro Python, no se utiliza ningún objeto Java del modelo de objetos de gvSIG. el archivo puede contener tantas funciones como quieras, de forma que podría constituir una biblioteca propia de funciones):<br>


<br># Definicion de una funcion que clasifica puntos segun su altitud<br># Licencia GPL v. 3.0<br># CopyLeft <a href="mailto:enrique.lorenzo@geodilab.org" target="_blank">enrique.lorenzo@geodilab.org</a><br><br>
def clasificaPuntos(zeta):<br>
    if zeta &gt; 1000:<br>
        tipoPunto = &#39;Yo ahi no subo&#39;<br>
    if zeta &lt;= 1000 and zeta &gt;800:<br>
        tipoPunto = &#39;Medio&#39;<br>
    if zeta &lt;=800:<br>
        tipoPunto = &#39;Bajito&#39;<br>
    return tipoPunto<br>
<br>C- Aplicación de la función:<br><br>1- Cargar la capa vectorial<br>2- Comenzar edición.<br>3- Abrir la tabla de atributos y seleccionar el campo Tipo.<br>4- Menú Campo&gt;Expresión<br>5- Pestaña Avanzada: seleccionar el archivo que contiene la función Python ClasificaPuntos.py<br>

6- Pestaña General: escribir clasificaPuntos([Z])<br>7- Aplicar<br><br>Algunos comentarios:<br>- En el paso 6, cuidado con las mayúsculas/minúsculas.<br>- Imprescindible respetar los sangrados (cuatro u ocho espacios). No mezclar tabuladores con espacios en los sangrados.<br>

- No escribo tildes en los comentarios porque no he declarado la codificación de caracteres del archivo py con una línea al principio (# -*- coding: cp1252 -*-); solo se usan caracteres ASCII, para simplificar.<br>- También por simplificar no he añadido la primera línea de declaración del entorno de ejecución de Python para Linux (#! /usr/bin/env python).<br>

- La función va leyendo el valor del campo Z, se lo pasa como parámetro a la función, la función devuelve el resultado para ese valor de Z, y guarda ese resultado en el campo seleccionado en la calculadora. Este tipo de código servirá para Linux, Windows y Mac tal como está.<br>

<br>Espero que te sirva. Geosaludos.<br><br>Enrique Lorenzo<br><a href="http://www.geodilab.org" target="_blank">www.geodilab.org</a><br><br><br><div class="gmail_quote">El 5 de abril de 2011 00:17, HUMBERTO NEL FLOREZ RAMOS <span dir="ltr">&lt;<a href="mailto:hnflorezramos@gmail.com" target="_blank">hnflorezramos@gmail.com</a>&gt;</span> escribió:<div>
<div></div><div class="h5"><br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Alejandro Buenas Tarde.<br><br>Seria mucha molestia si me regalas unas indicaciones de como usaste el código de python en gvsig. He tratado de hacerlo con las indicaciones que te dieron pero no hace nada...y lo peor es que enuncia ningún error o algo que me oriente.<br>


<br>Muchas gracias y disculpa...<br><br><div class="gmail_quote">El 2 de marzo de 2011 11:40, Alejandro Lorenzo (Genea Consultores) <span dir="ltr">&lt;<a href="mailto:algil@geneaconsultores.com" target="_blank">algil@geneaconsultores.com</a>&gt;</span> escribió:<br>


<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

  
    
    
  
  <div bgcolor="#ffffff" text="#000000">
    <br>
    Hola a todos,<br>
    <br>
    Muchas gracias por el código, me funcionó a la perfección.<br>
    <br>
    <br>
    Un saludo  y muchas gracias<br>
    <br>
    <br>
    <br>
    <br>
    El 01/02/2011 17:00, &quot;Jose Manuel Vivó Arnal ( Chema )&quot; escribió:
    <div><div></div><div><blockquote type="cite">
      
      
      Hola Alejandro.<br>
      <br>
      <br>
      El 01/02/11 11:07, Alejandro Lorenzo (Genea Consultores) escribió:
      <blockquote type="cite">
        
        Hola,<br>
        <br>
        Estoy comenzando con gvSIG, concretamente con la calculadora de
        campos. <br>
        <br>
        Me encuentro en que la forma de trabajar con expresiones
        avanzadas, es en Phyton, y no conozco este lenguaje. <br>
        <br>
        Intenté convertir mis expresiones de vb a Phyton. En la página <a href="http://vb2py.sourceforge.net/index.html" target="_blank">http://vb2py.sourceforge.net/index.html</a>,
        existe un convertidor de código de vb a Phyton y este es el
        resultado:<br>
        <br>
        <blockquote><small>prueba = str()</small><br>
          <br>
          <small>if [EMPRESA_CO] == &#39;XXX&#39; and [Ejecutado] == &#39;SI&#39;:</small><br>
          <small>  </small><br>
          <small> [prueba] = &#39;Correcto&#39;</small><br>
          <small> </small><br>
          <small>elif  [EMPRESA_CO] == &#39;XXX&#39; and [Ejecutado] == &#39;NO&#39;:</small><br>
          <small>    </small><br>
          <small>[prueba] = &#39;Inorrecto&#39;</small><br>
          <small> </small><br>
          <small>else:</small><br>
          <small>    </small><br>
          <small>prueba = &#39;_&#39;</small><br>
        </blockquote>
        Genero el fichero .py, pero no funciona.<br>
      </blockquote>
      Me da la impresión que lo que te estás equivocando es en la forma
      de aplicar la expresión.<br>
      <br>
      Prueba con esto:<br>
      <br>
      def miPrueba(EMPRESA_CO,Ejecutado):<br>
        prueba = &#39;_&#39;<br>
        if EMPRESA_CO == &#39;XXX&#39; and Ejecutado == &#39;SI&#39;:<br>
          prueba = &#39;Correcto&#39;<br>
        elif EMPRESA_CO == &#39;XXX&#39; and Ejecutado == &#39;NO&#39;:<br>
          prueba = &#39;Inorrecto&#39;<br>
        return prueba<br>
       <br>
      miPrueba([EMPRESA_CO],[Ejecutado])<br>
      <br>
      <br>
      Nota: MUUUCHO OJO con los sangrados, en python (bueno, realmente
      es jython ya que es el port de pyhton a java) sirven apara
      delimitar la expresiones (no hay &quot;end if&quot; ni llaves &quot;{}&quot;)<br>
      <br>
      Como ves, he definido una función &quot;insitu&quot; que me ha ayudado.
      También puedes definir varias funciones y meterlas en un fichero
      &quot;.py&quot; y cargarlas desde la pestaña &quot;avanzado&quot; de la calculadora.<br>
      <br>
      Siempre tienes que tener en cuenta que, la expresión de la
      calculadora, espera que el resultado sea un valor.<br>
      <br>
      Si quieres saber más, mira la documentación de python de la
      versión de gvSIG (creo que es la 2.4.2) que la puedes encontrar
      aquí:<br>
      <br>
      <a href="http://docs.python.org/release/2.4.2/" target="_blank">http://docs.python.org/release/2.4.2/</a><br>
      <br>
      <br>
      <blockquote type="cite"> <br>
        Lo que me gustaría sería conseguir una expresión condicional que
        evaluase dos, o más campos, y en función del valor de los
        registros, rellenar un nuevo campo con los valores asignados a
        cada una de las combinaciones anteriores.<br>
        <br>
        Muchas gracias <br>
        <br>
        Alejandro
        <pre><fieldset></fieldset>
_______________________________________________
gvSIG_usuarios mailing list
<a href="mailto:gvSIG_usuarios@listserv.gva.es" target="_blank">gvSIG_usuarios@listserv.gva.es</a>

Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección:

<a href="http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios" target="_blank">http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios</a>
</pre>
      </blockquote>
      <br>
      Espero que te sea de ayuda.<br>
      <br>
      Un Saludo.<br>
      Chema.<br>
      <br>
      <pre cols="72">-- 
Jose Manuel Vivó Arnal
DiSiD Technologies S.L. (<a href="http://www.disid.com" target="_blank">http://www.disid.com</a>)
</pre>
      <pre><fieldset></fieldset>
_______________________________________________
gvSIG_usuarios mailing list
<a href="mailto:gvSIG_usuarios@listserv.gva.es" target="_blank">gvSIG_usuarios@listserv.gva.es</a>

Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección:

<a href="http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios" target="_blank">http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios</a>
</pre>
    </blockquote>
    <br>
    </div></div><div>-- <br>
      <br>
      <div><br>
        <br>
        <div><br>
          <br>
          <div>
            
            <font face="Trebuchet MS"><font color="#009900"><br>
______________________________________________________________________________________________________________________________________________________________</font><br>
              <br>
              <a href="http://www.geneaconsultores.com/" title="Genea Consultores" target="_blank">
                <img src="" alt="" width="178" height="55" border="0"> <br>
              </a> <br>
              <font color="#000000"><small><font color="#000000">Alejandro
                    Lorenzo Gil<br>
                    Director de Proyectos</font><br>
                  Consultor Forestal</small></font><small><br>
                <br>
              </small></font><font size="2" face="Trebuchet MS" color="#000000">Genea
              Consultores<br>
              Seguidillas, 9 2ºB. Edf. Volcán de las Arenas<br>
              38107 • Santa Cruz de Tenerife</font><br>
            <a href="http://maps.google.es/maps?f=q&amp;source=s_q&amp;hl=es&amp;geocode=&amp;q=Calle+de+las+Seguidillas,+Santa+Cruz+de+Tenerife&amp;sspn=0.00259,%0A0.004823&amp;ie=UTF8&amp;hq=&amp;hnear=Calle+de+las+Seguidillas,+38107+Santa+Cruz+de+Tenerife,+Islas+Canarias&amp;ll=28.444629,-16.312122&amp;spn=0.006122,%0A0.011362&amp;z=17&amp;iwloc=lyrftr:m,2105705247863386081,28.44327,-16.313453" target="_blank">Lat.
              28º 26&#39; 36&#39;&#39; N Long. 16º 18&#39; 48&#39;&#39; O</a><br>
            <font face="Trebuchet MS"><font color="#000000"><small><br>
                  Teléfono móvil: 626 990 662<br>
                  Teléfono fijo: 988 271 118 / 922 620 652<br>
                </small></font>
            </font></div>
        </div>
      </div>
    </div>
  </div>

<br>_______________________________________________<br>
gvSIG_usuarios mailing list<br>
<a href="mailto:gvSIG_usuarios@listserv.gva.es" target="_blank">gvSIG_usuarios@listserv.gva.es</a><br>
<br>
Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección:<br>
<br>
<a href="http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios" target="_blank">http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios</a><br>
<br></blockquote></div><font color="#888888"><br><br clear="all"><br>-- <br>Humberto Nel Florez Ramos<br>Ing. Catastral y Geodesta<br>Esp en Medio Ambiente y Geoinformatica<br>
</font><br>_______________________________________________<br>
gvSIG_usuarios mailing list<br>
<a href="mailto:gvSIG_usuarios@listserv.gva.es" target="_blank">gvSIG_usuarios@listserv.gva.es</a><br>
<br>
Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección:<br>
<br>
<a href="http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios" target="_blank">http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios</a><br>
<br></blockquote></div></div></div><br>
<br>_______________________________________________<br>
gvSIG_usuarios mailing list<br>
<a href="mailto:gvSIG_usuarios@listserv.gva.es">gvSIG_usuarios@listserv.gva.es</a><br>
<br>
Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección:<br>
<br>
<a href="http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios" target="_blank">http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>Humberto Nel Florez Ramos<br>Ing. Catastral y Geodesta<br>Esp en Medio Ambiente y Geoinformatica<br>