[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