JOSM : comment tracer un cercle de rayon donné autour d'un point

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

JOSM : comment tracer un cercle de rayon donné autour d'un point

pyrog
Bonjour,

Existe-‘il une façon simple de tracer un cercle à partir d’un point et d’un rayon ?

Ma méthode (lourde) :
  1. rajouter un noeud MAJ+D (et saisir les coordonnées du centre)
  2. tracer un segment CTRL+A (regarder dans la barre de statut la longueur du segment)
  3. tracer un deuxième (environ à 120°)
  4. tracer un troisième
  5. sélectionner les 3 segments
  6. sélectionner leurs noeuds CMD+MAJ+N
  7. dans la liste de sélectionner désélectionner le centre
  8. créer un cercle MAJ+O
  9. sélectionner les segments
  10. les effacer

ouf…

Tout ça parce que je trace des zones réglementaires en mer :
"une zone de dépôt temporaire d'engins explosifs ou dangereux (Zone F), située dans cercle de deux cent mètres de rayon centré sur le point 50° 59,7' Nord - 001° 50,47 Est."

Yves

_______________________________________________
Talk-fr mailing list
[hidden email]
https://lists.openstreetmap.org/listinfo/talk-fr
Reply | Threaded
Open this post in threaded view
|

Re: JOSM : comment tracer un cercle de rayon donné autour d'un point

orhygine
Bonjour,
Le raccourcis shift+o permet de transformer une ligne représentant le diamètre en un cercle.
Orhygine

Le jeu. 5 déc. 2019 à 17:06, Yves P. <[hidden email]> a écrit :
Bonjour,

Existe-‘il une façon simple de tracer un cercle à partir d’un point et d’un rayon ?

Ma méthode (lourde) :
  1. rajouter un noeud MAJ+D (et saisir les coordonnées du centre)
  2. tracer un segment CTRL+A (regarder dans la barre de statut la longueur du segment)
  3. tracer un deuxième (environ à 120°)
  4. tracer un troisième
  5. sélectionner les 3 segments
  6. sélectionner leurs noeuds CMD+MAJ+N
  7. dans la liste de sélectionner désélectionner le centre
  8. créer un cercle MAJ+O
  9. sélectionner les segments
  10. les effacer

ouf…

Tout ça parce que je trace des zones réglementaires en mer :
"une zone de dépôt temporaire d'engins explosifs ou dangereux (Zone F), située dans cercle de deux cent mètres de rayon centré sur le point 50° 59,7' Nord - 001° 50,47 Est."

Yves
_______________________________________________
Talk-fr mailing list
[hidden email]
https://lists.openstreetmap.org/listinfo/talk-fr

_______________________________________________
Talk-fr mailing list
[hidden email]
https://lists.openstreetmap.org/listinfo/talk-fr
Reply | Threaded
Open this post in threaded view
|

Re: JOSM : comment tracer un cercle de rayon donné autour d'un point

pyrog
Le raccourcis shift+o permet de transformer une ligne représentant le diamètre en un cercle.
Je restais sur le commentaire du menu « Créer un cercle à partir de 3 noeuds sélectionnés » 

Si on sélectionne 1 seul noeud ou plus de 3, le message d’erreur est clair 3  :
« Sélectionnez exactement deux ou trois noeuds ou un chemin avec exactement deux ou trois noeuds ».

Ce n’est pas tout à fait ce que j’ai besoin (je pensais qu’un greffon faisait ça), mais ça simplifie beaucoup l’édition.
Merci orhygine

Yves

_______________________________________________
Talk-fr mailing list
[hidden email]
https://lists.openstreetmap.org/listinfo/talk-fr
Reply | Threaded
Open this post in threaded view
|

Re: JOSM : comment tracer un cercle de rayon donné autour d'un point

