FeatureBuilder
extends Injectable
in package
implements
AirlayLoggerDi, AirlayCollectionDi
Interfaces, Classes, Traits and Enums
- AirlayLoggerDi
- Interface AirlayLoggerDi
- AirlayCollectionDi
- Interface AirlayCollectionDi
Table of Contents
- MIN_AREA = 0.1
- $dataSetCollection : DependentDataSet|RelatedDataSet
- $errors : array<string|int, mixed>
- $featuresToDelete : array<string|int, mixed>
- $geocoder : SearchEngine
- $validator : SchemeValidator|null
- $warnings : array<string|int, mixed>
- $multiLineStringOptimizer : MultiLineStringOptimizer
- __construct() : mixed
- build() : FeatureEntity|null
- buildFeatures() : int
- Build feature in dataset
- getErrors() : array<string|int, ErrorInterface>
- getWarnings() : array<string|int, ErrorInterface>
- addErrorRecursive() : void
- addAddressError() : void
- addError() : void
- addPropertyErrors() : void
- checkArea() : void
- checkDuplicatePoints() : void
- checkMaxLength() : void
- checkSelfIntersect() : void
- findAddress() : string|null
- getBarycenterGeometry() : Point|MultiPoint|null
- getGeometry() : Geometry
- getNode() : NodeEntity
- getNodeGeometryById() : Point|null
- getObjectId() : string|int
- getObjectIdForErrorByNode() : string
- getRelationsNodes() : array<string|int, NodeEntity>|array<string|int, array<string|int, NodeEntity>>
- possibleGeocoding() : bool
- relationErrorProcess() : void
- setAddressByCoordinates() : void
- setAddressError() : void
- setBarycenter() : void
- setIsGeocodingError() : void
- throwNodeNotFoundError() : void
- throwSystemError() : void
- toPoints() : array<string|int, Point>|array<string|int, array<string|int, Point>>
- validateSchemeFields() : void
Constants
MIN_AREA
protected
mixed
MIN_AREA
= 0.1
Properties
$dataSetCollection
protected
DependentDataSet|RelatedDataSet
$dataSetCollection
$errors
protected
array<string|int, mixed>
$errors
= []
$featuresToDelete
protected
array<string|int, mixed>
$featuresToDelete
= []
$geocoder
protected
SearchEngine
$geocoder
$validator
protected
SchemeValidator|null
$validator
= null
$warnings
protected
array<string|int, mixed>
$warnings
= []
$multiLineStringOptimizer
private
MultiLineStringOptimizer
$multiLineStringOptimizer
Methods
__construct()
public
__construct(RelatedDataSet|DependentDataSet $dataSetCollection) : mixed
Parameters
- $dataSetCollection : RelatedDataSet|DependentDataSet
Return values
mixed —build()
public
build(RelationEntity $relation) : FeatureEntity|null
Parameters
- $relation : RelationEntity
Return values
FeatureEntity|null —buildFeatures()
Build feature in dataset
public
buildFeatures([array<string|int, mixed>|null $relations = null ]) : int
Parameters
- $relations : array<string|int, mixed>|null = null
Return values
int —getErrors()
public
getErrors() : array<string|int, ErrorInterface>
Return values
array<string|int, ErrorInterface> —getWarnings()
public
getWarnings() : array<string|int, ErrorInterface>
Return values
array<string|int, ErrorInterface> —addErrorRecursive()
protected
addErrorRecursive(FeatureBuilderException $error, RelationEntity $relation) : void
Parameters
- $error : FeatureBuilderException
- $relation : RelationEntity
Return values
void —addAddressError()
private
addAddressError(RelationEntity|FeatureEntity $relation) : void
Parameters
- $relation : RelationEntity|FeatureEntity
Return values
void —addError()
private
addError(ErrorInterface $error) : void
Parameters
- $error : ErrorInterface
Return values
void —addPropertyErrors()
private
addPropertyErrors(RelationEntity $relation) : void
Parameters
- $relation : RelationEntity
Return values
void —checkArea()
private
checkArea(RelationEntity $relation, $nodes) : void
Parameters
- $relation : RelationEntity
- $nodes :
Tags
Return values
void —checkDuplicatePoints()
private
checkDuplicatePoints(RelationEntity $relation, array<string|int, NodeEntity> $nodes) : void
Parameters
- $relation : RelationEntity
- $nodes : array<string|int, NodeEntity>
Tags
Return values
void —checkMaxLength()
private
checkMaxLength(RelationEntity $relation, array<string|int, mixed> $nodes) : void
Parameters
- $relation : RelationEntity
- $nodes : array<string|int, mixed>
Return values
void —checkSelfIntersect()
private
checkSelfIntersect(RelationEntity $relation, array<string|int, array<string|int, NodeEntity>> $rings) : void
Parameters
- $relation : RelationEntity
- $rings : array<string|int, array<string|int, NodeEntity>>
Tags
Return values
void —findAddress()
private
findAddress(Point $point) : string|null
Parameters
- $point : Point
Return values
string|null —getBarycenterGeometry()
private
getBarycenterGeometry(RelationEntity $relation) : Point|MultiPoint|null
Parameters
- $relation : RelationEntity
Return values
Point|MultiPoint|null —getGeometry()
private
getGeometry(RelationEntity $relation) : Geometry
Parameters
- $relation : RelationEntity
Tags
Return values
Geometry —getNode()
private
getNode(ObjectId $relationId, ObjectId $nodeId) : NodeEntity
Parameters
- $relationId : ObjectId
- $nodeId : ObjectId
Tags
Return values
NodeEntity —getNodeGeometryById()
private
getNodeGeometryById(ObjectId $nodeId) : Point|null
Parameters
- $nodeId : ObjectId
Return values
Point|null —getObjectId()
private
getObjectId(RelationEntity $relation) : string|int
Parameters
- $relation : RelationEntity
Return values
string|int —getObjectIdForErrorByNode()
private
getObjectIdForErrorByNode(NodeEntity $node, RelationEntity $relation) : string
Parameters
- $node : NodeEntity
- $relation : RelationEntity
Return values
string —getRelationsNodes()
private
getRelationsNodes(ObjectId $relationId, array<string|int, ObjectId>|array<string|int, array<string|int, ObjectId>> $nodes) : array<string|int, NodeEntity>|array<string|int, array<string|int, NodeEntity>>
Parameters
- $relationId : ObjectId
- $nodes : array<string|int, ObjectId>|array<string|int, array<string|int, ObjectId>>
Tags
Return values
array<string|int, NodeEntity>|array<string|int, array<string|int, NodeEntity>> —possibleGeocoding()
private
possibleGeocoding(RelationEntity $relation) : bool
Parameters
- $relation : RelationEntity
Return values
bool —relationErrorProcess()
private
relationErrorProcess(RelationEntity $relation) : void
Parameters
- $relation : RelationEntity
Return values
void —setAddressByCoordinates()
private
setAddressByCoordinates(FeatureEntity $featureEntity, RelationEntity $relationEntity) : void
Parameters
- $featureEntity : FeatureEntity
- $relationEntity : RelationEntity
Return values
void —setAddressError()
private
setAddressError(RelationEntity $relation) : void
Parameters
- $relation : RelationEntity
Return values
void —setBarycenter()
private
setBarycenter(RelationEntity $relation, FeatureEntity $feature, Geometry $geometry) : void
Parameters
- $relation : RelationEntity
- $feature : FeatureEntity
- $geometry : Geometry
Return values
void —setIsGeocodingError()
private
setIsGeocodingError(RelationEntity $relation) : void
Parameters
- $relation : RelationEntity
Return values
void —throwNodeNotFoundError()
private
throwNodeNotFoundError(ObjectId $nodeId, ObjectId $relationId) : void
Parameters
- $nodeId : ObjectId
- $relationId : ObjectId
Tags
Return values
void —throwSystemError()
private
throwSystemError(string $text) : void
Parameters
- $text : string
Tags
Return values
void —toPoints()
private
toPoints(array<string|int, NodeEntity>|array<string|int, array<string|int, NodeEntity>> $nodes) : array<string|int, Point>|array<string|int, array<string|int, Point>>
Parameters
- $nodes : array<string|int, NodeEntity>|array<string|int, array<string|int, NodeEntity>>
Return values
array<string|int, Point>|array<string|int, array<string|int, Point>> —validateSchemeFields()
private
validateSchemeFields(RelationEntity $relation) : void
Parameters
- $relation : RelationEntity