<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>