Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 16 additions & 6 deletions schema/derive.sql
Original file line number Diff line number Diff line change
Expand Up @@ -303,15 +303,25 @@ SELECT
NULL::text AS state,
src.category,
CASE
WHEN COALESCE(NULLIF(src.name, ''), '') = '' AND src.category = 'restArea'
WHEN src.category = 'restArea' AND (
COALESCE(NULLIF(src.name, ''), '') = ''
OR (COALESCE(src.tags_json->>'name', '') = ''
AND COALESCE(src.tags_json->>'brand', '') = '')
)
THEN 'Rest Area'
ELSE src.name
END AS name,
COALESCE(
NULLIF(src.display_name, ''),
NULLIF(src.name, ''),
CASE WHEN src.category = 'restArea' THEN 'Rest Area' END
) AS display_name,
CASE
WHEN src.category = 'restArea' AND (
COALESCE(src.tags_json->>'name', '') = ''
AND COALESCE(src.tags_json->>'brand', '') = '')
THEN 'Rest Area'
ELSE COALESCE(
NULLIF(src.display_name, ''),
NULLIF(src.name, ''),
CASE WHEN src.category = 'restArea' THEN 'Rest Area' END
)
END AS display_name,
src.brand,
src.geom,
src.tags_json
Expand Down
11 changes: 7 additions & 4 deletions schema/osm2pgsql/openinterstate.lua
Original file line number Diff line number Diff line change
Expand Up @@ -125,10 +125,13 @@ function osm2pgsql.process_node(object)

local cat = classify_poi(tags)
if cat ~= nil then
local display_name = tags.brand or tags.name or tags.operator
-- operator fallback excluded: operator tags (e.g. "Florida Department
-- of Transportation") are not user-facing names. Raw tags are stored
-- in the tags jsonb column for derive-time access if needed.
local display_name = tags.brand or tags.name
poi_nodes:insert({
category = cat,
name = tags.name or tags.brand or tags.operator,
name = tags.name or tags.brand,
display_name = display_name,
brand = tags.brand,
tags = tags,
Expand Down Expand Up @@ -172,10 +175,10 @@ function osm2pgsql.process_way(object)
way_geom = object:as_linestring()
end
if way_geom ~= nil then
local display_name = tags.brand or tags.name or tags.operator
local display_name = tags.brand or tags.name
poi_ways:insert({
category = cat,
name = tags.name or tags.brand or tags.operator,
name = tags.name or tags.brand,
display_name = display_name,
brand = tags.brand,
tags = tags,
Expand Down
Loading