| java.lang.Object fr.ign.cogit.geoxygene.contrib.geometrie.Operateurs
Operateurs | abstract public class Operateurs (Code) | | En vrac un ensemble de méthodes statiques qui manipulent des géométries:
projections, abscisse curviligne, décalage, orientation...
CONTIENT des méthodes de :
Projections d'un point
Manipulation de l'abscisse curviligne d'une ligne
Mesures sur un polygone
Offset d'une ligne (décalage)
Echantillonage d'une ligne
Regression linéaire
et beaucoup d'autres choses très diverses
ATTENTION: certaines méthodes n'ont pas été conçues ni testées pour des coordonnées 3D
English: Very very diverse set of methods on geometries
author: Mustière / Bonin / Rousseaux / Grosso / Lafragueta version: 1.0 |
Method Summary | |
public static double | abscisseCurviligne(GM_LineString ls, int i) Abscisse curviligne du ieme point de la ligne ls. | public static DirectPosition | barycentre2D(GM_Polygon poly) Barycentre 2D (approximatif).
Il est défini comme le barycentre des points intermédiaires du contour,
ce qui est très approximatif
English: Center of the points of the polygon. | public static void | bufferSurfaces(Population popSurf, double tailleBuffer) Dilate les surfaces de la population. | public static GM_LineString | calculeZ(GM_LineString ligne) Attribue par interpolation un Z aux points d'une ligne en connaissant le Z
des extrémités. | public static GM_LineString | compileArcs(List geometries) Mise bout à bout de plusieurs GM_LineString pour constituer une nouvelle GM_LineString
La liste en entrée contient des GM_LineString. | public static DirectPositionList | derniersPoints(GM_LineString ls, double longueur) Derniers points intermédiaires de la ligne ls, situés à moins
de la longueur curviligne passée en paramètre du point final.
Renvoie null si la longueur est négative.
Renvoie le dernier point seulement si la longueur est 0.
Renvoie tous les points si la longueur est supérieure à la longueur de la ligne.
NB: les points sont renvoyés dans l'ordre en partant du dernier point
(ordre inverse par rapport à la géoémtrie initiale).
English: Last points of the line. | public static GM_LineString | directOffset(GM_LineString ls, double offset) Calcul d'un offset direct (demi-buffer d'une ligne, ou décalage à gauche). | public static Angle | directionPrincipale(DirectPositionList listePts) Methode qui donne l'angle (radians) par rapport à l'axe des x de la droite passant
au mieux au milieu d'un nuage de points (regression par moindres carrés). | public static Angle | directionPrincipaleOrientee(DirectPositionList listePts) Methode qui donne l'angle dans [0,2*pi[ par rapport à l'axe des x,
de la droite orientée passant au mieux au milieu d'un nuage de points ordonnés
(regression par moindres carrés). | public static GM_LineString | echantillone(GM_LineString ls, double pas) Méthode pour suréchantillonner une GM_LineString. | public static GM_LineString | echantillonePasVariable(GM_LineString ls, double pas) Méthode pour suréchantillonner une GM_LineString. | public static void | fusionneSurfaces(Population popSurf) Fusionne les surfaces adjacentes d'une population. | public static int | indice2D(DirectPositionList dpl, DirectPosition dp) Teste la présence d'un DirectPosition (égalité 2D) dans une
DirectPositionList. | public static int | indice3D(DirectPositionList dpl, DirectPosition dp) Teste la présence d'un DirectPosition (égalité 3D) dans une
DirectPositionList. | public static GM_LineString | indirectOffset(GM_LineString ls, double offset) Calcul d'un offset indirect (demi-buffer d'une ligne, ou décalage à droite). | public static GM_Object | intersectionRobuste(GM_Object A, GM_Object B, double min, double max) Version plus robuste mais aussi potentiellement faussée de l'intersection. | public static DirectPosition | milieu(GM_LineString ls) Coordonnées du point situé sur au milieu de la ligne. | public static DirectPosition | milieu(DirectPosition A, DirectPosition B) renvoie le milieu de [A,B]. | public static DirectPosition | pointEnAbscisseCurviligne(GM_LineString ls, double abscisse) Coordonnées du point situé sur la ligne à l'abscisse curviligne passée en paramètre.
Renvoie Null si l'abscisse est négative ou plus grande que la longueur de la ligne. | public static DirectPositionList | premiersPoints(GM_LineString ls, double longueur) Premiers points intermédiaires de la ligne ls, situés à moins
de la longueur curviligne passée en paramètre du point initial.
Renvoie null si la longueur est négative.
Renvoie le premier point si et seulement si la longueur est 0.
Renvoie tous les points si la longueur est supérieure à la longueur de la ligne
NB: les points sont renvoyés dans l'ordre en partant du premier point.
English: First points of the line. | public static DirectPosition | projection(DirectPosition M, DirectPosition A, DirectPosition B) | public static DirectPosition | projection(DirectPosition dp, GM_LineString LS) Projection du point sur la polyligne. | public static DirectPosition | projection(DirectPosition dp, GM_Aggregate aggr) Projection du point sur l'aggregat;
ATTENTION: ne fonctionne que si l'aggregat ne contient que des GM_Point et GM_LineString. | public static boolean | sensDirect(DirectPositionList pts) Détermine si une liste de points tourne dans le sens direct ou non. | public static boolean | superposes(DirectPosition pt1, DirectPosition pt2) Teste si 2 DirectPosition ont les mêmes coordonnées. | public static boolean | superposes(GM_Point pt1, GM_Point pt2) Teste si 2 GM_Point ont les mêmes coordonnées. | public static double | surface(GM_Polygon poly) Surface d'un polygone (trous non gérés). | public static double | surface(DirectPositionList pts) Surface d'un polygone (liste de points supposée fermée). | public static DirectPosition | translate(DirectPosition P, Vecteur V) | public static GM_Object | unionRobuste(GM_Object A, GM_Object B, double min, double max) Version plus robuste mais aussi potentiellement faussée de l'union. |
abscisseCurviligne | public static double abscisseCurviligne(GM_LineString ls, int i)(Code) | | Abscisse curviligne du ieme point de la ligne ls.
English: curvilinear abscisse of the ith point
author: Mustière |
barycentre2D | public static DirectPosition barycentre2D(GM_Polygon poly)(Code) | | Barycentre 2D (approximatif).
Il est défini comme le barycentre des points intermédiaires du contour,
ce qui est très approximatif
English: Center of the points of the polygon.
author: Mustière |
bufferSurfaces | public static void bufferSurfaces(Population popSurf, double tailleBuffer)(Code) | | Dilate les surfaces de la population.
English: dilates surfaces
|
calculeZ | public static GM_LineString calculeZ(GM_LineString ligne)(Code) | | Attribue par interpolation un Z aux points d'une ligne en connaissant le Z
des extrémités.
English: Z interpolation
author: : Arnaud Lafragueta |
compileArcs | public static GM_LineString compileArcs(List geometries)(Code) | | Mise bout à bout de plusieurs GM_LineString pour constituer une nouvelle GM_LineString
La liste en entrée contient des GM_LineString.
La polyligne créée commence sur l'extrémité libre de la première
polyligne de la liste.
English: Combination of lines
author: : Mustière |
derniersPoints | public static DirectPositionList derniersPoints(GM_LineString ls, double longueur)(Code) | | Derniers points intermédiaires de la ligne ls, situés à moins
de la longueur curviligne passée en paramètre du point final.
Renvoie null si la longueur est négative.
Renvoie le dernier point seulement si la longueur est 0.
Renvoie tous les points si la longueur est supérieure à la longueur de la ligne.
NB: les points sont renvoyés dans l'ordre en partant du dernier point
(ordre inverse par rapport à la géoémtrie initiale).
English: Last points of the line.
author: Mustière |
directOffset | public static GM_LineString directOffset(GM_LineString ls, double offset)(Code) | | Calcul d'un offset direct (demi-buffer d'une ligne, ou décalage à gauche).
Le paramètre offset est la taille du décalage.
English: shift of a line on the left
author: Bonin, Rousseaux. |
directionPrincipale | public static Angle directionPrincipale(DirectPositionList listePts)(Code) | | Methode qui donne l'angle (radians) par rapport à l'axe des x de la droite passant
au mieux au milieu d'un nuage de points (regression par moindres carrés).
Cet angle (défini à pi près) est entre 0 et pi.
English: Linear approximation
author: : grosso |
directionPrincipaleOrientee | public static Angle directionPrincipaleOrientee(DirectPositionList listePts)(Code) | | Methode qui donne l'angle dans [0,2*pi[ par rapport à l'axe des x,
de la droite orientée passant au mieux au milieu d'un nuage de points ordonnés
(regression par moindres carrés).
L'ordre des points en entrée est important, c'est lui qui permet de donner
l'angle à 2.pi près.
Exemple: la liste des points peut correspondre à n points d'un arc, l'angle
représente alors l'orientation générale de ces points, en prenant le premier
pour point de départ.
English: Linear approximation
author: : grosso |
echantillone | public static GM_LineString echantillone(GM_LineString ls, double pas)(Code) | | Méthode pour suréchantillonner une GM_LineString.
Des points intermédiaires écartés du pas sont ajoutés sur chaque segment
de la ligne ls, à partir du premier point de chaque segment.
(voir aussi echantillonePasVariable pour une autre méthode )
English: Resampling of a line
author: Bonin, Rousseaux. |
echantillonePasVariable | public static GM_LineString echantillonePasVariable(GM_LineString ls, double pas)(Code) | | Méthode pour suréchantillonner une GM_LineString.
A l'inverse de la méthode "echantillone", le pas d'echantillonage
diffère sur chaque segment de manière à ce que l'on échantillone chaque
segment en différents mini-segments tous de même longueur.
Le pas en entrée est le pas maximum autorisé.
English : Resampling of a line
author: Grosso. |
fusionneSurfaces | public static void fusionneSurfaces(Population popSurf)(Code) | | Fusionne les surfaces adjacentes d'une population.
NB: quand X objets sont fusionnés, un des objets (au hasard) est gardé
avec ses attributs et sa géoémtrie est remplacée par celle fusionnée.
English: aggregation of surfaces
|
indice2D | public static int indice2D(DirectPositionList dpl, DirectPosition dp)(Code) | | Teste la présence d'un DirectPosition (égalité 2D) dans une
DirectPositionList.
Renvoie -1 si le directPosition n'est pas dans la liste
English: tests if the line contains the point (in 2D)
|
indice3D | public static int indice3D(DirectPositionList dpl, DirectPosition dp)(Code) | | Teste la présence d'un DirectPosition (égalité 3D) dans une
DirectPositionList.
Renvoie -1 si le directPosition n'est pas dans la liste
English: tests if the line contains the point (in 3D)
|
indirectOffset | public static GM_LineString indirectOffset(GM_LineString ls, double offset)(Code) | | Calcul d'un offset indirect (demi-buffer d'une ligne, ou décalage à droite).
Le paramètre offset est la taille du décalage.
English: shift of a line on the right
author: Bonin, Rousseaux. |
intersectionRobuste | public static GM_Object intersectionRobuste(GM_Object A, GM_Object B, double min, double max)(Code) | | Version plus robuste mais aussi potentiellement faussée de l'intersection.
Si JTS plante au calcul d'intersection, on filtre les surfaces avec Douglas et Peucker,
progressivement avec 10 seuils entre min et max.
English: Robust intersection of objects (to bypass JTS bugs)
author: : Mustière |
milieu | public static DirectPosition milieu(GM_LineString ls)(Code) | | Coordonnées du point situé sur au milieu de la ligne.
English: Point in the middle of the line
author: Mustière |
pointEnAbscisseCurviligne | public static DirectPosition pointEnAbscisseCurviligne(GM_LineString ls, double abscisse)(Code) | | Coordonnées du point situé sur la ligne à l'abscisse curviligne passée en paramètre.
Renvoie Null si l'abscisse est négative ou plus grande que la longueur de la ligne.
English: Point located at the curvilinear abscisse
author: Mustière |
premiersPoints | public static DirectPositionList premiersPoints(GM_LineString ls, double longueur)(Code) | | Premiers points intermédiaires de la ligne ls, situés à moins
de la longueur curviligne passée en paramètre du point initial.
Renvoie null si la longueur est négative.
Renvoie le premier point si et seulement si la longueur est 0.
Renvoie tous les points si la longueur est supérieure à la longueur de la ligne
NB: les points sont renvoyés dans l'ordre en partant du premier point.
English: First points of the line.
author: Mustière |
projection | public static DirectPosition projection(DirectPosition dp, GM_LineString LS)(Code) | | Projection du point sur la polyligne.
En théorie, il peut y avoir plusieurs points projetés, mais dans ce cas
cette méthode n'en renvoie qu'un seul (le premier dans le sens de parcours
de la ligne).
English: Projects M on the lineString
author: Mustière |
projection | public static DirectPosition projection(DirectPosition dp, GM_Aggregate aggr)(Code) | | Projection du point sur l'aggregat;
ATTENTION: ne fonctionne que si l'aggregat ne contient que des GM_Point et GM_LineString.
En théorie, il peut y avoir plusieurs points projetés, mais dans ce cas
cette méthode n'en renvoie qu'un seul.
English: Projects M on the agregate
author: Mustière |
sensDirect | public static boolean sensDirect(DirectPositionList pts)(Code) | | Détermine si une liste de points tourne dans le sens direct ou non.
NB : La liste de points est supposée fermée (premier point = dernier point).
NB : renvoie true pour une surface dégénérée.
English : orientation of a polygon (direct rotation?)
|
superposes | public static boolean superposes(DirectPosition pt1, DirectPosition pt2)(Code) | | Teste si 2 DirectPosition ont les mêmes coordonnées.
English: Tests the equality of geometries
|
superposes | public static boolean superposes(GM_Point pt1, GM_Point pt2)(Code) | | Teste si 2 GM_Point ont les mêmes coordonnées.
English: Tests the equality of geometries
|
surface | public static double surface(GM_Polygon poly)(Code) | | Surface d'un polygone (trous non gérés).
Utile pour pallier aux déficiences de JTS qui n'accèpte pas les géométries dégénérées.
Le calcul est effectué dans un repère local centré sur le premier point
de la surface, ce qui est utile pour minimiser les erreurs de calcul
si on manipule de grandes coordonnées).
English: surface of a polygon
|
surface | public static double surface(DirectPositionList pts)(Code) | | Surface d'un polygone (liste de points supposée fermée).
English: surface of a polygon
|
translate | public static DirectPosition translate(DirectPosition P, Vecteur V)(Code) | | Renvoie le point translaté de P avec le vecteur V;
Contrairement au "move" de DirectPosition, on ne deplace pas le point P
English : Shift of a point
|
unionRobuste | public static GM_Object unionRobuste(GM_Object A, GM_Object B, double min, double max)(Code) | | Version plus robuste mais aussi potentiellement faussée de l'union.
Si JTS plante au calcul d'union, on filtre les surfaces avec Douglas et Peucker,
progressivement avec 10 seuils entre min et max.
English: Robust union of objects (to bypass JTS bugs)
author: : Mustière |
|
|