[Gvsig_desarrolladores] error en capa y convertir un dato numerico expresado en Value a Long o algo así, operable y cambiar el color de un shape

Carlos Sánchez Periñán csanchez en prodevelop.es
Mar Mayo 25 14:12:26 CEST 2010


Hola Edu.

Puedes fijarte en como se hace la leyenda de intervalos... es muy útil en el caso que comentas, creo que apañando para que coja tus valores te servirá.

La clase que tienes que mirar es 
	
	com.iver.cit.gvsig.project.documents.view.legend.gui.PanelLegendBreaks

La debes tener en tu workspace de gvSIG dentro de appgvSIG, es el panel del Wizard de establecer leyenda. 

Ahí tienes puedes empezar a mirar desde el método performFinish(); que equivale a pulsar el boton de finalizar el wizard después de haber elegido la leyenda, ahí crea símbolos para los intervalos y los asigna a los features de la layer. Para cambiar el color de los features tienes que hacerlo con los Symbol de los features asignándolos a cada feature el Symbol con el color adecuado.  

- Sobre lo de los números double con la E
La E es exponencial en base 10, por tanto no deberías de truncar los números a no ser que solo necesites un valor aproximado. O bién multiplicar el número sin la E por un 10 con tantos ceros como exponente tenga o el numero que va detrás de la E

Por tanto 4.567890E7 = 4.567890 * 10000000 = 45678900

Saludos y espero que te ayude.

Carlos Sánchez Periñán
Equipo desarrollo GIS
Prodevelop S.L.
Tel :  963510612
E-mail : csanchez en prodevelop.es


-----Mensaje original-----
De: gvsig_desarrolladores-bounces en listserv.gva.es [mailto:gvsig_desarrolladores-bounces en listserv.gva.es] En nombre de Eduardo Cristóbal Enríquez
Enviado el: lunes, 24 de mayo de 2010 16:15
Para: Lista de Desarrolladores de gvSIG
Asunto: Re: [Gvsig_desarrolladores]error en capa y convertir un dato numerico expresado en Value a Long o algo así, operable y cambiar el color de un shape

Se me olvidó decir que los atributos se me muestran  con la opción Ver tabla 
de atributos de la pestaña Capa aparte de que como ya dije la forma y todo 
está ok, solo me falla cuando hago Vista/Consulta/Información y hago click 
en el layer copiado.

--------------------------------------------------
From: "Eduardo Cristóbal Enríquez" <edu_ce_1988 en hotmail.com>
Sent: Monday, May 24, 2010 4:02 PM
To: "Lista de Desarrolladores de gvSIG" 
<gvsig_desarrolladores en listserv.gva.es>
Subject: Re: [Gvsig_desarrolladores]error en capa y convertir un dato 
numerico expresado en Value a Long o algo así, operable y cambiar el color 
de un shape

