|
|
|
|
- Propriétés spécifiques à la description des variables de type Polygone2D
- Fonctions manipulant le type Polygone2D
Polygone2D (Type of variable) In french: Polygone2D
Le type Polygone2D permet de définir toutes les caractéristiques avancées d'un polygone dans un plan. Les caractéristiques de ce polygone peuvent être définies et modifiées à l'aide de différentes propriétés WLangage. Caractéristiques d'un polygone en 2 dimensions : Un polygone en 2 dimensions est constitué : - d'un contour, qui correspond à une polyligne en 2 dimensions, simple et fermée.
- optionnellement d'un ou de plusieurs trous, qui sont également des polylignes en 2 dimensions simples et fermées.
Les trous ne peuvent pas être imbriqués les uns dans les autres ni avoir d'intersections entre eux ou avec les contours.
Un polygone doit vérifier un ensemble de propriétés pour être considéré valide : - Son contour est une polyligne simple (pas d'intersection avec elle-même) et fermée (son dernier point est égal à son premier point).
- Les points du contour doivent être ordonnés dans le sens des aiguilles d'une montre.
- Les trous doivent être ordonnés dans le sens inverse des aiguilles d'une montre.
- Les trous sont également simples et fermés.
- Les trous d'un polygone ne peuvent pas se croiser. Ils peuvent avoir des points d'intersections, mais ne peuvent pas avoir de points de leurs intérieurs en commun. Les intersections éventuelles sont donc toutes tangentes. Cela concerne également les intersections entre le contour et les trous d'un polygone.
- Un polygone ne peut avoir de "pics" / "lignes" sans intérieur.
- L'intérieur d'un polygone est un ensemble connexe de points. A partir d'un point de la l'intérieur d'un polygone, on doit toujours pouvoir aller sur tous les points de cet intérieur du polygone sans jamais avoir besoin de traverser l'extérieur. Un trou ne doit donc jamais "couper en deux" l'intérieur d'un polygone.
Remarque : Pour plus de détails sur la déclaration de ce type de variable et l'utilisation des propriétés WLangage, consultez Déclaration d'une variable.
p is Polygon2D
Linestring2DAddPoint(p.Outline, 0, 0)
Linestring2DAddPoint(p.Outline, 1, 0)
Linestring2DAddPoint(p.Outline, 1, 1)
Linestring2DAddPoint(p.Outline, 0, 1)
Linestring2DAddPoint(p.Outline, 0, 0)
UnTrou is Linestring2D
Linestring2DAddPoint(UnTrou, 0.4, 0.4)
Linestring2DAddPoint(UnTrou, 0.4, 0.6)
Linestring2DAddPoint(UnTrou, 0.6, 0.6)
Linestring2DAddPoint(UnTrou, 0.6, 0.4)
Linestring2DAddPoint(UnTrou, 0.4, 0.4)
p.Trou.Ajoute(UnTrou)
p is Polygon2D
p.Contour.AjoutePoint(0, 0)
p.Contour.AjoutePoint(1, 0)
p.Contour.AjoutePoint(1, 1)
p.Contour.AjoutePoint(0, 1)
p.Contour.AjoutePoint(0, 0)
UnTrou is Linestring2D
UnTrou.AjoutePoint(0.4, 0.4)
UnTrou.AjoutePoint(0.4, 0.6)
UnTrou.AjoutePoint(0.6, 0.6)
UnTrou.AjoutePoint(0.6, 0.4)
UnTrou.AjoutePoint(0.4, 0.4)
p.Trou.Ajoute(UnTrou)
Properties Propriétés spécifiques à la description des variables de type Polygone2D Les propriétés suivantes peuvent être utilisées pour manipuler un polygone en 2 dimensions : | | | Nom de la propriété | Type manipulé | Effet |
---|
Contour | Polyligne2D | Contour du polygone. Ce contour correspond à une polyligne en 2 dimensions simple et fermée. | Trou | Tableau de Polyligne2D | Polylignes en 2 dimensions simples et fermées, présentes à l'intérieur du contour du polygone. | Type | Constante de type Entier | Type de la géométrie en cours. Dans le cas d'un polygone 2D, correspond à la constante tfPolygone2D. Cette propriété est disponible en lecture uniquement. |
Remarks Fonctions manipulant le type Polygone2D Les fonctions manipulant des variables de type Polygone2D sont les suivantes :
| | | Calculates the convex envelope of the specified Geometry. | | Allows you to obtain a corrected version of the specified Geometry. | | Finds out whether two Geometry s are spatially equal, i.e. whether the first Geometry is included in the second, and whether the second is included in the first. | | Calculate the area of a given Geometry. | | Determines whether an Geometry A contains an Geometry B. | | Returns the Geometry Receiver corresponding to the difference between two Geometry s. | | Determines whether two geometries are disjoint, i.e. whether their intersection is empty. | | Checks whether the specified Geometry is valid within the meaning of the OGC standard. | | Serialize an Geometry in Well Known Text (WKT) format. | | Returns the Geometry Receiver corresponding to the union between two Geometry s. | | Permet de savoir si tout point de la forme B se trouve à l'intérieur ou dans le contour de la forme A. C'est équivalent à renvoyer vrai s'il n'existe aucun point de B dans l'extérieur de A. | | Permet de savoir si tout point de la forme A se trouve à l'intérieur ou dans le contour de la forme B. C'est équivalent à renvoyer vrai s'il n'existe aucun point de A dans l'extérieur de B. | | Permet de savoir si deux formes se croisent. La notion de croisement est très spécifique. Deux formes se croisent si :
- Les intérieurs de la forme A et de la forme B ont au moins un point en commun.
- L'intérieur de A n'a pas tous ses points dans l'intérieur de B, et vice-versa : A ne doit pas contenir B et B ne doit pas contenir A.
- L'intersection des intérieurs doit avoir une dimension inférieure au maximum de la dimension des arguments. Exemple 1 : deux polygones (qui sont donc de dimension 2) ayant une partie de leur intérieur en commun ne se croisent pas, car leur intersection est également un polygone, dont la dimension est égale à la dimension des deux arguments (2). Toutefois, ces polygones se chevauchent et s'intersectent. Exemple 2 : une polyligne passant au travers d'un polygone mais ayant des points hors de ce polygone croise le polygone, car l'intersection entre les deux formes est une polyligne, dont la dimension est inférieure à celle du polygone. | | Calcule la distance entre deux formes. Pour les formes autres que les points, cette distance correspond à la distance entre les points les plus proches que l'on puisse trouver entre les deux formes. Pour les formes 2D, calcule la distance en utilisant la norme euclidienne (Pythagore). La distance est renvoyée dans la même unité que celle donnée aux coordonnées des points. Pour les formes géographiques, utilise le modèle approché de la Terre WGS84 pour prendre en compte sa courbure. La distance est renvoyée en mètres. | | Vérifie si deux formes ont une intersection non vide. Cette fonction ne renvoie pas la forme résultant de l'intersection, mais seulement si l'intersection existe ou non. Elle est donc beaucoup plus rapide que la fonction de calcul d'intersection entre deux formes. | | Calcule l'intersection entre la première forme passée en paramètre et la seconde. Cela renvoie une nouvelle forme, qui contient une collection de formes d'un type donné : MultiPoint, MultiPolyligne, ou MultiPolygone. Dans le cas où l'intersection entre deux formes est constituée d'un seul élément, il s'agit tout de même d'une collection, avec un seul élément.
Dans le cas où l'intersection est vide (si les géométries passées en paramètre sont disjointes), la collection renvoyée est vide.
Dans le cas où le résultat de l'intersection est disjoint (par exemple en faisant l'intersection de deux polygones en "U"), la collection contient plusieurs éléments. Si le type des formes passées en paramètres est connu, alors le type du résultat est également pré-déterminé. La plupart des applications géospatiales ne travaillant pas avec des colonnes de données hétérogènes (rubrique de type "Forme" autorisant de mixer des points, lignes, polygones etc au sein d'une même rubrique), il n'y a donc en général pas besoin de vérifier le type des formes renvoyées par la fonction. | | Permet de savoir si les formes se chevauchent, c'est-à -dire si elles ont la même dimension et que leurs intérieurs ont une intersection non vide de la même dimension que les formes passées en paramètres, différente des deux paramètres. Il faut de plus que chaque forme ait au moins un point à l'intérieur de l'autre. | | Sérialise une forme géométrique en utilisant le format DSV spécifié. Ce format permet de choisir quels éléments textuels séparent les différents éléments géométriques dans le texte. Important : la chaîne renvoyée par cette fonction est TOUJOURS une chaîne ANSI ne pouvant contenir que des caractères ASCII.
Il en va de même des séparateurs, qui doivent tous être des chaînes ANSI avec seulement des caractères ASCII. | | Renvoie vrai si les deux formes se touchent. Deux formes se touchent si les contours des deux formes ont une intersection, mais que les intérieurs n'ont *pas* d'intersection. Deux formes se touchent si elles ont un point ou un segment de leurs contours en commun. Voir les images ci-dessous pour un exemple de chacune des trois situations. | | Renvoie vrai si la forme A est complètement dans la forme B, c'est-à -dire que B contient complètement A. En détail :
- Il n'existe pas de point de A dans l'extérieur de B : tout point de A est soit dans l'intérieur de B, soit dans son contour.
- Il existe au moins un point de l'intérieur de A dans l'intérieur de B. | | Calculates the perimeter of a given Geometry (Polygon or multiPolygon). | | Calculate the length of a given Geometry. | | Calculate the symmetrical difference between two geometries. |
This page is also available for…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|