Geometry
in package
abstract class Geometry - Gestion d'une Geometry GeoJSON (hors collection) et de quelques opérations
Les coordonnées sont conservées en array comme en GeoJSON et pas structurées avec des objets. Chaque type de géométrie correspond à une sous-classe concrète. Par défaut, la géométrie est en coordonnées géographiques mais les classes peuvent aussi être utilisées avec des coordonnées euclidiennes en utilisant des méthodes soécifiques préfixées par e.
Table of Contents
Constants
- ErrorFromGeoArray = 'Geometry::ErrorFromGeoArray'
- HOMOGENEOUSTYPES = ['Point', 'LineString', 'Polygon', 'MultiPoint', 'MultiLineString', 'MultiPolygon']
- Liste des types de géométries homogènes
Properties
- $coords : TPos|TLPos|TLLPos|TLLLPos
- $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
- 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]
- nbreOfPos() : int
- 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
- 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'
HOMOGENEOUSTYPES
Liste des types de géométries homogènes
public
mixed
HOMOGENEOUSTYPES
= ['Point', 'LineString', 'Polygon', 'MultiPoint', 'MultiLineString', 'MultiPolygon']
Properties
$coords read-only
public
TPos|TLPos|TLLPos|TLLLPos
$coords
Positions, stockées comme array, array(array), ... en fn de la sous-classe
$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(TPos|TLPos|TLLPos|TLLLPos $coords) : mixed
Parameters
- $coords : TPos|TLPos|TLLPos|TLLLPos
__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
abstract aPos() : TPos
Return values
TPosasArray()
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
abstract 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
abstract distanceToPos(TPos $pos) : float
Parameters
- $pos : TPos
Return values
floatebox()
retourne la EBox de la géométrie considérée comme euclidienne
public
abstract ebox() : EBox
Return values
EBoxeltTypes()
retourne la liste des types élémentaires ('Point','LineString','Polygon') contenus dans la géométrie
public
abstract 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
abstract 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
abstract geoms() : array<int, object>
Return values
array<int, object>nbreOfPos()
public
abstract nbreOfPos() : int
Return values
intreproject()
reprojète ue géométrie, prend en paramètre une fonction de reprojection d'une position, retourne un objet géométrie
public
abstract reproject(callable $reprojPos) : Geometry
Parameters
- $reprojPos : callable
Return values
Geometrytype()
retourne le nom du type GeoJSON qui est le nom de la classe sans l'espace de nom
public
type() : string