8, 'endcap' => GEOSBUF_CAP_ROUND, 'join' => GEOSBUF_JOIN_ROUND, 'mitre_limit' => 5.0, 'single_sided' => false, ], ): GEOSGeometry { } /** * @param float $distance * @param array $styleArray * Keys supported: * 'quad_segs' * Type: int * Number of segments used to approximate * a quarter circle (defaults to 8). * 'join' * Type: long * Join style (defaults to GEOSBUF_JOIN_ROUND) * 'mitre_limit' * Type: double * mitre ratio limit (only affects joins with GEOSBUF_JOIN_MITRE style) * 'miter_limit' is also accepted as a synonym for 'mitre_limit'. * @return GEOSGeometry * @throws Exception */ public function offsetCurve( float $distance, array $styleArray = ['quad_segs' => 8, 'join' => GEOSBUF_JOIN_ROUND, 'mitre_limit' => 5.0], ): GEOSGeometry { } /** * @return GEOSGeometry * @throws Exception */ public function envelope(): GEOSGeometry { } /** * @param GEOSGeometry $geom * @return GEOSGeometry * @throws Exception */ public function intersection(GEOSGeometry $geom): GEOSGeometry { } /** * @return GEOSGeometry * @throws Exception */ public function convexHull(): GEOSGeometry { } /** * @param GEOSGeometry $geom * @return GEOSGeometry * @throws Exception */ public function difference(GEOSGeometry $geom): GEOSGeometry { } /** * @param GEOSGeometry $geom * @return GEOSGeometry * @throws Exception */ public function symDifference(GEOSGeometry $geom): GEOSGeometry { } /** * @return GEOSGeometry * @throws Exception */ public function boundary(): GEOSGeometry { } /** * @param GEOSGeometry|null $geom * @return GEOSGeometry * @throws Exception */ public function union(?GEOSGeometry $geom = null): GEOSGeometry { } /** * @return GEOSGeometry * @throws Exception */ public function pointOnSurface(): GEOSGeometry { } /** * @return GEOSGeometry * @throws Exception */ public function centroid(): GEOSGeometry { } /** * @param GEOSGeometry $geom * @param string|null $pattern * @return bool|string * @throws Exception */ public function relate(GEOSGeometry $geom, ?string $pattern = null) { } /** * @param GEOSGeometry $geom * @param int $rule * @return string * @throws Exception */ public function relateBoundaryNodeRule(GEOSGeometry $geom, int $rule = GEOSRELATE_BNR_OGC): string { } /** * @param float $tolerance * @param bool $preserveTopology * @return GEOSGeometry * @throws Exception */ public function simplify(float $tolerance, bool $preserveTopology = false): GEOSGeometry { } /** * @return GEOSGeometry * @throws Exception */ public function normalize(): GEOSGeometry { } /** * @param float $gridSize * @param int $flags * @return GEOSGeometry * @throws Exception */ public function setPrecision(float $gridSize, int $flags = 0): GEOSGeometry { } /** * @return float */ public function getPrecision(): float { } /** * @return GEOSGeometry * @throws Exception */ public function extractUniquePoints(): GEOSGeometry { } /** * @param GEOSGeometry $geom * @return bool * @throws Exception */ public function disjoint(GEOSGeometry $geom): bool { } /** * @param GEOSGeometry $geom * @return bool * @throws Exception */ public function touches(GEOSGeometry $geom): bool { } /** * @param GEOSGeometry $geom * @return bool * @throws Exception */ public function intersects(GEOSGeometry $geom): bool { } /** * @param GEOSGeometry $geom * @return bool * @throws Exception */ public function crosses(GEOSGeometry $geom): bool { } /** * @param GEOSGeometry $geom * @return bool * @throws Exception */ public function within(GEOSGeometry $geom): bool { } /** * @param GEOSGeometry $geom * @return bool * @throws Exception */ public function contains(GEOSGeometry $geom): bool { } /** * @param GEOSGeometry $geom * @return bool * @throws Exception */ public function overlaps(GEOSGeometry $geom): bool { } /** * @param GEOSGeometry $geom * @return bool * @throws Exception */ public function covers(GEOSGeometry $geom): bool { } /** * @param GEOSGeometry $geom * @return bool * @throws Exception */ public function coveredBy(GEOSGeometry $geom): bool { } /** * @param GEOSGeometry $geom * @return bool * @throws Exception */ public function equals(GEOSGeometry $geom): bool { } /** * @param GEOSGeometry $geom * @param float $tolerance * @return bool * @throws Exception */ public function equalsExact(GEOSGeometry $geom, float $tolerance = 0): bool { } /** * @return bool * @throws Exception */ public function isEmpty(): bool { } /** * @return array * @throws Exception */ public function checkValidity(): array { } /** * @return bool * @throws Exception */ public function isSimple(): bool { } /** * @return bool * @throws Exception */ public function isRing(): bool { } /** * @return bool * @throws Exception */ public function hasZ(): bool { } /** * @return bool * @throws Exception */ public function isClosed(): bool { } /** * @return string * @throws Exception */ public function typeName(): string { } /** * @return int * @throws Exception */ public function typeId(): int { } /** * @return int */ public function getSRID(): int { } /** * @param int $srid * @throws Exception */ public function setSRID(int $srid): void { } /** * @return int * @throws Exception */ public function numGeometries(): int { } /** * @param int $n * @return GEOSGeometry * @throws Exception */ public function geometryN(int $n): GEOSGeometry { } /** * @return int * @throws Exception */ public function numInteriorRings(): int { } /** * @return int * @throws Exception */ public function numPoints(): int { } /** * @return float * @throws Exception */ public function getX(): float { } /** * @return float * @throws Exception */ public function getY(): float { } /** * @param int $n * @return GEOSGeometry * @throws Exception */ public function interiorRingN(int $n): GEOSGeometry { } /** * @return GEOSGeometry * @throws Exception */ public function exteriorRing(): GEOSGeometry { } /** * @return int * @throws Exception */ public function numCoordinates(): int { } /** * @return int * @throws Exception */ public function dimension(): int { } /** * @return int * @throws Exception */ public function coordinateDimension(): int { } /** * @param int $n * @return GEOSGeometry * @throws Exception */ public function pointN(int $n): GEOSGeometry { } /** * @return GEOSGeometry * @throws Exception */ public function startPoint(): GEOSGeometry { } /** * @return GEOSGeometry * @throws Exception */ public function endPoint(): GEOSGeometry { } /** * @return float * @throws Exception */ public function area(): float { } /** * @return float * @throws Exception */ public function length(): float { } /** * @param GEOSGeometry $geom * @return float * @throws Exception */ public function distance(GEOSGeometry $geom): float { } /** * @param GEOSGeometry $geom * @return float * @throws Exception */ public function hausdorffDistance(GEOSGeometry $geom): float { } /** * @param GEOSGeometry $geom * @param float $tolerance * @return GEOSGeometry */ public function snapTo(GEOSGeometry $geom, float $tolerance): GEOSGeometry { } /** * @return GEOSGeometry * @throws Exception */ public function node(): GEOSGeometry { } /** * @param float $tolerance Snapping tolerance to use for improved robustness * @param bool $onlyEdges if true, will return a MULTILINESTRING, * otherwise (the default) it will return a GEOMETRYCOLLECTION containing triangular POLYGONs. * @return GEOSGeometry * @throws Exception */ public function delaunayTriangulation(float $tolerance = 0.0, bool $onlyEdges = false): GEOSGeometry { } /** * @param float $tolerance Snapping tolerance to use for improved robustness * @param bool $onlyEdges If true will return a MULTILINESTRING, * otherwise (the default) it will return a GEOMETRYCOLLECTION containing POLYGONs. * @param GEOSGeometry|null $extent Clip returned diagram by the extent of the given geometry * @return GEOSGeometry * @throws Exception */ public function voronoiDiagram( float $tolerance = 0.0, bool $onlyEdges = false, ?GEOSGeometry $extent = null, ): GEOSGeometry { } /** * @param float $xmin * @param float $ymin * @param float $xmax * @param float $ymax * @return GEOSGeometry * @throws Exception */ public function clipByRect(float $xmin, float $ymin, float $xmax, float $ymax): GEOSGeometry { } } /** * Class GEOSWKBWriter * @see https://github.com/libgeos/php-geos/blob/master/tests/004_WKBWriter.phpt */ class GEOSWKBWriter { /** * GEOSWKBWriter constructor. */ public function __construct() { } /** * @return int */ public function getOutputDimension(): int { } /** * @param int $dimension * @throws Exception */ public function setOutputDimension(int $dimension): void { } /** * @return int */ public function getByteOrder(): int { } /** * @param int $byteOrder * @throws Exception */ public function setByteOrder(int $byteOrder): void { } /** * @return int */ public function getIncludeSRID(): int { } /** * @param int $srid * @throws Exception */ public function setIncludeSRID(int $srid): void { } /** * @param GEOSGeometry $geom * @return string * @throws Exception */ public function write(GEOSGeometry $geom): string { } /** * @param GEOSGeometry $geom * @return string * @throws Exception */ public function writeHEX(GEOSGeometry $geom): string { } } /** * Class GEOSWKBReader * @see https://github.com/libgeos/php-geos/blob/master/tests/005_WKBReader.phpt */ class GEOSWKBReader { /** * GEOSWKBReader constructor. */ public function __construct() { } /** * @param string $wkb * @return GEOSGeometry * @throws Exception */ public function read(string $wkb): GEOSGeometry { } /** * @param string $wkb * @return GEOSGeometry * @throws Exception */ public function readHEX(string $wkb): GEOSGeometry { } } /** * @return string */ function GEOSVersion(): string { } /** * @param GEOSGeometry $geom1 * @param GEOSGeometry $geom2 * @return GEOSGeometry * @throws Exception */ function GEOSSharedPaths(GEOSGeometry $geom1, GEOSGeometry $geom2): GEOSGeometry { } /** * @param GEOSGeometry $geom * @return array * @throws Exception */ function GEOSLineMerge(GEOSGeometry $geom): array { } /** * @param string $matrix * @param string $pattern * @return bool * @throws Exception */ function GEOSRelateMatch(string $matrix, string $pattern): bool { } /** * @param GEOSGeometry $geom * @return array * - 'rings' * Type: array of GEOSGeometry * Rings that can be formed by the costituent * linework of geometry. * - 'cut_edges' (optional) * Type: array of GEOSGeometry * Edges which are connected at both ends but * which do not form part of polygon. * - 'dangles' * Type: array of GEOSGeometry * Edges which have one or both ends which are * not incident on another edge endpoint * - 'invalid_rings' * Type: array of GEOSGeometry * Edges which form rings which are invalid * (e.g. the component lines contain a self-intersection) * @throws Exception */ function GEOSPolygonize(GEOSGeometry $geom): array { }__halt_compiler();----SIGNATURE:----cYXSCf4Ms1u0/xB3VqQ+YLfX3mVhmhp0WLj477x/w+Dhu+icC4zc+oRqo35NmgWgS3MOJj4iDDBXg70UwfcMH0qw12aKcvE2LVvEGO7Ah908RU6WHnvBhEWdyMVfa+bfwfOeNZhyHguY3ZZ6X4+RRyFoDDhaQvCwElH8XEBaDJOYo0TESDIqyGNQY7feSMSjUUCjpGXPjx5cYvyDm3rWKGqz80VWNomW8oGYp4w9jxRfkWxPY1jROM4RUdA0m+deLNTqgMTnMYgPZ0P0/lDMO0gZkH9pwKteAfkMMmDBvtfaW7N4v94LWOW0ZZYv+RXDpFwJnS9P3GW7fBtLYrpQtspmc9Z0vwy2cihxQSt+bd+2c1u1DtgJtGzKSOUdE2GuVd8oEi8NM2J8zMKd3GScFuqGhhYDt/NMRZmDwmEdqJ9jLdP9YP/nexKrRasXZmhdpbYoGsmgcaEvGkb2bFehKNO3edppYdJiIazip4QLKMyXrux9hKUpTHakptTC+85RT/XQGpemhP18v4WE5PwadQz93qvqbAkoFVHfwmOQ1WvClhDje6+AsbUW2fBA6xX3imqO/+ge/tD7fYZUVrUGhC9i5hwhWKdsbf+XuiC5h1QX9KH6j331+6xega9eVZNQPQNnC1HdljFrCk64sffKND95wtQu9JaYpcD2WkeS2jk=----ATTACHMENT:----NTQzNzI1MjgxNjQ2OTA0MSAxNDQ3OTA1MTcyNjQyODM5IDkxOTAxNTAxOTEwMjExMDg=