forked from hans/Nominatim
getNearestNamed*Feature functions better return values
This commit is contained in:
@@ -12,7 +12,7 @@ DECLARE
|
||||
out_partition INTEGER;
|
||||
out_parent_place_id BIGINT;
|
||||
location RECORD;
|
||||
address_street_word_id INTEGER;
|
||||
address_street_word_ids INTEGER[];
|
||||
out_postcode TEXT;
|
||||
|
||||
BEGIN
|
||||
@@ -21,11 +21,10 @@ BEGIN
|
||||
out_partition := get_partition(in_countrycode);
|
||||
out_parent_place_id := null;
|
||||
|
||||
address_street_word_id := get_name_id(make_standard_name(in_street));
|
||||
IF address_street_word_id IS NOT NULL THEN
|
||||
FOR location IN SELECT * from getNearestNamedRoadFeature(out_partition, place_centroid, address_street_word_id) LOOP
|
||||
out_parent_place_id := location.place_id;
|
||||
END LOOP;
|
||||
address_street_word_ids := word_ids_from_name(in_street);
|
||||
IF address_street_word_ids IS NOT NULL THEN
|
||||
out_parent_place_id := getNearestNamedRoadFeature(out_partition, place_centroid,
|
||||
address_street_word_ids);
|
||||
END IF;
|
||||
|
||||
IF out_parent_place_id IS NULL THEN
|
||||
|
||||
@@ -248,7 +248,6 @@ LANGUAGE plpgsql STABLE;
|
||||
-- \param centroid Location of the address.
|
||||
--
|
||||
-- \return Place ID of the parent if one was found, NULL otherwise.
|
||||
-- The returned parent is always a street (rank 26/27 and a way).
|
||||
CREATE OR REPLACE FUNCTION find_parent_for_address(street TEXT, place TEXT,
|
||||
partition SMALLINT,
|
||||
centroid GEOMETRY)
|
||||
@@ -263,9 +262,7 @@ BEGIN
|
||||
-- Note that addr:street links can only be indexed, once the street itself is indexed
|
||||
word_ids := word_ids_from_name(street);
|
||||
IF word_ids is not null THEN
|
||||
SELECT place_id
|
||||
FROM getNearestNamedRoadFeature(partition, centroid, word_ids)
|
||||
INTO parent_place_id;
|
||||
parent_place_id := getNearestNamedRoadFeature(partition, centroid, word_ids);
|
||||
IF parent_place_id is not null THEN
|
||||
--DEBUG: RAISE WARNING 'Get parent form addr:street: %', parent.place_id;
|
||||
RETURN parent_place_id;
|
||||
@@ -277,9 +274,7 @@ BEGIN
|
||||
IF place is not null THEN
|
||||
word_ids := word_ids_from_name(place);
|
||||
IF word_ids is not null THEN
|
||||
SELECT place_id
|
||||
FROM getNearestNamedPlaceFeature(partition, centroid, word_ids)
|
||||
INTO parent_place_id;
|
||||
parent_place_id := getNearestNamedPlaceFeature(partition, centroid, word_ids);
|
||||
IF parent_place_id is not null THEN
|
||||
--DEBUG: RAISE WARNING 'Get parent form addr:place: %', parent.place_id;
|
||||
RETURN parent_place_id;
|
||||
|
||||
Reference in New Issue
Block a user