MorphAL 0.1

fr.ign.cogit.alpage.morphal.plugindeprecated
Class JtsUtil

java.lang.Object
  extended by fr.ign.cogit.alpage.morphal.plugindeprecated.JtsUtil

public class JtsUtil
extends java.lang.Object

Cette classe contient des fonction g�om�triques courantes. Elle fonctionne sur des g�om�tries JTS.

Author:
Julien Gaffuri et Julien Perret

Constructor Summary
JtsUtil()
           
 
Method Summary
static void addActionListener(java.awt.event.ActionListener l)
          Adds an ActionListener to the button.
static Polygon affinite(Polygon geom, Coordinate c, double angle, double coef)
          Calcul de l'affinit� vectorielle.
static Polygon affinite(Polygon geom, double angle, double scale)
          Calcul de l'affinit� vectorielle.
static double circularite(Polygon poly)
          Calcule l'indice de circularit� de Miller pour un polygone.
static double convexite(Geometry geom)
          Calcul de la convexit� d'un polygone.
static double elongation(Geometry geom)
          Calcul de l'�longation d'une g�om�trie.
static Geometry fermeture(Geometry geometry, double distance, double distanceTolerance, int quadrantSegments, int endCapStyle, GeometryFactory factory)
          Calcul de la fermeture d'une g�om�trie quelconque.
static Polygon fermeture(Polygon polygon, double distance, double distanceTolerance, int quadrantSegments, int endCapStyle, GeometryFactory factory)
          Calcul de la fermeture d'un polygone.
static java.util.List<Geometry> getListeGeometriesIntersectant(Geometry geom, java.util.List<Geometry> elements)
          D�termine la liste des g�om�tries appartenant � la liste elements qui intersectent la g�om�trie geom.
static java.util.List<Geometry> getListeGeometriesIntersectant(Point point, java.util.List<Geometry> elements)
          D�termine la liste des g�om�tries appartenant � la liste elements qui intersectent le point point.
static Point getPointLePlusLoin(Point pt, Polygon poly)
          D�termine le point d'un polygone le plus loin d'un autre point.
static Point getPointLePlusProche(Point pt, Polygon poly)
          D�termine le point d'un polygone le plus proche d'un autre point.
static Polygon homothetie(Polygon geom, double scale)
          Calcule l'homoth�tie d'une g�om�trie.
static Polygon homothetie(Polygon geom, double x0, double y0, double scale)
          Calcule l'homoth�tie d'une g�om�trie.
static double orientation(Geometry geom)
          Orientation d'une geometrie (en degr�s entre 0 et 180, par rapport a l'axe Ox). c'est l'orientation du PPRE.
static double plusPetitCote(Polygon poly)
          Calcule la longueur du plus petit c�t� d'un polygone.
static Polygon PPRE(Geometry geom)
          Plus Petit Rectangle Englobant d'une g�om�trie.
static Polygon PPREAireCible(Geometry geom, double aireCible)
          Plus Petit Rectangle Englobant d'une g�om�trie respectant un aire donn�e.
static Polygon PPREAirePreservee(Geometry geom)
          Plus Petit Rectangle Englobant d'une g�om�trie pr�servant son aire.
static Polygon rotation(Polygon geom, Coordinate c, double angle)
          Effectue une rotation sur une g�om�trie.
static Polygon rotation(Polygon geom, double angle)
          Effectue une rotation sur une g�om�trie autour de son centroide.
static void supprimeTrous(MultiPolygon mp)
          Supprime les trous d'un multipolygone, i.e. supprime les trous de tous les polygones d'un multipolygone.
static void supprimeTrous(Polygon poly)
          Supprime les trous d'un polygone.
static Polygon translation(Polygon geom, double dx, double dy)
          Translate une g�om�trie.
static Geometry union(java.util.Collection<Geometry> geometryCollection)
          Union d'une collection de Polygones
static Geometry union(Geometry[] geometryArray)
          Union d'un tableau de Polygones
static Geometry unionLineString(java.util.List<Geometry> geometryCollection)
          Union d'une collection de LineStrings.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JtsUtil

public JtsUtil()
Method Detail

addActionListener

public static void addActionListener(java.awt.event.ActionListener l)
Adds an ActionListener to the button.

Parameters:
l - the ActionListener to be added

getListeGeometriesIntersectant

public static java.util.List<Geometry> getListeGeometriesIntersectant(Point point,
                                                                      java.util.List<Geometry> elements)
D�termine la liste des g�om�tries appartenant � la liste elements qui intersectent le point point.

Parameters:
point - un point
elements - liste de g�om�tries
Returns:
liste des g�om�tries de la liste elements qui intersectent le point.

getListeGeometriesIntersectant

public static java.util.List<Geometry> getListeGeometriesIntersectant(Geometry geom,
                                                                      java.util.List<Geometry> elements)
D�termine la liste des g�om�tries appartenant � la liste elements qui intersectent la g�om�trie geom.

Parameters:
geom - une g�om�trie
elements - liste de g�om�tries
Returns:
liste des g�om�tries de la liste elements qui intersectent geom.

