Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#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

 

Pied de page des forums

Powered by FluxBB