#1 Wed 20 August 2008 11:12
- ludotux
- Juste Inscrit !
- Date d'inscription: 13 Dec 2007
- Messages: 6
Simplification de lignes dans OpenJUMP
Bonjour,
Une petite question concernant l'algorithme de simplification de lignes dans OpenJUMP.
J'ai des géométries de type MultiLineString qui contiennent beaucoup trop de points (très lent à la visualisation) donc j'aimerais alléger un peu ces objets.
L'algorithme de simplification JTS disponible dans le menu Outils->généralisation ne fonctionne pas, j'ai l'erreur suivante :
Code:
Aucune description n'a été fournie (No such element exception) java.util.NoSuchElementException at java.util.HashMap$HashIterator.nextEntry(Unknown Source) at java.util.HashMap$KeyIterator.next(Unknown Source) at org.openjump.core.ui.plugin.tools.LineSimplifyJTS15AlgorithmPlugIn.layer(LineSimplifyJTS15AlgorithmPlugIn.java:138) at org.openjump.core.ui.plugin.tools.LineSimplifyJTS15AlgorithmPlugIn.simplify(LineSimplifyJTS15AlgorithmPlugIn.java:157) at org.openjump.core.ui.plugin.tools.LineSimplifyJTS15AlgorithmPlugIn.run(LineSimplifyJTS15AlgorithmPlugIn.java:145) at com.vividsolutions.jump.workbench.ui.task.TaskMonitorManager$TaskWrapper.run(TaskMonitorManager.java:149) at java.lang.Thread.run(Unknown Source)
la ligne 138 qui bug dans le fichier source (http://jump-pilot.svn.sourceforge.net/v … iew=markup) est la suivante :
Code:
137 protected Layer layer(PlugInContext context) { 138 return (Layer) context.getLayerViewPanel().getSelectionManager() 139 .getLayersWithSelectedItems().iterator().next(); 140 }
Si vous avez une autre solution pour simplifier mes lignes (réduire le nombre de points) je suis preneur ou alors d'où vient ce bug?
Merci d'avance.
Ludovic.
Dernière modification par ludotux (Wed 20 August 2008 11:13)
Hors ligne
#2 Fri 22 August 2008 21:25
- mmichaud
- Participant occasionnel
- Date d'inscription: 3 Jul 2007
- Messages: 13
Re: Simplification de lignes dans OpenJUMP
Bonjour,
Je n'arrive pas à reproduire l'erreur.
Le message signifie que OpenJUMP plante alors qu'il essaye de renvoyer la première couche possédant des objets sélectionnés (normalement, si la sélection est vide, la commande n'est même pas disponible (grisée).
As-tu des couches affichées, modifiables avec des éléments sélectionnés ?
Sinon, tu as aussi accès aux fonctions de simplification via la commande Outils>Analyser>Fonctions géométriques...
Michaël
Hors ligne
#3 Mon 25 August 2008 11:59
- ludotux
- Juste Inscrit !
- Date d'inscription: 13 Dec 2007
- Messages: 6
Re: Simplification de lignes dans OpenJUMP
Moi c'est l'inverse, l'erreur se reproduit tout le temps.
j'ai bien ma couche modifiable avec un élément selectionné dans le tableau. J'ai même essayé de créer une polyligne à la main dans une autre couche que j'ai essayé de simplifier mais j'ai le même message donc ça ne vient pas de là je pense.
Il y a surement un truc évident que je ne vois et qui fais que ça plante mais je ne trouve pas.
Les outils de simplification dans le menu Analyser>fonction géométrique ne réduisent pas le nombre de points de ma polyligne et d'ailleurs je ne sais pas ce qu'ils sont censés faire, je crois bien que ça marche uniquement pour les polygones. (pourtant mon paramètre de distance est cohérent)
Tant pis je vais abandonner l'histoire des simplifications.
merci
Ludovic.
Hors ligne
#4 Tue 26 August 2008 00:08
- mmichaud
- Participant occasionnel
- Date d'inscription: 3 Jul 2007
- Messages: 13
Re: Simplification de lignes dans OpenJUMP
Bonjour,
J'y suis (grace au "...avec un élément selectionné dans le tableau").
La sélection d'une ligne dans un tableau est différente de la sélection d'un objet. Pour que l'objet soit vraiment sélectionné, il faut le sélectionner sur la carte, ou sélectionner les lignes du tableau puis, appuyer sur la flèche blanche de sélection à gauche.
En fait, le menu de simplification ne devrait pas être proposé tant qu'il n'y a pas d'objet réellement sélectionné. C'est un bug.
Pour moi, si un objet est vraiment sélectionné, la simplification marche.
Elle marche aussi en passant par le menu Analyser>fonction géométriques>Simplifier (Douglas-Peucker), y compris pour les polylignes ou les multi-polylignes.
Je t'invite à reessayer en augmentant la valeur du paramètre.
Michaël
Hors ligne