IF word_ids is not null THEN
parent_place_id := getNearestNamedRoadPlaceId(partition, centroid, word_ids);
IF parent_place_id is not null THEN
- --DEBUG: RAISE WARNING 'Get parent form addr:street: %', parent.place_id;
+ --DEBUG: RAISE WARNING 'Get parent form addr:street: %', parent_place_id;
RETURN parent_place_id;
END IF;
END IF;
IF word_ids is not null THEN
parent_place_id := getNearestNamedPlacePlaceId(partition, centroid, word_ids);
IF parent_place_id is not null THEN
- --DEBUG: RAISE WARNING 'Get parent form addr:place: %', parent.place_id;
+ --DEBUG: RAISE WARNING 'Get parent form addr:place: %', parent_place_id;
RETURN parent_place_id;
END IF;
END IF;
ELSEIF ST_GeometryType(geometry) = 'ST_Point' THEN
radius := near_feature_rank_distance(rank_search);
- --DEBUG: RAISE WARNING 'adding % diameter %', place_id, diameter;
+ --DEBUG: RAISE WARNING 'adding % radius %', place_id, radius;
-- Create a bounding box with an extent computed from the radius (in meters).
secgeo := ST_Envelope(ST_Collect(
geo RECORD;
BEGIN
-- 10000000000 is ~~ 1x1 degree
- FOR geo IN select quad_split_geometry(geometry, 0.25, 20) as geom LOOP
+ FOR geo IN select quad_split_geometry(geometry, 0.01, 20) as geom LOOP
RETURN NEXT geo.geom;
END LOOP;
RETURN;
IF placegeom IS NOT NULL AND ST_IsValid(placegeom) THEN
IF ST_GeometryType(placegeom) in ('ST_Polygon','ST_MultiPolygon') THEN
FOR geom IN select split_geometry(placegeom) FROM placex WHERE place_id = placeid LOOP
- update placex set indexed_status = 2 where (st_covers(geom, placex.geometry) OR ST_Intersects(geom, placex.geometry))
+ update placex set indexed_status = 2 where ST_Intersects(geom, placex.geometry)
AND rank_search > rank and indexed_status = 0 and ST_geometrytype(placex.geometry) = 'ST_Point' and (rank_search < 28 or name is not null or (rank >= 16 and address ? 'place'));
- update placex set indexed_status = 2 where (st_covers(geom, placex.geometry) OR ST_Intersects(geom, placex.geometry))
+ update placex set indexed_status = 2 where ST_Intersects(geom, placex.geometry)
AND rank_search > rank and indexed_status = 0 and ST_geometrytype(placex.geometry) != 'ST_Point' and (rank_search < 28 or name is not null or (rank >= 16 and address ? 'place'));
END LOOP;
ELSE