<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Buenas,<br>
    <br>
    Esto es un bug muy recientemente encontrado, adjunto el post rápido
    que publiqué en el curso, esta pendiente también de publicar en el
    blog de gvsig. <br>
    <br>
    Cualquier duda con esta parte nos preguntas de nuevo.<br>
    <br>
    Un saludo y sentimos las molestias<br>
    <br>
    ---<br>
    (en el post está explicado dando por hecho que realizas un from geom
    import *)<br>
    <div id="yui_3_9_1_3_1442903508871_331" class="subject">¡Importante!
      Bug solucionado:Error al crear capas con campo GEOMETRY<br>
      <br>
    </div>
    <br>
    <p id="yui_3_9_1_3_1442903508871_335">Últimamente estaba
      aparenciendo un bug a la hora de crear capas utilizando la función
      createShape() desde Scripting. Venía desde las últimas versiones
      de gvSIG.</p>
    <p id="yui_3_9_1_2_1442903508871_22">Por fin hemos detectado este
      bug y encontrado la solución, os explico:</p>
    <br>
    <p><strong>El error provenía cuando creamos un esquema nuevo para
        una capa nueva</strong>. Por lo general lo hacíamos de dos
      formas, cogiendo el esquema de otra tabla o creándolo desde cero.
      Sea cual sea el caso, la solución es similar.</p>
    <p>Lo que hay que hacer es añadir un paso extra en nuestro script, y
      este es, <strong>definir el tipo de geometría que contendrá
        nuestra capa nueva en el esquema</strong>.</p>
    <p>Por ejemplo, <strong>antes</strong> la forma de crear una
      esquema para una capa nueva se realizaba así:</p>
    <p>schema = createSchema(currentLayer.getSchema())</p>
    <p>ó</p>
    <p>schema = createSchema()</p>
    <p>schema.append('GEOMETRY','GEOMETRY')</p>
    <p><strong>Ahora, </strong>lo que tenemos que hacer es añadir una
      línea a las líneas anteriores, estableciendo qué tipo de geometría
      va a contener. Para ello necesitamos usar otra función que nos
      ayudará a generar este parámetro, la función es la siguiente:</p>
    <p><strong>def getGeometryType(type, subtype):</strong><br>
      <strong>  geometryManager = GeometryLocator.getGeometryManager()</strong><br>
      <strong>  return geometryManager.getGeometryType(type,subtype)</strong></p>
    <p>Nos devolverá un geometry-type, que define el tipo de geometría
      que usaremos. Los parámetros de esta función son el tipo y subtipo
      de la geometría.</p>
    <p>Más adelante esta función formará parte de las librerías de
      gvSIG, por ahora tendréis que añadirla a vuestors scripts.</p>
    <p>Entonces, la forma correcta de crear un esquema válido sería la
      siguiente:</p>
    <p>Esquema desde una capa ya existente:</p>
    <p id="yui_3_9_1_2_1442903508871_13">    schema =
      createSchema(layer.getSchema())<br>
          geometryType = getGeometryType(POLYGON,D2)<br>
         <strong id="yui_3_9_1_2_1442903508871_12">
        schema.get("GEOMETRY").setGeometryType(geometryType)</strong></p>
    <p>ó desde cero:</p>
    <p>    schema = createSchema()<br>
          schema.append('GEOMETRY', 'GEOMETRY')<br>
          geometryType = getGeometryType(POLYGON,D2)<br>
          <strong>schema.get("GEOMETRY").setGeometryType(geometryType)</strong></p>
    <p>Tener en cuenta que si usáis el esquema de una capa  ya existente
      en la que la geometría era de un tipo por ejemplo LINE, y la capa
      en la que usaremos es de tipo POLYGOn, debemos de usar esta línea
      nueva para hacer esa modificación en el esquema.</p>
    <p><strong>En resumen, en el esquema tenemos que establecer que tipo
        de geometría va a almacenar.</strong></p>
    <p>Explico esto por encima de forma rápida porque lo considero
      importante para la realización de vuestors scripts, voy a realizar
      los cambios correspondientes en la documentación.</p>
    <p>Cualquier duda que tengáis podéis preguntar por aquí o en las
      Listas de gvSIG.</p>
    <p>---<br>
      <br>
    </p>
    <br>
    <br>
    <div class="moz-cite-prefix">On 22/09/2015 7:42, <a class="moz-txt-link-abbreviated" href="mailto:anacm@ctima.uma.es">anacm@ctima.uma.es</a>
      wrote:<br>
    </div>
    <blockquote
      cite="mid:4bfede70066df9c9f080f1cef3dbe932@correoctima.ctima.uma.es"
      type="cite">
      <pre wrap="">Hola:

He creado un script que accede a una base de datos Postgres y con la
información obtenida crea una capa. El script funciona bien en la versión
2.1, pero en la versión 2.2 me da un error al crear la capa; he comprobado
que los ficheros .shx y .shp sí se crean, pero vacíos. Adjunto el error y
el script al mensaje

¿Esto es normal? Ambas versiones están instaladas en Xubuntu 14.04 64
bits.

Muchas gracias por vuestra ayuda. Saludos
Ana+</pre>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
gvSIG_usuarios mailing list
<a class="moz-txt-link-abbreviated" href="mailto:gvSIG_usuarios@listserv.gva.es">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 class="moz-txt-link-freetext" href="http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios">http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>