[Gvsig_desarrolladores] Crear varias Features dentro de una capa haciendo clic sobre el mapa

Alvaro Zabala azabala en gmail.com
Jue Ene 25 09:41:20 CET 2007


Ummm creo que me he "ido de corrido", como se dice en mi tierra.

Posiblemente siga machando el fichero........

2007/1/25, Alvaro Zabala <azabala en gmail.com>:
>
> El problema es que el writer lo estás creando desde cero cada vez, y
> machacas siempre el fichero existente.
>
> Hablo de memoria (que me corrija el maestro Fran ;) ) pero si a la
> instancia de flyrVect le haces un isWritable(), y te devuelve true, puedes
> recuperar el writer asociado al driver de lectura que estás utilizando con:
>
> VectorialDriver drv = (VectorialDriver) flyrVect.getSource().getDriver().
>
> if (drv instanceof IWriteable)
>     {
>             IWriter writer = ((IWriteable)drv).getWriter();
>
> Prueba a utilizar tu codigo con la instancia de writer devuelta por el
> driver de la capa.
>
> Un saludo.
>
>
>
> 2007/1/25, Domingo Baeza <dbaeza en blom.es>:
> >
> >  Buenos días a todos.
> >
> > Tengo un problema y no se si lo que estoy haciendo está bien o mal.
> >
> > Mi problema es el siguiente:
> >
> > Tengo que hacer un tema "de rejillas", es decir, generar una malla, pero
> > la malla no tiene que ser continua, es decir, no podré generar una malla
> > (por ejemplo) de 5 x 5, sino que lo que necesito es que el usuario donde
> > haga clic sobre el mapa, se generé ahí un rectángulo que pertenecerá a la
> > malla.
> >
> >
> >
> > Estoy con el código siguiente:
> >
> >
> >
> >                          iLyrdef=(ILayerDefinition)
> > DefinitionUtils.createLayerDefinition((FLyrVect)lyrHojas);
> >
> >                         writer =(ShpWriter) LayerFactory.getWM ().
> > getWriter("Shape Writer");
> >
> >                         writer.setFile(new File("c:/Shapes/Hojas.shp"));
> >
> >                                     try {
> >
> >                                                writer.initialize(
> > iLyrdef);
> >
> >                                                writer.preProcess( );
> >
> >                                                            } catch (
> > EditionException e) {
> >
> >                                                                        //
> > TODO Auto-generated catch block
> >
> >
> > e.printStackTrace ();
> >
> >                                                            }
> >
> >
> >
> >                                                            ReadableVectorial
> > rv2=((FLyrVect)lyrHojas).getSource();
> >
> >                                                            Value[]
> > featureAttr = new Value[rv2.getRecordset().getFieldCount()];
> >
> >                                                            //Con esto
> > creo el polígono de la malla
> >
> >                                                            GeneralPathX
> > poligono = new GeneralPathX();
> >
> >
> > poligono.moveTo(x,y);
> >
> >
> > poligono.lineTo(nAncho,y);
> >
> >
> > poligono.lineTo(nAncho,nAlto);
> >
> >
> > poligono.lineTo(x,nAlto);
> >
> >
> > poligono.lineTo(x,y);
> >
> >
> > poligono.closePath ();
> >
> >                                                            IGeometry geo
> > = ShapeFactory.createPolygon2D(poligono);
> >
> >                                                            IFeature xx =
> > FeatureFactory.createFeature(featureAttr,geo,iLyrdef);
> >
> >                                                            //* nClic –
> > Indica el número de clic sobre el mapa.*
> >
> >
> > DefaultRowEdited edRow = new DefaultRowEdited(xx,
> > DefaultRowEdited.STATUS_ADDED,*nClic*);
> >
> >
> > writer.process(edRow);
> >
> >
> > writer.postProcess();
> >
> >
> > lyrHojas.reload();
> >
> >
> >
> >
> >
> > Esto crea una feature dentro del tema, pero cuando hago clic de Nuevo,
> > la feature previa desaparece y me deja la nueva.
> >
> > ¿Como podría hacer que se mantuvieran varias?
> >
> >
> >
> >
> > Un Saludo
> >
> >
> >
> >
> >
> >
> > *Domingo Baeza Díaz*
> >
> > *Ing.Técnico Informático.*
> >
> > *BLOM S.L.U .*
> > Pº Arco de Ladrillo, 64, portal 2, planta 2
> >
> > 47008 Valladolid
> > Tfno: +34 983 456 048
> >
> > Fax: +34 983 239 649
> >
> > E-mail: * dbaeza en blom.es*
> > Web:* ** http://www.blom.es <http://www.grafos.es>*
> > __________________________________________________
> > *Este mensaje es confidencial y puede contener información privilegiada.
> > Si Vd. no es el destinatario, es ilegal que lea, copie, distribuya, divulgue
> > o haga cualquier otro uso de la información contenida en este mensaje. Por
> > favor, notifíquenoslo inmediatamente a  admin en blom.es*
> >
> > *Gracias *
> >
> >
> >
> >
> >
> > _______________________________________________
> > gvSIG_desarrolladores mailing list
> > gvSIG_desarrolladores en runas.cap.gva.es
> > http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores
> >
> >
> >
>
>
> --
> Alvaro Zabala Ordóñez
>
> Teléfono: 954939528
> Plaza de España, sector II.
> SEVILLA




-- 
Alvaro Zabala Ordóñez

Teléfono: 954939528
Plaza de España, sector II.
SEVILLA
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://runas.cap.gva.es/pipermail/gvsig_desarrolladores/attachments/20070125/5ace2b08/attachment-0001.htm


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