Ajout d'une methode pour constuire des symboles proportionnels dans gvSIG
Auteurs : Erwan Bocher et Isabelle Bremond, laboratoire RESO UMR 6590
Objectif : Il s'agit d'ajouter dans la fenêtre des proprietés d'une couche un methode de cartographie pour construire des symboles proportionnels.
Methode : Modification des librairies FMap et appgvsig.
La création d'un plugin serait une meilleure solution car elle éviterait de polluer le code principal de gvSIG.
Fonctionnement :
Après avoir ajouté les classes java disponibles dans le zip ci-dessous, compilez les librairies FMap et appgvsig.
Pour accèder aux symboles proportionnels sélectionnez une couche de points, clic-droit propriétés et sélectionnez l'onglet Symbologie.
Code source :
http://r1.bocher.free.fr/documents/experimentations/gvSIGSymbolProportionnalsExtension.zip
Limitations - bugs :
It's necessary to reduce legend with min and max value.
Pb when I click on layer properties after creating symbols. See message below.
java.
lang.
ClassCastException: com.
hardcode.
gdbms.
engine.
values.
DoubleValue java.
lang.
ClassCastException: com.
hardcode.
gdbms.
engine.
values.
DoubleValue com.
iver.
cit.
gvsig.
fmap.
rendering.
VectorialProportionnalSymbolLegend.
getXMLEntity
(VectorialProportionnalSymbolLegend.
java:
215) com.
iver.
cit.
gvsig.
fmap.
rendering.
VectorialProportionnalSymbolLegend.
cloneLegend
(VectorialProportionnalSymbolLegend.
java:
341) com.
iver.
cit.
gvsig.
gui.
thememanager.
FThemeManagerWindow.
setMapContext(FThemeManagerWindow.
java:
224) com.
iver.
cit.
gvsig.
gui.
toc.
FLyrVectEditPropertiesTocMenuEntry.
execute(FPopupMenu.
java:
283) com.
iver.
cit.
gvsig.
gui.
toc.
AbstractTocContextMenuAction.
execute(AbstractTocContextMenuAction.
java:
41) com.
iver.
cit.
gvsig.
gui.
toc.
FPopupMenu$MenuItem.
actionPerformed(FPopupMenu.
java:
1195) javax.
swing.
AbstractButton.
fireActionPerformed(Unknown Source
) javax.
swing.
AbstractButton$Handler.
actionPerformed(Unknown Source
) javax.
swing.
DefaultButtonModel.
fireActionPerformed(Unknown Source
) javax.
swing.
DefaultButtonModel.
setPressed(Unknown Source
) javax.
swing.
AbstractButton.
doClick(Unknown Source
) javax.
swing.
plaf.
basic.
BasicMenuItemUI.
doClick(Unknown Source
) javax.
swing.
plaf.
basic.
BasicMenuItemUI$Handler.
mouseReleased(Unknown Source
) java.
awt.
Component.
processMouseEvent(Unknown Source
) javax.
swing.
JComponent.
processMouseEvent(Unknown Source
) java.
awt.
Component.
processEvent(Unknown Source
) java.
awt.
Container.
processEvent(Unknown Source
) java.
awt.
Component.
dispatchEventImpl(Unknown Source
) java.
awt.
Container.
dispatchEventImpl(Unknown Source
) java.
awt.
Component.
dispatchEvent(Unknown Source
) java.
awt.
LightweightDispatcher.
retargetMouseEvent(Unknown Source
) java.
awt.
LightweightDispatcher.
processMouseEvent(Unknown Source
) java.
awt.
LightweightDispatcher.
dispatchEvent(Unknown Source
) java.
awt.
Container.
dispatchEventImpl(Unknown Source
) java.
awt.
Window.
dispatchEventImpl(Unknown Source
) java.
awt.
Component.
dispatchEvent(Unknown Source
) java.
awt.
EventQueue.
dispatchEvent(Unknown Source
) com.
iver.
andami.
ui.
AndamiEventQueue.
dispatchEvent(AndamiEventQueue.
java:
58) java.
awt.
EventDispatchThread.
pumpOneEventForHierarchy(Unknown Source
) java.
awt.
EventDispatchThread.
pumpEventsForHierarchy(Unknown Source
) java.
awt.
EventDispatchThread.
pumpEvents(Unknown Source
) java.
awt.
EventDispatchThread.
pumpEvents(Unknown Source
) java.
awt.
EventDispatchThread.
run(Unknown Source
)