> He ido a copiar una capa existente y bueno, aparentemente se copia bien 
> sin
> errores, aparece en el panel derecho del visor junto con las demas capas y
> el dibujo, el nombre y todo parece que está bien, pero cuando hago click 
> en
> información y la selecciono me salta un java.lang.NullPointerException: 
> null
>
> El código usado para copiarla es:
>
> try {
> FLayer copia = capas.getLayer(nombreCapaSeleccionada).cloneLayer();
> if (copia != null) {
> copia.setVisible(true);
> MapControl mapControl = v.getMapControl();
> mapControl.getMapContext().getLayers().addLayer(copia);
> }
> } catch (Exception e1) {
> e1.printStackTrace();
> }
>
> pero cuando lo ejecuto me da un error, copio el log:
>
> java.lang.NullPointerException: null
> com.iver.cit.gvsig.fmap.operations.strategies.DefaultStrategy.process(DefaultStrategy.java:393)
> com.iver.cit.gvsig.fmap.operations.strategies.DefaultStrategy.queryByRect(DefaultStrategy.java:115)
> com.iver.cit.gvsig.fmap.operations.strategies.ShpStrategy.queryByRect(ShpStrategy.java:618)
> com.iver.cit.gvsig.fmap.operations.strategies.ShpStrategy.queryByPoint(ShpStrategy.java:752)
> com.iver.cit.gvsig.fmap.operations.strategies.DefaultStrategy.queryByPoint(DefaultStrategy.java:419)
> com.iver.cit.gvsig.fmap.layers.FLyrVect.queryByPoint(FLyrVect.java:1071)
> com.iver.cit.gvsig.fmap.layers.FLyrVect.getInfo(FLyrVect.java:1082)
> com.iver.cit.gvsig.project.documents.view.toolListeners.InfoListener.point(InfoListener.java:423)
> com.iver.cit.gvsig.fmap.tools.Behavior.PointBehavior.mouseReleased(PointBehavior.java:99)
> com.iver.cit.gvsig.fmap.tools.CompoundBehavior.mouseReleased(CompoundBehavior.java:275)
> com.iver.cit.gvsig.fmap.MapControl$MapToolListener.mouseReleased(MapControl.java:1471)
> java.awt.Component.processMouseEvent(Component.java:5517)
> javax.swing.JComponent.processMouseEvent(JComponent.java:3135)
> java.awt.Component.processEvent(Component.java:5282)
> java.awt.Container.processEvent(Container.java:1966)
> java.awt.Component.dispatchEventImpl(Component.java:3984)
> java.awt.Container.dispatchEventImpl(Container.java:2024)
> java.awt.Component.dispatchEvent(Component.java:3819)
> java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
> java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
> java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
> java.awt.Container.dispatchEventImpl(Container.java:2010)
> java.awt.Window.dispatchEventImpl(Window.java:1791)
> java.awt.Component.dispatchEvent(Component.java:3819)
> java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
> com.iver.andami.ui.AndamiEventQueue.dispatchEvent(AndamiEventQueue.java:58)
> java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
> java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
> java.lang.NullPointerException java.lang.NullPointerException: null
> com.iver.cit.gvsig.fmap.operations.strategies.DefaultStrategy.process(DefaultStrategy.java:393)
> com.iver.cit.gvsig.fmap.operations.strategies.DefaultStrategy.queryByRect(DefaultStrategy.java:115)
> com.iver.cit.gvsig.fmap.operations.strategies.ShpStrategy.queryByRect(ShpStrategy.java:618)
> com.iver.cit.gvsig.fmap.operations.strategies.ShpStrategy.queryByPoint(ShpStrategy.java:752)
> com.iver.cit.gvsig.fmap.operations.strategies.DefaultStrategy.queryByPoint(DefaultStrategy.java:419)
> com.iver.cit.gvsig.fmap.layers.FLyrVect.queryByPoint(FLyrVect.java:1071)
> com.iver.cit.gvsig.fmap.layers.FLyrVect.getInfo(FLyrVect.java:1082)
> com.iver.cit.gvsig.project.documents.view.toolListeners.InfoListener.point(InfoListener.java:423)
> com.iver.cit.gvsig.fmap.tools.Behavior.PointBehavior.mouseReleased(PointBehavior.java:99)
> com.iver.cit.gvsig.fmap.tools.CompoundBehavior.mouseReleased(CompoundBehavior.java:275)
> com.iver.cit.gvsig.fmap.MapControl$MapToolListener.mouseReleased(MapControl.java:1471)
> java.awt.Component.processMouseEvent(Component.java:5517)
> javax.swing.JComponent.processMouseEvent(JComponent.java:3135)
> java.awt.Component.processEvent(Component.java:5282)
> java.awt.Container.processEvent(Container.java:1966)
> java.awt.Component.dispatchEventImpl(Component.java:3984)
> java.awt.Container.dispatchEventImpl(Container.java:2024)
> java.awt.Component.dispatchEvent(Component.java:3819)
> java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
> java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
> java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
> java.awt.Container.dispatchEventImpl(Container.java:2010)
> java.awt.Window.dispatchEventImpl(Window.java:1791)
> java.awt.Component.dispatchEvent(Component.java:3819)
> java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
> com.iver.andami.ui.AndamiEventQueue.dispatchEvent(AndamiEventQueue.java:58)
> java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
> java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
> java.lang.NullPointerException java.lang.NullPointerException: null
> com.iver.cit.gvsig.fmap.operations.strategies.DefaultStrategy.process(DefaultStrategy.java:393)
> com.iver.cit.gvsig.fmap.operations.strategies.DefaultStrategy.queryByRect(DefaultStrategy.java:115)
> com.iver.cit.gvsig.fmap.operations.strategies.ShpStrategy.queryByRect(ShpStrategy.java:618)
> com.iver.cit.gvsig.fmap.operations.strategies.ShpStrategy.queryByPoint(ShpStrategy.java:752)
> com.iver.cit.gvsig.fmap.operations.strategies.DefaultStrategy.queryByPoint(DefaultStrategy.java:419)
> com.iver.cit.gvsig.fmap.layers.FLyrVect.queryByPoint(FLyrVect.java:1071)
> com.iver.cit.gvsig.fmap.layers.FLyrVect.getInfo(FLyrVect.java:1082)
> com.iver.cit.gvsig.project.documents.view.toolListeners.InfoListener.point(InfoListener.java:423)
> com.iver.cit.gvsig.fmap.tools.Behavior.PointBehavior.mouseReleased(PointBehavior.java:99)
> com.iver.cit.gvsig.fmap.tools.CompoundBehavior.mouseReleased(CompoundBehavior.java:275)
> com.iver.cit.gvsig.fmap.MapControl$MapToolListener.mouseReleased(MapControl.java:1471)
> java.awt.Component.processMouseEvent(Component.java:5517)
> javax.swing.JComponent.processMouseEvent(JComponent.java:3135)
> java.awt.Component.processEvent(Component.java:5282)
> java.awt.Container.processEvent(Container.java:1966)
> java.awt.Component.dispatchEventImpl(Component.java:3984)
> java.awt.Container.dispatchEventImpl(Container.java:2024)
> java.awt.Component.dispatchEvent(Component.java:3819)
> java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
> java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
> java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
> java.awt.Container.dispatchEventImpl(Container.java:2010)
> java.awt.Window.dispatchEventImpl(Window.java:1791)
> java.awt.Component.dispatchEvent(Component.java:3819)
> java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
> com.iver.andami.ui.AndamiEventQueue.dispatchEvent(AndamiEventQueue.java:58)
> java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
> java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
> java.lang.NullPointerException java.lang.NullPointerException: null
> com.iver.cit.gvsig.fmap.operations.strategies.DefaultStrategy.process(DefaultStrategy.java:393)
> com.iver.cit.gvsig.fmap.operations.strategies.DefaultStrategy.queryByRect(DefaultStrategy.java:115)
> com.iver.cit.gvsig.fmap.operations.strategies.ShpStrategy.queryByRect(ShpStrategy.java:618)
> com.iver.cit.gvsig.fmap.operations.strategies.ShpStrategy.queryByPoint(ShpStrategy.java:752)
> com.iver.cit.gvsig.fmap.operations.strategies.DefaultStrategy.queryByPoint(DefaultStrategy.java:419)
> com.iver.cit.gvsig.fmap.layers.FLyrVect.queryByPoint(FLyrVect.java:1071)
> com.iver.cit.gvsig.fmap.layers.FLyrVect.getInfo(FLyrVect.java:1082)
> com.iver.cit.gvsig.project.documents.view.toolListeners.InfoListener.point(InfoListener.java:423)
> com.iver.cit.gvsig.fmap.tools.Behavior.PointBehavior.mouseReleased(PointBehavior.java:99)
> com.iver.cit.gvsig.fmap.tools.CompoundBehavior.mouseReleased(CompoundBehavior.java:275)
> com.iver.cit.gvsig.fmap.MapControl$MapToolListener.mouseReleased(MapControl.java:1471)
> java.awt.Component.processMouseEvent(Component.java:5517)
> javax.swing.JComponent.processMouseEvent(JComponent.java:3135)
> java.awt.Component.processEvent(Component.java:5282)
> java.awt.Container.processEvent(Container.java:1966)
> java.awt.Component.dispatchEventImpl(Component.java:3984)
> java.awt.Container.dispatchEventImpl(Container.java:2024)
> java.awt.Component.dispatchEvent(Component.java:3819)
> java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
> java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
> java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
> java.awt.Container.dispatchEventImpl(Container.java:2010)
> java.awt.Window.dispatchEventImpl(Window.java:1791)
> java.awt.Component.dispatchEvent(Component.java:3819)
> java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
> com.iver.andami.ui.AndamiEventQueue.dispatchEvent(AndamiEventQueue.java:58)
> java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
> java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
>
>
> alguien sabe por que puede ser esto y los otros 2 problemas?
> Gracias
>
> --------------------------------------------------
> From: "Eduardo Cristóbal Enríquez" <edu_ce_1988 en hotmail.com>
> Sent: Monday, May 24, 2010 2:04 AM
> To: <gvsig_desarrolladores en listserv.gva.es>
> Subject: [Gvsig_desarrolladores] convertir un dato numerico expresado en
> Value a Long o algo así, operable y cambiar el color de un shape
>
>> Hola,
>>
>> tengo dos problemas, el primero es que cuando hago una consulta de esta
>> forma:
>>
>> Value strArea = ds.getFieldValue(selection.nextSetBit(0),idArea);
>> Va todo bien, sin ningún tipo de error, y me muestra el dato que está
>> asignado a dicha capa, en este caso:  4.272045E7
>> El problema es que el número es en realidad: 42720450,00000  (lo se 
>> porque
>> abro el .dbf con el excel y ahí sí se muestra el valor real).
>> Entonces la pregunta es la siguiente: cómo puedo pasar de Value a Long (o
>> a
>> un dato con el que pueda operar): He probado cosas como:
>> (long)strArea.toString() pero no me deja.
>>
>> El segundo es que no se como puedo cambiar el color de una capa (layer), 
>> y
>> necesito cambiárselo (que aparezca con otro color cuando se muestra en el
>> mapa) .
>> Lo podría hacer dentro de este código o como sería?
>>
>> try {
>> FBitSet selection =
>> capaSeleccionada.queryByRect(capaSeleccionada.getFullExtent());
>>
>> if (!selection.isEmpty()){
>> DataSource ds = ((AlphanumericData)capaSeleccionada).getRecordset();
>> ds.start();
>> ds.(algun método que me permita cambiar el color)
>>
>>
>> Muchas gracias.
>> Un saludo.
>>
>> Eduardo.
>>
>> _______________________________________________
>> gvSIG_desarrolladores mailing list
>> gvSIG_desarrolladores en listserv.gva.es
>> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
>>
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en listserv.gva.es
> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
> 
_______________________________________________
gvSIG_desarrolladores mailing list
gvSIG_desarrolladores en listserv.gva.es
http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores


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