kopia lustrzana https://github.com/openmaptiles/openmaptiles
66 wiersze
3.7 KiB
PL/PgSQL
66 wiersze
3.7 KiB
PL/PgSQL
CREATE OR REPLACE FUNCTION poi_class_rank(class TEXT)
|
|
RETURNS INT AS $$
|
|
SELECT CASE class
|
|
WHEN 'hospital' THEN 20
|
|
WHEN 'park' THEN 25
|
|
WHEN 'cemetery' THEN 30
|
|
WHEN 'bus' THEN 50
|
|
WHEN 'attraction' THEN 70
|
|
WHEN 'harbor' THEN 75
|
|
WHEN 'college' THEN 80
|
|
WHEN 'school' THEN 85
|
|
WHEN 'stadium' THEN 90
|
|
WHEN 'zoo' THEN 95
|
|
WHEN 'town_hall' THEN 100
|
|
WHEN 'campsite' THEN 110
|
|
WHEN 'cemetery' THEN 115
|
|
WHEN 'park' THEN 120
|
|
WHEN 'library' THEN 130
|
|
WHEN 'police' THEN 135
|
|
WHEN 'post' THEN 140
|
|
WHEN 'golf' THEN 150
|
|
WHEN 'shop' THEN 400
|
|
WHEN 'grocery' THEN 500
|
|
WHEN 'fast_food' THEN 600
|
|
WHEN 'clothing_store' THEN 700
|
|
WHEN 'bar' THEN 800
|
|
ELSE 1000
|
|
END;
|
|
$$ LANGUAGE SQL IMMUTABLE;
|
|
|
|
CREATE OR REPLACE FUNCTION poi_class(subclass TEXT)
|
|
RETURNS TEXT AS $$
|
|
SELECT CASE
|
|
WHEN subclass IN ('accessories','antiques','art','beauty','bed','boutique','camera','carpet','charity','chemist','chocolate','coffee','computer','confectionery','convenience','copyshop','cosmetics','garden_centre','doityourself','erotic','electronics','fabric','florist','furniture','video_games','video','general','gift','hardware','hearing_aids','hifi','ice_cream','interior_decoration','jewelry','kiosk','lamps','mall','massage','motorcycle','mobile_phone','newsagent','optician','outdoor','perfumery','perfume','pet','photo','second_hand','shoes','sports','stationery','tailor','tattoo','ticket','tobacco','toys','travel_agency','watches','weapons','wholesale') THEN 'shop'
|
|
WHEN subclass IN ('townhall','public_building','courthouse','community_centre') THEN 'town_hall'
|
|
WHEN subclass IN ('golf','golf_course','miniature_golf') THEN 'golf'
|
|
WHEN subclass IN ('fast_food','food_court') THEN 'fast_food'
|
|
WHEN subclass IN ('park','bbq') THEN 'park'
|
|
WHEN subclass IN ('bus_stop','bus_station') THEN 'bus'
|
|
WHEN subclass IN ('camp_site','caravan_site') THEN 'campsite'
|
|
WHEN subclass IN ('laundry','dry_cleaning') THEN 'laundry'
|
|
WHEN subclass IN ('supermarket','deli','delicatessen','department_store','greengrocer','marketplace') THEN 'grocery'
|
|
WHEN subclass IN ('books','library') THEN 'library'
|
|
WHEN subclass IN ('university','college') THEN 'college'
|
|
WHEN subclass IN ('hotel','motel','bed_and_breakfast','guest_house','hostel','chalet','alpine_hut','camp_site') THEN 'lodging'
|
|
WHEN subclass IN ('chocolate','confectionery') THEN 'ice_cream'
|
|
WHEN subclass IN ('post_box','post_office') THEN 'post'
|
|
WHEN subclass IN ('cafe') THEN 'cafe'
|
|
WHEN subclass IN ('school','kindergarten') THEN 'school'
|
|
WHEN subclass IN ('alcohol','beverages','wine') THEN 'alcohol_shop'
|
|
WHEN subclass IN ('bar','nightclub') THEN 'bar'
|
|
WHEN subclass IN ('marina','dock') THEN 'harbor'
|
|
WHEN subclass IN ('car','car_repair','taxi') THEN 'car'
|
|
WHEN subclass IN ('hospital','nursing_home') THEN 'hospital'
|
|
WHEN subclass IN ('grave_yard','cemetery') THEN 'cemetery'
|
|
WHEN subclass IN ('attraction','viewpoint') THEN 'attraction'
|
|
WHEN subclass IN ('biergarten','pub') THEN 'beer'
|
|
WHEN subclass IN ('music','musical_instrument') THEN 'music'
|
|
WHEN subclass IN ('american_football','stadium','soccer','pitch') THEN 'stadium'
|
|
WHEN subclass IN ('accessories','antiques','art','artwork','gallery','arts_centre') THEN 'art_gallery'
|
|
WHEN subclass IN ('bag','clothes') THEN 'clothing_store'
|
|
WHEN subclass IN ('swimming_area','swimming') THEN 'swimming'
|
|
ELSE subclass
|
|
END;
|
|
$$ LANGUAGE SQL IMMUTABLE;
|