[Gvsig_desarrolladores] Obtener una feature concreta por posición

Francisco Puga fpuga en icarto.es
Mar Jun 7 11:18:23 CEST 2016


Gracias a ambos. Estoy avanzando bastante y trataré de compartir lo
aprendido.

El 6 de junio de 2016, 11:08, César Martínez <cmartinez en scolab.es> escribió:

> Hola Francisco,
>
> El día 5 de junio de 2016, 10:53, Francisco Puga <fpuga en icarto.es>
> escribió:
> > Hola Joaquín,
> > Tendría que revisar un poco el código pero por lo que explicas en el post
> > entiendo que con FeaturePagingHelper me traigo a memoria un número de
> > features igual al del tamaño de página y cuando pido una feature fuera
> de la
> > página actual hago otra petición (a bd o lo que sea).
>
>
> Los métodos que comentaba Joaquín:
> getFeatureAt(long index)
> getTotalSize()
> asList()
>
> aunque internamente carguen sólo una página del tamaño que
> especifiques, son transparentes para ti en cuanto a la carga de
> páginas.
>
> Es decir, si pides una Feature fuera de la página que está cargada,
> automáticamente cargan la nueva página y te devuelven la Feature.
>
> Saludos,
>
>
> >
> > Lo que tengo dudas es en el acceso al FeatureSet. Cuando se hace la
> petición
> > a la bd ¿cuando se crea el fastIterator?
> >
> > El 4 de junio de 2016, 15:10, Joaquin Jose del Cerro Murciano
> > <jjdelcerro en gvsig.org> escribió:
> >>
> >>
> >>
> >> El 4 de junio de 2016, 12:52, Francisco Puga <fpuga en icarto.es>
> escribió:
> >>>
> >>> Hola,
> >>>
> >>> Estoy tratando de migrar código de la 1 a la 2. En la 1 era muy
> habitual
> >>> acceder a una feature de la capa por posición con un código de este
> estilo:
> >>>
> >>> int pos = 0;
> >>> FLyrVect lyr = null;
> >>> IFeature feature = lyr.getSource().getFeature(pos);
> >>>
> >>> Cual sería la forma lógica de hacer esto en la 2. Ahora mismo estoy
> >>> probando a acceder mediante un iterator inicializado a esa posición
> >>> concreta, pero igual tiene más sentido con un FeatureQuery, ¿Podéis
> poner un
> >>> ejemplo de como sería con el FeatureQuery?
> >>>
> >>> public static FeatureReference getFeature(FeatureStore fs , long
> feature)
> >>> {
> >>> FeatureReference ref = null;
> >>> FeatureSet featSet = null;
> >>> DisposableIterator fastIterator = null;
> >>> try {
> >>> featSet = fs.getFeatureSet();
> >>> fastIterator = featSet.fastIterator(feature);
> >>> Feature feat = (Feature) fastIterator.next();
> >>> ref = feat.getReference();
> >>> } catch (DataException e) {
> >>> logger.error(e.getStackTrace(),e);
> >>> } finally {
> >>> DisposeUtils.dispose(fastIterator);
> >>> DisposeUtils.dispose(featSet);
> >>> }
> >>> return ref;
> >>> }
> >>>
> >>
> >> Hola Francisco,
> >> en lugar de contestarte aquí he preferido crear un pequeño articulo en
> el
> >> blog de gvSIG comentando sobre esto.
> >>
> >> Puedes encontrar el articulo en:
> >>
> >>
> >>
> https://blog.gvsig.org/2016/06/04/accediendo-a-un-feature-por-posicion-en-gvsig-desktop-2-3-0/
> >>
> >> También te recomiendo que le eches un vistazo a:
> >>
> >>
> >>
> https://blog.gvsig.org/2015/04/21/recomendaciones-y-trucos-para-desarrollar-con-gvsig-2-1-1-recorriendo-datos/
> >>
> >> Espero que te sirva,  y no dudéis en preguntar las dudas, trataremos de
> >> contestar en cuanto podamos.
> >>
> >> Un saludo
> >> Joaquin
> >>
> >>
> >>
> >>
> >>>
> >>> Saludos. Gracias
> >>>
> >>> _______________________________________________
> >>> gvSIG_desarrolladores mailing list
> >>> gvSIG_desarrolladores en listserv.gva.es
> >>> Para ver histórico de mensajes, editar sus preferencias de usuario o
> >>> darse de baja en esta lista, acuda a la siguiente dirección:
> >>> https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
> >>>
> >>
> >>
> >>
> >> --
> >> --------------------------------------
> >> Joaquin Jose del Cerro Murciano
> >> Development and software arquitecture manager at gvSIG Team
> >> jjdelcerro en gvsig.com
> >> jjdelcerro en gvsig.org
> >> gvSIG Association
> >> www.gvsig.com
> >> www.gvsig.org
> >>
> >> _______________________________________________
> >> gvSIG_desarrolladores mailing list
> >> gvSIG_desarrolladores en listserv.gva.es
> >> Para ver histórico de mensajes, editar sus preferencias de usuario o
> darse
> >> de baja en esta lista, acuda a la siguiente dirección:
> >> https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
> >>
> >
> >
> >
> > --
> > Francisco Puga
> > iCarto | Innovación, Cooperación, Cartografía y Territorio S.L.
> > http://www.icarto.es/
> >
> > c/ Rafael Alberti nº 13 – 1º D
> > 15008 A Coruña
> > Galicia (Spain)
> > +34 881927808
> >
> > Este correo electrónico contiene información estrictamente confidencial
> y es
> > de uso exclusivo del destinatario, quedando prohibida a cualquier otra
> > persona su revelación, copia, distribución, o el ejercicio de cualquier
> > acción relativa a su contenido. Si ha recibido este mensaje por error,
> por
> > favor conteste a su remitente mediante correo electrónico y proceda a
> > borrarlo de su sistema.
> >
> > Sus datos personales serán tratados de forma confidencial y no serán
> cedidos
> > a terceros ajenos a ICARTO. En cualquier caso, podrá ejercer los derecho
> de
> > oposición, acceso, rectificación y cancelación de acuerdo con lo
> establecido
> > en la Ley Orgánica 15/99, de 13 de diciembre, de Protección de Datos de
> > Carácter Personal dirigiéndose a Innovación, Cooperación, Cartografía e
> > Territorio, SL. (ICARTO) en la dirección postal a C/ Rafael Alberti, nº
> 13,
> > 1ºD, 15.008 – (A Coruña).
> >
> > _______________________________________________
> > gvSIG_desarrolladores mailing list
> > gvSIG_desarrolladores en listserv.gva.es
> > Para ver histórico de mensajes, editar sus preferencias de usuario o
> darse
> > de baja en esta lista, acuda a la siguiente dirección:
> > https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
> >
>
>
>
> --
> SCOLAB
> http://scolab.es
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en listserv.gva.es
> Para ver histórico de mensajes, editar sus preferencias de usuario o darse
> de baja en esta lista, acuda a la siguiente dirección:
> https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
>



-- 
Francisco Puga
iCarto | Innovación, Cooperación, Cartografía y Territorio S.L.
http://www.icarto.es/

c/ Rafael Alberti nº 13 – 1º D
15008 A Coruña
Galicia (Spain)
+34 881927808

Este correo electrónico contiene información estrictamente confidencial y
es de uso exclusivo del destinatario, quedando prohibida a cualquier otra
persona su revelación, copia, distribución, o el ejercicio de cualquier
acción relativa a su contenido. Si ha recibido este mensaje por error, por
favor conteste a su remitente mediante correo electrónico y proceda a
borrarlo de su sistema.

Sus datos personales serán tratados de forma confidencial y no serán
cedidos a terceros ajenos a ICARTO. En cualquier caso, podrá ejercer los
derecho de oposición, acceso, rectificación y cancelación de acuerdo con lo
establecido en la Ley Orgánica 15/99, de 13 de diciembre, de Protección de
Datos de Carácter Personal dirigiéndose a Innovación, Cooperación,
Cartografía e Territorio, SL. (ICARTO) en la dirección postal a C/ Rafael
Alberti, nº 13, 1ºD, 15.008 – (A Coruña).
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20160607/2978b481/attachment.htm 


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