fermeture

public static Polygon fermeture(Polygon polygon,
                                double distance,
                                double distanceTolerance,
                                int quadrantSegments,
                                int endCapStyle,
                                GeometryFactory factory)
Calcul de la fermeture d'un polygone.

Parameters:
polygon - polygone de d�part
distance - distance utilis�e pour le buffer positif puis pour le buffer n�gatif
distanceTolerance - distance utilis�e pour la simplification par l'algorithme de Douglas-Peucker
quadrantSegments - nombre de segments utilis�s pour la simplification par l'algorithme de Douglas-Peucker
endCapStyle - type d'approximation utilis�e pour la simplification par l'algorithme de Douglas-Peucker
factory - factory pour la g�om�trie
Returns:
la fermeture du polygone pass� en param�tre

fermeture

public static Geometry fermeture(Geometry geometry,
                                 double distance,
                                 double distanceTolerance,
                                 int quadrantSegments,
                                 int endCapStyle,
                                 GeometryFactory factory)
Calcul de la fermeture d'une g�om�trie quelconque.

Parameters:
geometry - g�om�trie de d�part
distance - distance utilis�e pour le buffer positif puis pour le buffer n�gatif
distanceTolerance - distance utilis�e pour la simplification par l'algorithme de Douglas-Peucker
quadrantSegments - nombre de segments utilis�s pour la simplification par l'algorithme de Douglas-Peucker
endCapStyle - type d'approximation utilis�e pour la simplification par l'algorithme de Douglas-Peucker
factory - factory pour la g�om�trie
Returns:
la fermeture de la g�om�trie pass�e en param�tre

getPointLePlusLoin

public static Point getPointLePlusLoin(Point pt,
                                       Polygon poly)
D�termine le point d'un polygone le plus loin d'un autre point. Le polygone doit �tre convexe et sans trou. Determine the farest point of a polygon to another given point. The polygon must be convex and without hole.

Parameters:
pt - un point, a point
poly - un polygone convexe sans trou, a convex polygon without hole

getPointLePlusProche

public static Point getPointLePlusProche(Point pt,
                                         Polygon poly)
D�termine le point d'un polygone le plus proche d'un autre point. Determine the closer point of a polygon to another given point.

Parameters:
pt - un point, a point
poly - un polygone, a polygon

supprimeTrous

public static void supprimeTrous(Polygon poly)
Supprime les trous d'un polygone. Remove the holes from a polygon.

Parameters:
poly - un polygone, a polygon

supprimeTrous

public static void supprimeTrous(MultiPolygon mp)
Supprime les trous d'un multipolygone, i.e. supprime les trous de tous les polygones d'un multipolygone. Remove the holes from a multipolygon.

Parameters:
mp - un multipolyone, a multipolygon
See Also:
supprimeTrous(Polygon)

affinite

public static Polygon affinite(Polygon geom,
                               Coordinate c,
                               double angle,
                               double coef)
Calcul de l'affinit� vectorielle.

Parameters:
geom - une g�om�trie, a geometry
c - coordonn�es d'un point par lequel passe l'axe de l'affinit�
angle - angle de la direction de l'affinite, � partir de l'axe des x
coef - coefficient de l'homoth�tie
Returns:
polygone polygone r�sultant de l'application de l'affinit�, resulting polygon

affinite

public static Polygon affinite(Polygon geom,
                               double angle,
                               double scale)
Calcul de l'affinit� vectorielle. Cette m�thode utilise la m�thode prenant comme param�tre suppl�mentaire les coordonn�es d'un point par lequel passe l'axe de l'affinit�. Ici, on utilise le centro�de de la g�om�trie.

Parameters:
geom - une g�om�trie, a geometry
angle - angle de la direction de l'affinite, � partir de l'axe des x
scale - coefficient de l'homoth�tie
Returns:
polygone r�sultant de l'application de l'affinit�, resulting polygon
See Also:
affinite(Polygon, Coordinate, double, double)

PPREAirePreservee

public static Polygon PPREAirePreservee(Geometry geom)
Plus Petit Rectangle Englobant d'une g�om�trie pr�servant son aire. Smallest Enclosing Rectangle of a geometry preserving its area.

Parameters:
geom - une g�om�trie, a geometry
Returns:
le Plus Petit Rectangle Englobant, the Smallest Enclosing Rectangle

PPREAireCible

public static Polygon PPREAireCible(Geometry geom,
                                    double aireCible)
Plus Petit Rectangle Englobant d'une g�om�trie respectant un aire donn�e. Smallest Enclosing Rectangle of a geometry with a given area.

Parameters:
geom - une g�om�trie, a geometry
aireCible - aire vis�e, target area
Returns:
le Plus Petit Rectangle Englobant, the Smallest Enclosing Rectangle

PPRE

public static Polygon PPRE(Geometry geom)
Plus Petit Rectangle Englobant d'une g�om�trie. Smallest Enclosing Rectangle of a geometry.

