mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-26 11:08:13 +00:00
harmonize use of callback with set_entrance_filter
All other functions except a simple function, so do this here as well.
This commit is contained in:
@@ -76,8 +76,8 @@ and may be returned with the result [on request](../api/Search.md#output-details
|
|||||||
|
|
||||||
!!! danger
|
!!! danger
|
||||||
Some tags in the extratags category are used by Nominatim to better
|
Some tags in the extratags category are used by Nominatim to better
|
||||||
classify the place. You want to make sure these are always present
|
classify the place. These tags will always be added, independent of
|
||||||
in custom styles.
|
any settings in the style.
|
||||||
|
|
||||||
Configuring the style means deciding which key and/or key/value is used
|
Configuring the style means deciding which key and/or key/value is used
|
||||||
in which category.
|
in which category.
|
||||||
@@ -269,7 +269,7 @@ in turn take precedence over prefix matches.
|
|||||||
|
|
||||||
| Name | Description |
|
| Name | Description |
|
||||||
| :----- | :---------- |
|
| :----- | :---------- |
|
||||||
| required | Tags that Nominatim will use for various computations when present in extratags. Always include these. |
|
| required | Tags that Nominatim will use for various computations when present in extratags. Automatically added. |
|
||||||
|
|
||||||
In addition, all [presets from ignored tags](#presets_1) are accepted.
|
In addition, all [presets from ignored tags](#presets_1) are accepted.
|
||||||
|
|
||||||
@@ -462,9 +462,9 @@ with a table with the following fields:
|
|||||||
will always be excluded, independently of this setting.
|
will always be excluded, independently of this setting.
|
||||||
|
|
||||||
To have even more fine-grained control over the output, you can also hand
|
To have even more fine-grained control over the output, you can also hand
|
||||||
in a table with a single field `func` containing a callback for processing
|
in a callback for processing entrance information. The callback function
|
||||||
entrance information. The callback function receives a single parameter,
|
receives a single parameter, the
|
||||||
the [osm2pgsql object](https://osm2pgsql.org/doc/manual.html#processing-callbacks).
|
[osm2pgsql object](https://osm2pgsql.org/doc/manual.html#processing-callbacks).
|
||||||
This object itself must not be modified. The callback should return either
|
This object itself must not be modified. The callback should return either
|
||||||
`nil` when the object is not an entrance. Or it returns a table with a
|
`nil` when the object is not an entrance. Or it returns a table with a
|
||||||
mandatory `entrance` field containing a string with the type of entrance
|
mandatory `entrance` field containing a string with the type of entrance
|
||||||
|
|||||||
@@ -943,17 +943,22 @@ function module.set_relation_types(data)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function module.set_entrance_filter(data)
|
function module.set_entrance_filter(data)
|
||||||
|
if data == nil or type(data) == 'function' then
|
||||||
|
ENTRANCE_FUNCTION = data
|
||||||
|
return nil
|
||||||
|
end
|
||||||
|
|
||||||
if type(data) == 'string' then
|
if type(data) == 'string' then
|
||||||
local preset = data
|
local preset = data
|
||||||
data = PRESETS.ENTRACE_TABLE[data]
|
data = PRESETS.ENTRANCE_TABLE[data]
|
||||||
if data == nil then
|
if data == nil then
|
||||||
error('Unknown preset for entrance table: ' .. preset)
|
error('Unknown preset for entrance table: ' .. preset)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
ENTRANCE_FUNCTION = data and data.func
|
ENTRANCE_FUNCTION = nil
|
||||||
|
|
||||||
if data ~= nil and data.main_tags ~= nil and next(data.main_tags) ~= nil then
|
if data.main_tags ~= nil and next(data.main_tags) ~= nil then
|
||||||
if data.extra_include ~= nil and next(data.extra_include) == nil then
|
if data.extra_include ~= nil and next(data.extra_include) == nil then
|
||||||
-- shortcut: no extra tags requested
|
-- shortcut: no extra tags requested
|
||||||
ENTRANCE_FUNCTION = function(o)
|
ENTRANCE_FUNCTION = function(o)
|
||||||
|
|||||||
@@ -383,9 +383,9 @@ module.EXTRATAGS.required = {'wikipedia', 'wikipedia:*', 'wikidata', 'capital'}
|
|||||||
|
|
||||||
-- Defaults for the entrance table
|
-- Defaults for the entrance table
|
||||||
|
|
||||||
module.ENTRACE_TABLE = {}
|
module.ENTRANCE_TABLE = {}
|
||||||
|
|
||||||
module.ENTRACE_TABLE.default = {main_tags = {'entrance', 'routing:entrance'},
|
module.ENTRANCE_TABLE.default = {main_tags = {'entrance', 'routing:entrance'},
|
||||||
extra_exclude = module.IGNORE_KEYS.metatags}
|
extra_exclude = module.IGNORE_KEYS.metatags}
|
||||||
|
|
||||||
return module
|
return module
|
||||||
|
|||||||
@@ -109,9 +109,9 @@ Feature: Import of entrance objects by osm2pgsql
|
|||||||
Given the lua style file
|
Given the lua style file
|
||||||
"""
|
"""
|
||||||
local flex = require('import-full')
|
local flex = require('import-full')
|
||||||
flex.set_entrance_filter{func = function(object)
|
flex.set_entrance_filter(function(object)
|
||||||
return {entrance='always', extratags = {ref = '1'}}
|
return {entrance='always', extratags = {ref = '1'}}
|
||||||
end}
|
end)
|
||||||
"""
|
"""
|
||||||
When loading osm data
|
When loading osm data
|
||||||
"""
|
"""
|
||||||
|
|||||||
Reference in New Issue
Block a user