verdy_p
Ca ne répond pas tout à fait au problème, puisque les 2 ou 3 noeuds n'incluent pas le centre. Il faut quand même placer au moins 2 noeuds correctement à bonne distance sur une ligne horizontale du centre connu, avant d'éliminer le point central, il serait plus simpel de juste tracer un rayon et non un diamètre, voire juste un seul noeud à une position connue, et avec la touche o accepter cette sélection unique pour saisir la longueur du rayon, le noeud central reste sur place mais restera dans la sélection comprenant ce noeud et le chemin circulaire
(au passage on pourrait aussi préciser soit le nombre de points du contour, soit un angle maximum de déviation en degrés (inférieur à 180° sinon on n'a plus que 2 noeuds à 180°, mais il vaut mieux que cela reste inférieur à 90° pour avoir au moins 4 noeuds; les cercles habituels à 18 noeuds forment des déviations angulaires de 20° à chaque sommet, mais pour les grands cercles de plus de 10 mètres de rayon il vaut mieux doubler à 36 noeuds pour des déviations de 10° maximum et au delà de 100 mètres passer à 72 noeuds pour 5° maximum; une autre alternative serait d'indiquer la distance maximale du centre de chaque corde au point du cercle le plus proche pour obtenir une précision absolue en terme d'écart maximum toléré, et non une prévision relative en pourcentage du rayon : on veut une précision décimétrique pour les batiments, mais une précision métrique suffit souvent ailleurs pour des distances terrestres (exemple des routes ou circuits), une précision décamétrique suffit souvent en zone fluviale/lacustre, et une précision hectométrique en zone maritime ou aérienne : l'écart maximum entre le centre d'une corde et le point du cercle le plus proche est bien plus parlant).

L'écart du centre de la corde est proportionnel au rayon et à un facteur trigonométrique dépendant uniquement de l'angle de déviation. On en déduit alors là aussi le nombre de point minimum qu'on a intérêt ensuite à placer de façon équidistante, et on peut toujours placer le premier point arbitrairement sur un rayon le long d'une ligne de longitude vers l'Est (depuis le centre du cercle).

La touche "o" prend un nombre constant de points minimum à placer (18 pour une déviation maximale de 20° par sommet), mais conserve les noeuds qui sont à l'intersection ou l'extrémité de deux chemins ou dotés de certains attributs fixes (par exemple des points de bornage géodésiques qu'il faut conserver autant que possible: si trop de points sont fixes et ne peuvent pas être déplacés pour être sur le même cercle, cela devrait produire une erreur si un cercle idéalisé le plus proche de ces points les placerait à une distance supérieure à l'écart de corde autorisé, mais sinon les points existants devraient être gardés inchangés à leur place même si le cercle n'est pas parfait et même si on place les autres points sur le cercle idéal; une option non activée par défaut autoriserait de réajuster ces points en les déplaçant légèrement sur une ligne joignant ces point au centre du cercle idéal).

Le ven. 6 déc. 2019 à 21:48, Yves P. <[hidden email]> a écrit :
Le raccourcis shift+o permet de transformer une ligne représentant le diamètre en un cercle.
Je restais sur le commentaire du menu « Créer un cercle à partir de 3 noeuds sélectionnés » 

Si on sélectionne 1 seul noeud ou plus de 3, le message d’erreur est clair 3  :
« Sélectionnez exactement deux ou trois noeuds ou un chemin avec exactement deux ou trois noeuds ».

Ce n’est pas tout à fait ce que j’ai besoin (je pensais qu’un greffon faisait ça), mais ça simplifie beaucoup l’édition.
Merci orhygine

Yves
_______________________________________________
Talk-fr mailing list
[hidden email]
https://lists.openstreetmap.org/listinfo/talk-fr

_______________________________________________
Talk-fr mailing list
[hidden email]
https://lists.openstreetmap.org/listinfo/talk-fr
Reply | Threaded
Open this post in threaded view
|

Re: JOSM : comment tracer un cercle de rayon donné autour d'un point

leni-2
In reply to this post by pyrog


Le 06/12/2019 à 21:48, Yves P. a écrit :
Le raccourcis shift+o permet de transformer une ligne représentant le diamètre en un cercle.
Je restais sur le commentaire du menu « Créer un cercle à partir de 3 noeuds sélectionnés » 

Si on sélectionne 1 seul noeud ou plus de 3, le message d’erreur est clair 3  :
« Sélectionnez exactement deux ou trois noeuds ou un chemin avec exactement deux ou trois noeuds ».

Ce n’est pas tout à fait ce que j’ai besoin (je pensais qu’un greffon faisait ça), mais ça simplifie beaucoup l’édition.
Merci orhygine

Même s'il n'est pas fait pour ça, tu as le greffon https://wiki.openstreetmap.org/wiki/JOSM/Plugins/RoundaboutExpander

Maj+D tu crée le centre
Ctrl+Maj+R tu indique le diamètre
Ctrl+Maj+R
tu corrige le centre, les attributs.

Leni


_______________________________________________
Talk-fr mailing list
[hidden email]
https://lists.openstreetmap.org/listinfo/talk-fr
Reply | Threaded
Open this post in threaded view
|

Re: JOSM : comment tracer un cercle de rayon donné autour d'un point

Topographe Fou
In reply to this post by pyrog
A mon avis un ticket demandant la possibilité, à partir d'un segment, de créer un cercle de centre "le point de départ du way" et passant par le second point serait apprécié car fonction utile à plus d'un utilisateur JOSM je pense (perso j'utilise la technique des 3 points mais en decalquant sur de l'imagerie qui n'indique généralement pas le centre).

Autre idée : un ticket pour, à partir d'un point, ouvrir une boite de dialogue qui permette de saisir un rayon et générer un cercle.

Autre idée : un ticket pour, à partir d'un point, générer un cercle qui passe par la position de la souris et la suis jusqu'à ce que l'on clique pour figer le rayon.

Ou les trois tickets à la fois, car trois méthodes qui peuvent rendre des services ^^.

LeTopographeFou
Envoyé: 6 décembre 2019 9:48 PM
Répondre à: [hidden email]
Objet: Re: [OSM-talk-fr] JOSM : comment tracer un cercle de rayon donné autour d'un point

Le raccourcis shift+o permet de transformer une ligne représentant le diamètre en un cercle.
Je restais sur le commentaire du menu « Créer un cercle à partir de 3 noeuds sélectionnés » 

Si on sélectionne 1 seul noeud ou plus de 3, le message d’erreur est clair 3  :
« Sélectionnez exactement deux ou trois noeuds ou un chemin avec exactement deux ou trois noeuds ».

Ce n’est pas tout à fait ce que j’ai besoin (je pensais qu’un greffon faisait ça), mais ça simplifie beaucoup l’édition.
Merci orhygine

Yves

_______________________________________________
Talk-fr mailing list
[hidden email]
https://lists.openstreetmap.org/listinfo/talk-fr
Reply | Threaded
Open this post in threaded view
|

Re: JOSM : comment tracer un cercle de rayon donné autour d'un point

verdy_p
sinon ce serait bien d'avoir un tag dans les chemins fermés pour indiquer que le polygone est en fait une approximation d'un cercle.
Extension possible sur les chemins ouverts pour indiquer que c'est un arc de cercle. D'une part cela peut améliorer le rendu, d'autre part cela permet d'appliquer un filtre correct quand il y a plus de points que nécessaire à une précision métrique demandée, et aussi de permettre à certains outils de redéplacer des nœuds "libres" (sans contrainte comme une intersection avec d'autres chemins) pour les rééquilibrer de façon quasi-automatique (par exemple : on trace un giratoire avec un cercle puis on fait les connexions aux voies, pas forcément sur les mêmes nœuds, puis une fonction permet de rééquilibrer (plusieurs critères: répartir les points existants juste en les déplaçant et maintenant l'ordre relatif; ajouter/supprimer les points manquants ou en excès (seulement ceux sans tags impératifs, les tags de cuisine interne à OSM pouvant être ignorés comme source voire aussi TODO et FIXME, note, et les tags dépréciés liés maintenant au "changeset" comme "created_by" et qu'il est permis de supprimer de façon automatique dans un éditeur quand il envoie un objet modifié) selon une précision demandée, idéalement métrique mais ce peut être une précision angulaire).

Sinon OSM n'a toujours pas de tags pour indiquer si un polygone fermé ou un tracé est sensée rester polygonal avec ses angles au sommet, ou si c'est une courbe lissable (par exemple en arcs de Bezier du deuxième ordre, ou mieux du troisième ordre avec une indication facultative de la distance maximale des points de contrôle à ajouter, ce qui permettrait de réduire le nombre de noeuds nécessaires dans les données OSM; noter qu'on ne peut pas facilement réduire ces nœuds à l'excès sans produire des problèmes de rendu et de sélection sur la carte, le rendu curviligne pouvant alors produire des intersections indésirables avec le voisinage et des changements de topologie : un point est-il ou pas dans un polygone donné, ou à droite ou à gauche du tracé?

Les algos OSM sont souvent assez restrictifs et n'admettent pas un "buffer" de tolérance de la précision des points, et là encore ce serait plus facile si les chemins comportaient un indicateur de largeur de buffer pour indiquer la précision des tracés et ne pas avoir à gérer des alignements de points de façon aussi stricte : un point peut être alors considéré comme étant *sur* la ligne s'il est dans la zone buffer de cette ligne ; dela résoud certaines contraintes techniques tout en donnant plus de marges de manœuvre et mieux qualifier la précision de nos données, quelle que soit l'échelle de rendu, mais les logiciels de rendu doivent alors être modifiés pour en ternir compte; cela permettrait aussi d'éliminer des alertes trop nombreuses de problèmes de géométrie juste pour des questions de calcul dans une précision plus élevée que celle qui est réellement dans les données saisies, alors que l'écart est très mineur et qu'autrement la précision des données est suffisante à son échelle de saisie, moyennant les écarts inévitables liés aux incertitudes des sources, y compris les sources "orthorectifiées" qui se basent sur des modèles de terrain évoluant avec le temps mais pas toujours précisé dans les sources photo; enfin comme les photos ont des incertitudes de date et sont souvent des assemblages, il y a des modifications mineures sur le terrain et les clichés assemblés dans une même source ortothophoto peuvent être justaposés après avoir déjà subit séparément des orthorectifications basées sur des versions différentes des MNT; on a donc des écarts inévitables et c'est dommage qu'OSM ne permette pas encore de qualifier cette précision pour permettre de développer des algos raisonnables).


Le lun. 9 déc. 2019 à 19:28, Topographe Fou <[hidden email]> a écrit :
A mon avis un ticket demandant la possibilité, à partir d'un segment, de créer un cercle de centre "le point de départ du way" et passant par le second point serait apprécié car fonction utile à plus d'un utilisateur JOSM je pense (perso j'utilise la technique des 3 points mais en decalquant sur de l'imagerie qui n'indique généralement pas le centre).

Autre idée : un ticket pour, à partir d'un point, ouvrir une boite de dialogue qui permette de saisir un rayon et générer un cercle.

Autre idée : un ticket pour, à partir d'un point, générer un cercle qui passe par la position de la souris et la suis jusqu'à ce que l'on clique pour figer le rayon.

Ou les trois tickets à la fois, car trois méthodes qui peuvent rendre des services ^^.

LeTopographeFou
Envoyé: 6 décembre 2019 9:48 PM
Répondre à: [hidden email]
Objet: Re: [OSM-talk-fr] JOSM : comment tracer un cercle de rayon donné autour d'un point

Le raccourcis shift+o permet de transformer une ligne représentant le diamètre en un cercle.
Je restais sur le commentaire du menu « Créer un cercle à partir de 3 noeuds sélectionnés » 

Si on sélectionne 1 seul noeud ou plus de 3, le message d’erreur est clair 3  :
« Sélectionnez exactement deux ou trois noeuds ou un chemin avec exactement deux ou trois noeuds ».

Ce n’est pas tout à fait ce que j’ai besoin (je pensais qu’un greffon faisait ça), mais ça simplifie beaucoup l’édition.
Merci orhygine

Yves
_______________________________________________
Talk-fr mailing list
[hidden email]
https://lists.openstreetmap.org/listinfo/talk-fr

_______________________________________________
Talk-fr mailing list
[hidden email]
https://lists.openstreetmap.org/listinfo/talk-fr
Reply | Threaded
Open this post in threaded view
|

Re: JOSM : comment tracer un cercle de rayon donné autour d'un point

pyrog
In reply to this post by Topographe Fou
@Topographe Fou

Philippe avait décrit la même chose :

il serait plus simple de juste tracer un rayon et non un diamètre, voire juste un seul noeud à une position connue, et avec la touche o accepter cette sélection unique pour saisir la longueur du rayon

A mon avis un ticket demandant la possibilité, à partir d'un segment, de créer un cercle de centre "le point de départ du way" et passant par le second point serait apprécié car fonction utile à plus d'un utilisateur JOSM je pense (perso j'utilise la technique des 3 points mais en decalquant sur de l'imagerie qui n'indique généralement pas le centre).

Autre idée : un ticket pour, à partir d'un point, ouvrir une boite de dialogue qui permette de saisir un rayon et générer un cercle.
La boite pourrait proposer un bouton radio rayon/diamètre

Autre idée : un ticket pour, à partir d'un point, générer un cercle qui passe par la position de la souris et la suis jusqu'à ce que l'on clique pour figer le rayon.

En fait ça peu être simple au niveau de la saisie :

  • 1 point sélectionné : Appui sur O affiche la boite de dialogue (la même que pour déplacer un point, mais avec le rayo,/diamètre en plus).
  • 1 point sélectionné et on est en train de tracer un segment (appuis sur A et on déplace la souris). Appui sur O : on trace maintenant un cercle
  • 2 points sélectionnés : Appuis sur O (actuellement MAJ+O) pour tracer un cercle à partir de son rayon (le centre étant le premier point),
    second appui sur O pour le tracer mais à partir de son diamètre (ce que fait MAJ+O) actuellement.

Comme ça il n’y a qu’une seule touche à utiliser en manipulant la souris.

Est-ce que ça résume bien les  propositions du Topographe et de Philippe ?

Yves

_______________________________________________
Talk-fr mailing list
[hidden email]
https://lists.openstreetmap.org/listinfo/talk-fr
Reply | Threaded
Open this post in threaded view
|

Re: JOSM : comment tracer un cercle de rayon donné autour d'un point

verdy_p
oui, il reste ensuite les options de précision du cercle: un simple nombre de points n'est pas adapté à toutes les tailles, 18 c'est bien pour un petit batiment, mais pour des objets plus grands (exemple des distances de loxodromie en maritime, c'est insuffisant; de même pour aider à tracer et régulariser des pistes d'athlétisme ou hippodromes. On aimerait pouvoir indiquer juste un écart maximum entre une corde et l'arc théorique, ne serait-ce que pour éviter de sortir de la largeur des voies, surtout dans les échangeurs, où une approximation mauvaise peut conduire à des dérives sur les GPS et nous situer sur la mauvaise voie. Cela évite aussi de couper des batiments ou équipements proches.

L'option pourrait être généralisée à la régularisation de courbes à l'aide de Bezier (idéalement cubiques, pour optimiser le placement des points de controle dans les limites d'écart fixées sans ajouter trop de noeuds fixes ensuite, mais des quadratiques peuvent aussi faire le travail avec les deux points de contrôle de la cubique superposés quand on est en quadratique), l'outil s'occupant de déterminer le nombre de points sur le chemin, déterminer les points de contrôle hors chemin pour calculer les autres. Dans tous les cas des options pour préserver des noeuds critiques (intersections d'objets connexes ou certains points fixes déjà positionnés précisément avec des tags pour l'indiquer). Régulariser l'écartement des noeuds générés donne de meilleurs résultats quand ensuite on fait des zoom arrière et que certains noeuds sont éliminés, mais aussi pour placer des noeuds supplémentaires (des intersections par exemple), et l'ajout de telles intersections pourrait alors éliminer et régulariser à nouveau les autres noeuds non critiques entre les points fixes.

Dernière option: la sélection de plusieurs chemins découpés faisant partie du même arc de cercle (et éventuellement jointifs et "lissés" aux points de jonction) devrait pouvoir tout régulariser (là encore utilie pour les ronds-points). Et la touche O doit donc pouvoir accepter ces chemins (même s'ils ne sont pas jointifs car ils sont séparés par des segments droits ou des "encoches"). Cependant pas sûr que l'option de lissage de courbes non circulaires (utilisant des Bézier cuibiques ou quatradtiques) puisse être unifiée avec les arcs de cercles (qui sont tout de même une minorité des objets courbes, notamment les virages de routes).

Personnellement je préférerait que le lissage de courbe en ajoutant des points précis dans les données soit plutôt dans l'éditeur que dans le moteur de rendu qui utilise des paramètres fixes sur les tolérances de placement (les rendus avec Bezier ont de grosses anomalies comme des intersections indésirables en zone urbaine): dans un éditeur on peut toujours jouer avec des points fixes manuel et régulariser le reste (en attendant qu'un jour OSM modifie son modèle de données pour admettre des arcs de Bezier cubiques et pas seulement des suites de segments qui font toujours des angles et ne permet jamais d'indiquer des tangentes correctes)


Le mar. 10 déc. 2019 à 11:54, Yves P. <[hidden email]> a écrit :
@Topographe Fou

Philippe avait décrit la même chose :

il serait plus simple de juste tracer un rayon et non un diamètre, voire juste un seul noeud à une position connue, et avec la touche o accepter cette sélection unique pour saisir la longueur du rayon

A mon avis un ticket demandant la possibilité, à partir d'un segment, de créer un cercle de centre "le point de départ du way" et passant par le second point serait apprécié car fonction utile à plus d'un utilisateur JOSM je pense (perso j'utilise la technique des 3 points mais en decalquant sur de l'imagerie qui n'indique généralement pas le centre).

Autre idée : un ticket pour, à partir d'un point, ouvrir une boite de dialogue qui permette de saisir un rayon et générer un cercle.
La boite pourrait proposer un bouton radio rayon/diamètre

Autre idée : un ticket pour, à partir d'un point, générer un cercle qui passe par la position de la souris et la suis jusqu'à ce que l'on clique pour figer le rayon.

En fait ça peu être simple au niveau de la saisie :

  • 1 point sélectionné : Appui sur O affiche la boite de dialogue (la même que pour déplacer un point, mais avec le rayo,/diamètre en plus).
  • 1 point sélectionné et on est en train de tracer un segment (appuis sur A et on déplace la souris). Appui sur O : on trace maintenant un cercle
  • 2 points sélectionnés : Appuis sur O (actuellement MAJ+O) pour tracer un cercle à partir de son rayon (le centre étant le premier point),
    second appui sur O pour le tracer mais à partir de son diamètre (ce que fait MAJ+O) actuellement.

Comme ça il n’y a qu’une seule touche à utiliser en manipulant la souris.

Est-ce que ça résume bien les  propositions du Topographe et de Philippe ?

Yves
_______________________________________________
Talk-fr mailing list
[hidden email]
https://lists.openstreetmap.org/listinfo/talk-fr

_______________________________________________
Talk-fr mailing list
[hidden email]
https://lists.openstreetmap.org/listinfo/talk-fr