[Gvsig_desarrolladores] Crear una vector layer en memoria

Nacho Uve nachouve en gmail.com
Mie Ene 21 12:50:10 CET 2009


Hola de nuevo,

Estoy usando ConcreteMemoryDriver (pongo un código de ejemplo en [0]), pero
usando la función addGeometry(Geometry g, Object[] row) con row con un array
de Values con datos correctos genera en filas vacías en m_TableModel.

Debugeando un poco creo que el error puede estar en la función *justifyRows*
de DefaultTableModel[1]. ¿Estoy haciendo algo mal? ¿Me falta un start() o
algo?

Un saludo,
Nacho


[0]:
ConcreteMemoryDriver concreteMD = new ConcreteMemoryDriver();
System.out.println(values + " " + values[0]); //Lo pinta bien el dato
System.out.println(concreteMD.getRowCount()+" rows
"+concreteMD.getShapeCount()+" geoms");
//Pinta: 1 rows 1 geoms
System.out.println("------> " +concreteMD.getFieldValue(0, 0)); // lanza
exception [2]


[1]:
    private void justifyRows(int from, int to) {
    // Sometimes the DefaultTableModel is subclassed
    // instead of the AbstractTableModel by mistake.
    // Set the number of rows for the case when getRowCount
    // is overridden.
    dataVector.setSize(getRowCount());

        for (int i = from; i < to; i++) {
        if (dataVector.elementAt(i) == null) {
        dataVector.setElementAt(new Vector(), i);
        }
        ((Vector)dataVector.elementAt(i)).setSize(getColumnCount());
    }
    }


[2]:
java.lang.ArrayIndexOutOfBoundsException: 0 >= 0
    at java.util.Vector.elementAt(Vector.java:427)
    at
javax.swing.table.DefaultTableModel.getValueAt(DefaultTableModel.java:633)
    at
com.iver.cit.gvsig.fmap.drivers.MemoryDriver.getFieldValue(MemoryDriver.java:271)





El 12 de enero de 2009 9:10, Jorge Piera <jorge.piera en iver.es> escribió:

> Hola Nacho.
>
> La clase com.iver.cit.gvsig.fmap.drivers.ConcreteMemoryDriver sirve para
> hacer eso que comentas. Tiene un método addGeometry que sirve para añadir
> geometrías.
>
> Un saludo.
>
> Jorge
>
> Nacho Uve escribió:
>
>> Hola,
>>
>> Me preguntaba si existe alguna forma de crear una FVectorLyr en memoria
>> con código desde cero y cómo poder agregarle Features.
>> Esto nos hace falta para hacer algunas operaciones intermedias que no
>> queremos guardar ni agregar al MapContext.
>> Ojeando el código sólo he encontrado la forma para crear layers que vayan
>> a disco o bd.
>>
>> Un saludo,
>> Nacho
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> gvSIG_desarrolladores mailing list
>> gvSIG_desarrolladores en runas.cap.gva.es
>> http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores
>>  ------------------------------------------------------------------------
>>
>>
>> No virus found in this incoming message.
>> Checked by AVG - http://www.avg.com Version: 8.0.176 / Virus Database:
>> 270.10.6/1887 - Release Date: 11/01/2009 17:57
>>
>>
>>
>
>
> Este mensaje y sus archivos son confidenciales. No está permitida su
> reproducción o distribución sin la autorización expresa de "IVER Tecnologías
> de la Información". Si usted no es el destinatario previsto, queda
> desautorizado cualquier uso, acceso o copia de este mensaje. Si ha recibido
> este mensaje por error, por favor bórrelo e infórmenos por esta misma vía.
>
>
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en runas.cap.gva.es
> http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://runas.cap.gva.es/pipermail/gvsig_desarrolladores/attachments/20090121/6ae827ca/attachment.htm


Más información sobre la lista de distribución gvSIG_desarrolladores