RelationsService
in package
Table of Contents
- $dataSet : RelatedDataSet|DependentDataSet
- $errors : array<string|int, mixed>
- $scriptService : DataSetScriptService
- __construct() : mixed
- getErrors() : array<string|int, mixed>
- setArea() : void
- setCategory() : bool
- setLength() : void
- updateBarycenter() : void
- updateByGeometryHierarchy() : void
- updateGeometry() : void
- Update relation geometry members(ways/nodes)
- updateGeometryForParentsAndSelf() : array<string|int, mixed>
- updatePointGeometry() : void
- addBarycenterError() : void
- addError() : void
- buildWay() : void
- buildWaysForRing() : array<string|int, mixed>
- createBarycenterNode() : NodeEntity
- createMultiPointBarycenter() : array<string|int, mixed>|null
- createPointBarycenter() : ObjectId|null
- createWay() : void
- deleteRelationWays() : void
- getCoordinates() : array<string|int, mixed>
- getFirstNodeId() : ObjectId|null
- getMultiPolygonCoordinates() : array<string|int, mixed>
- getNodesCoordinates() : array<string|int, mixed>
- getPolygonCoordinates() : array<string|int, mixed>
- maybeMultiLineString() : bool
- preloadParents() : array<string|int, RelationEntity>
- removeBarycenterNodes() : void
- setBarycenter() : void
- throwInvalidMemberGeometryType() : void
- throwInvalidMemberType() : void
- updateLineStringGeometry() : void
- updateMultiLineStringGeometry() : void
- updateMultiPointGeometry() : void
- updateMultiPolygonGeometry() : void
- updatePolygonGeometry() : void
- updateWay() : void
Properties
$dataSet
private
RelatedDataSet|DependentDataSet
$dataSet
$errors
private
array<string|int, mixed>
$errors
= []
$scriptService
private
DataSetScriptService
$scriptService
Methods
__construct()
public
__construct(RelatedDataSet|DependentDataSet $dataSet) : mixed
Parameters
- $dataSet : RelatedDataSet|DependentDataSet
Return values
mixed —getErrors()
public
getErrors() : array<string|int, mixed>
Return values
array<string|int, mixed> —setArea()
public
setArea(RelationEntity|FeatureEntity $object, Polygon|MultiPolygon $geometry) : void
Parameters
- $object : RelationEntity|FeatureEntity
- $geometry : Polygon|MultiPolygon
Return values
void —setCategory()
public
setCategory(ObjectId $relationId, ObjectId $categoryId, DataSetLogEntity $log, UserEntity $user) : bool
Parameters
- $relationId : ObjectId
- $categoryId : ObjectId
- $log : DataSetLogEntity
- $user : UserEntity
Tags
Return values
bool —setLength()
public
setLength(RelationEntity|FeatureEntity $object, LineString|MultiLineString $geometry) : void
Parameters
- $object : RelationEntity|FeatureEntity
- $geometry : LineString|MultiLineString
Return values
void —updateBarycenter()
public
updateBarycenter(RelationEntity $relation) : void
Parameters
- $relation : RelationEntity
Return values
void —updateByGeometryHierarchy()
public
updateByGeometryHierarchy(array<string|int, mixed> &$updatedRelations[, ObjectId|null $relationId = null ]) : void
Parameters
- $updatedRelations : array<string|int, mixed>
- $relationId : ObjectId|null = null
Return values
void —updateGeometry()
Update relation geometry members(ways/nodes)
public
updateGeometry(RelationEntity $relation) : void
Parameters
- $relation : RelationEntity
Tags
Return values
void —updateGeometryForParentsAndSelf()
public
updateGeometryForParentsAndSelf(array<string|int, ObjectId> $relationsIds) : array<string|int, mixed>
Parameters
- $relationsIds : array<string|int, ObjectId>
Return values
array<string|int, mixed> —updatePointGeometry()
public
updatePointGeometry(RelationEntity $relation) : void
Parameters
- $relation : RelationEntity
Tags
Return values
void —addBarycenterError()
private
addBarycenterError(RelationEntity $relation) : void
Parameters
- $relation : RelationEntity
Return values
void —addError()
private
addError(ErrorInterface $error) : void
Parameters
- $error : ErrorInterface
Return values
void —buildWay()
private
buildWay(array<string|int, mixed> &$oldWays, NodeEntity $nodeFirst, NodeEntity $nodeSecond, RelationEntity $relation) : void
Parameters
- $oldWays : array<string|int, mixed>
- $nodeFirst : NodeEntity
- $nodeSecond : NodeEntity
- $relation : RelationEntity
Return values
void —buildWaysForRing()
private
buildWaysForRing(array<string|int, mixed> $rings, array<string|int, mixed> &$oldWays, RelationEntity $relation) : array<string|int, mixed>
Parameters
- $rings : array<string|int, mixed>
- $oldWays : array<string|int, mixed>
- $relation : RelationEntity
Return values
array<string|int, mixed> —createBarycenterNode()
private
createBarycenterNode(RelationEntity $relation, Point $barycenter) : NodeEntity
Parameters
- $relation : RelationEntity
- $barycenter : Point
Return values
NodeEntity —createMultiPointBarycenter()
private
createMultiPointBarycenter(RelationEntity $relation, MultiPoint|null $barycenter) : array<string|int, mixed>|null
Parameters
- $relation : RelationEntity
- $barycenter : MultiPoint|null
Return values
array<string|int, mixed>|null —createPointBarycenter()
private
createPointBarycenter(RelationEntity $relation, Point|null $barycenter) : ObjectId|null
Parameters
- $relation : RelationEntity
- $barycenter : Point|null
Return values
ObjectId|null —createWay()
private
createWay(NodeEntity $nodeFirst, NodeEntity $nodeSecond, RelationEntity $relation) : void
Parameters
- $nodeFirst : NodeEntity
- $nodeSecond : NodeEntity
- $relation : RelationEntity
Return values
void —deleteRelationWays()
private
deleteRelationWays(ObjectId $relationId) : void
Parameters
- $relationId : ObjectId
Return values
void —getCoordinates()
private
getCoordinates(RelationEntity $relation) : array<string|int, mixed>
Parameters
- $relation : RelationEntity
Return values
array<string|int, mixed> —getFirstNodeId()
private
getFirstNodeId(RelationEntity $childRelation) : ObjectId|null
Parameters
- $childRelation : RelationEntity
Return values
ObjectId|null —getMultiPolygonCoordinates()
private
getMultiPolygonCoordinates(RelationEntity $relation) : array<string|int, mixed>
Parameters
- $relation : RelationEntity
Return values
array<string|int, mixed> —getNodesCoordinates()
private
getNodesCoordinates(array<string|int, ObjectId> $nodeIds) : array<string|int, mixed>
Parameters
- $nodeIds : array<string|int, ObjectId>
Return values
array<string|int, mixed> —getPolygonCoordinates()
private
getPolygonCoordinates(RelationEntity $relation) : array<string|int, mixed>
Parameters
- $relation : RelationEntity
Return values
array<string|int, mixed> —maybeMultiLineString()
private
maybeMultiLineString(array<string|int, mixed> $members) : bool
Parameters
- $members : array<string|int, mixed>
Return values
bool —preloadParents()
private
preloadParents(array<string|int, ObjectId> $ids) : array<string|int, RelationEntity>
Parameters
- $ids : array<string|int, ObjectId>
Return values
array<string|int, RelationEntity> —removeBarycenterNodes()
private
removeBarycenterNodes(RelationEntity $relation) : void
Parameters
- $relation : RelationEntity
Return values
void —setBarycenter()
private
setBarycenter(RelationEntity $relation, Point|MultiPoint|null $barycenter) : void
Parameters
- $relation : RelationEntity
- $barycenter : Point|MultiPoint|null
Return values
void —throwInvalidMemberGeometryType()
private
throwInvalidMemberGeometryType(RelationEntity $relation) : void
Parameters
- $relation : RelationEntity
Tags
Return values
void —throwInvalidMemberType()
private
throwInvalidMemberType(RelationEntity $relation) : void
Parameters
- $relation : RelationEntity
Tags
Return values
void —updateLineStringGeometry()
private
updateLineStringGeometry(RelationEntity $relation) : void
Parameters
- $relation : RelationEntity
Tags
Return values
void —updateMultiLineStringGeometry()
private
updateMultiLineStringGeometry(RelationEntity $relation) : void
Parameters
- $relation : RelationEntity
Tags
Return values
void —updateMultiPointGeometry()
private
updateMultiPointGeometry(RelationEntity $relation) : void
Parameters
- $relation : RelationEntity
Tags
Return values
void —updateMultiPolygonGeometry()
private
updateMultiPolygonGeometry(RelationEntity $relation) : void
Parameters
- $relation : RelationEntity
Tags
Return values
void —updatePolygonGeometry()
private
updatePolygonGeometry(RelationEntity $relation) : void
Parameters
- $relation : RelationEntity
Tags
Return values
void —updateWay()
private
updateWay(WayEntity $way, NodeEntity $nodeFirst, NodeEntity $nodeSecond) : void
Parameters
- $way : WayEntity
- $nodeFirst : NodeEntity
- $nodeSecond : NodeEntity