From 411f361fcb11824ca72dc61b85baeb32b91f474a Mon Sep 17 00:00:00 2001 From: Sarah Hoffmann Date: Thu, 6 Dec 2018 21:18:47 +0100 Subject: [PATCH] traverse address list backwards when computing admin levels By starting with the lowest address level, when collecting administrative boundaries by level, there is a better chance to actually get the boundary when the capital of the administrative boundary is tagged with the level of the boundary as well. This is just a heuristics adaption to make the best out of the imprecise admin_level definition for place nodes. Fixes #1261. --- lib/AddressDetails.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/AddressDetails.php b/lib/AddressDetails.php index e6501b57..618e10c9 100644 --- a/lib/AddressDetails.php +++ b/lib/AddressDetails.php @@ -103,7 +103,7 @@ class AddressDetails public function getAdminLevels() { $aAddress = array(); - foreach ($this->aAddressLines as $aLine) { + foreach (array_reverse($this->aAddressLines) as $aLine) { if (self::isAddress($aLine) && isset($aLine['admin_level']) && $aLine['admin_level'] < 15