Polygon
extends Geometry
in package
Polygone au sens GeoJSON, cad avec une limite extérieure et éventuellement des limites intérieures ou trous
L'extérieur contient au moins 4 positions. Chaque intérieur contient au moins 4 positions et est contenu dans l'extérieur sans l'intersecter. Les intérieurs ne s'intersectent pas 2 à 2
Table of Contents
Constants
- ErrorFromGeoArray = 'Geometry::ErrorFromGeoArray'
- ErrorInters = 'Polygon::ErrorInters'
- HOMOGENEOUSTYPES = ['Point', 'LineString', 'Polygon', 'MultiPoint', 'MultiLineString', 'MultiPolygon']
- Liste des types de géométries homogènes
Properties
- $coords : TLLPos
- $ePrecision : int
- nbre de chiffres après la virgule à conserver pour les coord. géo.
- $precision : int
Methods
- __construct() : mixed
- fonction d'initialisation valable pour toutes les géométries homogènes
- __toString() : string
- génère la réprésentation string GeoJSON
- aPos() : TPos
- retourne un point de la géométrie
- area() : float
- Calcule la surface du polygone.
- asArray() : array<string, string|TPos|TLPos|TLLPos|TLLLPos>
- génère la représentation Php du GeoJSON
- center() : TPos
- renvoie le barycentre d'une géométrie
- decompose() : array<int, Point|LineString|Polygon>
- Décompose une géométrie en une liste de géométries élémentaires (Point|LineString|Polygon)
- distanceToPos() : float
- distance min. d'une géométrie à une position
- ebox() : EBox
- retourne la EBox de la géométrie considérée comme euclidienne
- eltTypes() : array<int, string>
- retourne la liste des types élémentaires ('Point','LineString','Polygon') contenus dans la géométrie
- fromGeoArray() : Geometry|GeometryCollection
- crée une géométrie à partir du json_decode() d'une géométrie GeoJSON
- gbox() : GBox
- retourne la GBox de la géométrie considérée comme géographique
- geoms() : array<int, object>
- Retourne la liste des primitives contenues dans l'objet sous la forme d'objets Point -> [], MutiPoint->[Point], LineString->[Point], MultiLineString->[LineString], Polygon->[LineString], MutiPolygon->[Polygon]
- inters() : bool
- teste l'intersection entre les 2 polygones ou multi-polygones
- nbreOfPos() : int
- pointInPolygon() : bool
- teste si la position est dans le polygone
- reproject() : Geometry
- reprojète ue géométrie, prend en paramètre une fonction de reprojection d'une position, retourne un objet géométrie
- segs() : array<int, Segment>
- liste des segments constituant le polygone
- test_inters() : void
- test_pointInPolygon() : void
- type() : string
- retourne le nom du type GeoJSON qui est le nom de la classe sans l'espace de nom
Constants
ErrorFromGeoArray
public
mixed
ErrorFromGeoArray
= 'Geometry::ErrorFromGeoArray'
ErrorInters
public
mixed
ErrorInters
= 'Polygon::ErrorInters'
HOMOGENEOUSTYPES
Liste des types de géométries homogènes
public
mixed
HOMOGENEOUSTYPES
= ['Point', 'LineString', 'Polygon', 'MultiPoint', 'MultiLineString', 'MultiPolygon']
Properties
$coords read-only
public
TLLPos
$coords
L 1ère liste de positions correspond à l'anneau extérieur, les autres aux anneaux intérieurs
$ePrecision
nbre de chiffres après la virgule à conserver pour les coord. géo.
public
static int
$ePrecision
= 1
$precision
public
static int
$precision
= 6
Methods
__construct()
fonction d'initialisation valable pour toutes les géométries homogènes
public
__construct(TLLPos $coords) : mixed
Parameters
- $coords : TLLPos
__toString()
génère la réprésentation string GeoJSON
public
__toString() : string
Return values
stringaPos()
retourne un point de la géométrie
public
aPos() : TPos
Return values
TPosarea()
Calcule la surface du polygone.
public
area() : float
L'anneau extérieur est dans le sens inverse des aiguilles d'une montre, et les trous sont dans le sens des aiguilles d’une montre.
Return values
floatasArray()
génère la représentation Php du GeoJSON
public
asArray() : array<string, string|TPos|TLPos|TLLPos|TLLLPos>
Return values
array<string, string|TPos|TLPos|TLLPos|TLLLPos>center()
renvoie le barycentre d'une géométrie
public
center() : TPos
Return values
TPosdecompose()
Décompose une géométrie en une liste de géométries élémentaires (Point|LineString|Polygon)
public
decompose() : array<int, Point|LineString|Polygon>
Return values
array<int, Point|LineString|Polygon>distanceToPos()
distance min. d'une géométrie à une position
public
distanceToPos(array<string|int, mixed> $pos) : float
Parameters
- $pos : array<string|int, mixed>
Return values
floatebox()
retourne la EBox de la géométrie considérée comme euclidienne
public
ebox() : EBox
Return values
EBoxeltTypes()
retourne la liste des types élémentaires ('Point','LineString','Polygon') contenus dans la géométrie
public
eltTypes() : array<int, string>
Return values
array<int, string>fromGeoArray()
crée une géométrie à partir du json_decode() d'une géométrie GeoJSON
public
static fromGeoArray(TGeoJsonGeometry $geom) : Geometry|GeometryCollection
Parameters
- $geom : TGeoJsonGeometry
Return values
Geometry|GeometryCollectiongbox()
retourne la GBox de la géométrie considérée comme géographique
public
gbox() : GBox
Return values
GBoxgeoms()
Retourne la liste des primitives contenues dans l'objet sous la forme d'objets Point -> [], MutiPoint->[Point], LineString->[Point], MultiLineString->[LineString], Polygon->[LineString], MutiPolygon->[Polygon]
public
geoms() : array<int, object>
Return values
array<int, object>inters()
teste l'intersection entre les 2 polygones ou multi-polygones
public
inters(Geometry $geom[, bool $verbose = false ]) : bool
Parameters
- $geom : Geometry
- $verbose : bool = false
Return values
boolnbreOfPos()
public
nbreOfPos() : int
Return values
intpointInPolygon()
teste si la position est dans le polygone
public
pointInPolygon(TPos $pos) : bool
Parameters
- $pos : TPos
Return values
boolreproject()
reprojète ue géométrie, prend en paramètre une fonction de reprojection d'une position, retourne un objet géométrie
public
reproject(callable $reprojPos) : Geometry
Parameters
- $reprojPos : callable
Return values
Geometrysegs()
liste des segments constituant le polygone
public
segs() : array<int, Segment>
Return values
array<int, Segment>test_inters()
public
static test_inters() : void
test_pointInPolygon()
public
static test_pointInPolygon() : void
type()
retourne le nom du type GeoJSON qui est le nom de la classe sans l'espace de nom
public
type() : string