[Gvsig_desarrolladores] Recorrer FeatureSet y FeatureSelection en sentido inverso

Francisco Puga fpuga en icarto.es
Vie Ago 5 11:37:32 CEST 2016


El caso concreto era que en navtable el usuario tiene la posibilidad de
navegar por las features una a una tanto hacia adelante como hacia atrás.
El orden por defecto de las features es el que proporciona el proveedor de
datos, pero también existe la posibilidad de que el usuario las reordene en
el orden que quiera.

Mi pregunta tenía una parte simplemente de curiosidad, para saber que
opciones tenía y ver que posibilidades daba la API. Por ejemplo cuando el
usuario "avanza" por las features simplemente con ir llamando al next de un
iterador ya lo tendría. Cuando el usuario retrocede la cosa se complica.
Por eso preguntaba si se podía obtener un iterador que recorriera las
features en un orden inverso al que da por defecto el proveedor.

Desde hace algún tiempo tenemos una versión de navtable funcionando en
gvSIG 2, pero todavía no lo hemos hecho "público" aunque el código está en
github porqué quería pulir bastantes cosas, ahora que conozco la API un
poco mejor. Después de hacer algunas pruebas creo que me voy a basar en
el FeaturePagingHelper como comentabas en un post [1].

Gracias. Saludos.

[1]
https://blog.gvsig.org/2016/06/04/accediendo-a-un-feature-por-posicion-en-gvsig-desktop-2-3-0/

El 4 de agosto de 2016, 18:03, Joaquin Jose del Cerro Murciano <
jjdelcerro en gvsig.org> escribió:

>
>
> El 3 de agosto de 2016, 12:28, Francisco Puga <fpuga en icarto.es> escribió:
>
>> Hola,
>>
>> Hay alguna forma de recorrer el FeatureSet y/o el FeatureSelection en
>> orden inverso. Es decir cuando pido el iterador sólo lo puedo recorrer
>> hacia adelante, pero en ciertos casos es útil poder recorrerlo hacia atrás.
>>
>> El FeatureSet imagino que se podría pedir con una FeatureQuery que usara
>> un "Descending" para el orden, pero como hay que especificar el campo sobre
>> el que se va a ordenar no se como indicarle que use el orden inverso sin
>> más.
>>
>
> No se si he entendido bien la pregunta.
> Para indicarle al query que lo queremos ordenado sobre un campo en orden
> inverso, seria algo como:
>
> query.getOrder().add("nombre-de-campo", false)
>
> Si no es eso lo que preguntabas, a ver si me orientas un poco mas.
>
> Ahora bien, ten cuidado sobre que fuente de datos haces la ordenacion.
> Cuando se hace sobre una fuentes de datos que no soporta ordenacion, los
> datos se ordenan en memoria. Por ejemplo:
> - Un shape se ordena en memoria
> - Un DXF tambien
> - Una tabla de BBDD se le pide la ordenacion al servidor.
>
> Un saludo
> Joaquin
>
>
>>
>> _______________________________________________
>> 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).
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20160805/f4459697/attachment.html>


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