Parameters:
geom - une g�om�trie, a geometry
Returns:
le Plus Petit Rectangle Englobant, the Smallest Enclosing Rectangle

homothetie

public static Polygon homothetie(Polygon geom,
                                 double x0,
                                 double y0,
                                 double scale)
Calcule l'homoth�tie d'une g�om�trie.

Parameters:
geom - g�om�trie, geometry
x0 - position en X du centre de l'homoth�tie, X position of the center of the operation
y0 - position en Y du centre de l'homoth�tie, Y position of the center of the operation
scale - facteur d'�chelle, scale factor
Returns:
polygon r�sultant de l'homoth�tie, resulting polygon

homothetie

public static Polygon homothetie(Polygon geom,
                                 double scale)
Calcule l'homoth�tie d'une g�om�trie.

Parameters:
geom - g�om�trie, geometry
scale - facteur d'�chelle, scale factor
Returns:
polygon r�sultant de l'homoth�tie, resulting polygon

translation

public static Polygon translation(Polygon geom,
                                  double dx,
                                  double dy)
Translate une g�om�trie. Translate a geometry.

Parameters:
geom - une g�om�trie, a geometry
dx - translation suivant l'axe des x, translation along the X axis
dy - translation suivant l'axe des Y, translation along the Y axis
Returns:
polygone r�sultant de la translation, resulting polygon.

rotation

public static Polygon rotation(Polygon geom,
                               Coordinate c,
                               double angle)
Effectue une rotation sur une g�om�trie. Rotate a geometry.

Parameters:
geom - une g�om�trie, a geometry
c - centre de la rotation, center of the rotation
angle - angle de rotation, angle of rotation
Returns:
polygone r�sultant de la rotation, resulting polygon.

rotation

public static Polygon rotation(Polygon geom,
                               double angle)
Effectue une rotation sur une g�om�trie autour de son centroide. Rotate a geometry around its centroid.

Parameters:
geom - une g�om�trie, a geometry
angle - angle de rotation, angle of rotation
Returns:
polygone r�sultant de la rotation, resulting polygon.

elongation

public static double elongation(Geometry geom)
Calcul de l'�longation d'une g�om�trie. L'elongation est un reel entre 0 et 1. 1: carr�, plus proche de 0: tend vers un segment C'est le quotient de la largeur et de la longueur du PPRE. Par convention, le r�sultat vaut -999.9 si le ppre n'existe pas (g�om�trie nulle ou vide par exemple)

Parameters:
geom - une g�om�trie, a geometry
Returns:
l'�longation du polygone pass� en param�tre, -999.9 si la g�om�trie est nulle ou vide.

orientation

public static double orientation(Geometry geom)
Orientation d'une geometrie (en degr�s entre 0 et 180, par rapport a l'axe Ox). c'est l'orientation du PPRE.

Parameters:
geom - une g�om�trie, a geometry
Returns:
l'orientation de la g�om�trie : 999.9 si le PPRE n'est pas defini

convexite

public static double convexite(Geometry geom)
Calcul de la convexit� d'un polygone. La convexit� est d�finie comme le rapport de l'aire du polygone par l'aire de son enveloppe convexe. La convexit� prends sa valeur entre 0 (peu convexe) et 1 (parfaitement convexe). La convexit� vaut -999.9 si elle n'est pas definie (quand l'enveloppe convexe est d'aire nulle)

Parameters:
geom - une g�om�trie, a geometry
Returns:
convexit� du polygone donn� en param�tre - prend sa valeur dans ]0,1] ou -999.9 si elle n'est pas definie

plusPetitCote

public static double plusPetitCote(Polygon poly)
Calcule la longueur du plus petit c�t� d'un polygone.

Parameters:
poly - un polygone, a polygon
Returns:
longueur du plus petit c�t� d'un polygone

circularite

public static double circularite(Polygon poly)
Calcule l'indice de circularit� de Miller pour un polygone. Cet indice, compris entre 0 et 1, vaut 1 si le polygone est parfaitement circulaire et tend vers 0 pour un segment. Cet indice n'est qu'un avatar de l'indice de compacit� de Gravelius K=Perim�tre / (2*sqrt(PI*Aire)). On v�rifie en effet simplement que K=1/sqrt(C) avec C l'indice de circularit�.

Parameters:
poly -
Returns:
indice de circularit� compris entre 0 et 1. Il vaut 1 si le polygone est un cercle parfait.

union

public static Geometry union(Geometry[] geometryArray)
Union d'un tableau de Polygones

Parameters:
geometryArray - tableau de Polygones JTS
Returns:
union des Polygones

union

public static Geometry union(java.util.Collection<Geometry> geometryCollection)
Union d'une collection de Polygones

Parameters:
geometryCollection - collection de Polygones JTS
Returns:
union des Polygones

unionLineString

public static Geometry unionLineString(java.util.List<Geometry> geometryCollection)
Union d'une collection de LineStrings.

Parameters:
geometryCollection - collection de LineStrings
Returns:
Union des LineString (une LineString)

MorphAL 0.1