Skip to content

Commit c1a7af6

Browse files
committed
Improve getPoints() + explode() performance for large geometries (merges PR phayes#127)
1 parent 84803f6 commit c1a7af6

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

lib/geometry/Collection.class.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,9 @@ public function numPoints() {
231231
public function getPoints() {
232232
$points = array();
233233
foreach ($this->components as $component) {
234-
$points = array_merge($points, $component->getPoints());
234+
foreach ($component->getPoints() as $point) {
235+
$points[] = $point;
236+
}
235237
}
236238
return $points;
237239
}
@@ -290,7 +292,9 @@ public function isSimple() {
290292
public function explode() {
291293
$parts = array();
292294
foreach ($this->components as $component) {
293-
$parts = array_merge($parts, $component->explode());
295+
foreach ($component->explode() as $subComponent) {
296+
$parts[] = $subComponent;
297+
}
294298
}
295299
return $parts;
296300
}

0 commit comments

Comments
 (0)