Housenumbers are now saved in transliterated form in the housenumber
column. This saves the transliteration step during lookup.
$aOrder[0] .= ' SELECT place_id';
$aOrder[0] .= ' FROM placex';
$aOrder[0] .= ' WHERE parent_place_id = search_name.place_id';
$aOrder[0] .= ' SELECT place_id';
$aOrder[0] .= ' FROM placex';
$aOrder[0] .= ' WHERE parent_place_id = search_name.place_id';
- $aOrder[0] .= " AND transliteration(housenumber) ~* E'".$sHouseNumberRegex."'";
+ $aOrder[0] .= " AND housenumber ~* E'".$sHouseNumberRegex."'";
$aOrder[0] .= ' LIMIT 1';
$aOrder[0] .= ') ';
// also housenumbers from interpolation lines table are needed
$aOrder[0] .= ' LIMIT 1';
$aOrder[0] .= ') ';
// also housenumbers from interpolation lines table are needed
$sHouseNumberRegex = '\\\\m'.$this->sHouseNumber.'\\\\M';
$sSQL = 'SELECT place_id FROM placex ';
$sSQL .= 'WHERE parent_place_id in ('.$sPlaceIDs.')';
$sHouseNumberRegex = '\\\\m'.$this->sHouseNumber.'\\\\M';
$sSQL = 'SELECT place_id FROM placex ';
$sSQL .= 'WHERE parent_place_id in ('.$sPlaceIDs.')';
- $sSQL .= " AND transliteration(housenumber) ~* E'".$sHouseNumberRegex."'";
+ $sSQL .= " AND housenumber ~* E'".$sHouseNumberRegex."'";
$sSQL .= $this->oContext->excludeSQL(' AND place_id');
Debug::printSQL($sSQL);
$sSQL .= $this->oContext->excludeSQL(' AND place_id');
Debug::printSQL($sSQL);
NEW.housenumber := NEW.address->'housenumber';
i := getorcreate_housenumber_id(make_standard_name(NEW.housenumber));
END IF;
NEW.housenumber := NEW.address->'housenumber';
i := getorcreate_housenumber_id(make_standard_name(NEW.housenumber));
END IF;
+ NEW.housenumber := transliteration(NEW.housenumber);
addr_street := NEW.address->'street';
addr_place := NEW.address->'place';
addr_street := NEW.address->'street';
addr_place := NEW.address->'place';
| N | 1 | <nr>, Main St |
Examples:
| N | 1 | <nr>, Main St |
Examples:
- | nr |
- | 1 |
- | 3456 |
- | 1 a |
- | 56b |
- | 1 A |
- | 2號 |
- | 1Б |
- | 1 к1 |
+ | nr |
+ | 1 |
+ | 3456 |
+ | 1 a |
+ | 56b |
+ | 1 A |
+ | 2號 |
+ | 1Б |
+ | 1 к1 |
+ | 23-123 |
+
+ Scenario Outline: Housenumbers in lists are found
+ Given the grid
+ | 1 | | | | 2 |
+ | | | 9 | | |
+ And the places
+ | osm | class | type | name | geometry |
+ | W1 | highway | primary | Main St | 1,2 |
+ And the places
+ | osm | class | type | housenr | geometry |
+ | N1 | building | yes | <nr-list> | 9 |
+ When importing
+ And searching for "Main St <nr>"
+ Then results contain
+ | osm_type | osm_id | name |
+ | N | 1 | <nr-list>, Main St |
+
+ Examples:
+ | nr-list | nr |
+ | 1,2,3 | 1 |
+ | 1,2,3 | 2 |
+ | 1, 2, 3 | 3 |
+ | 45 ;67;3 | 45 |
+ | 45 ;67;3 | 67 |
+ | 1a;1k | 1a |
+ | 1a;1k | 1k |
+ | 34/678 | 34 |
+ | 34/678 | 678 |
+ | 34/678 | 34/678 |