Files
arah2/search/src/data/kl-gazetteer.json
T
araharah-executor 99bc9c9a09 docs(04-02): close the D-14 bake-off — threshold met on the first run, lever None
- docs/SEARCH-QUALITY.md: the bake-off close record — corpus v1 (75 cases) x
  gazetteer v1 (30 entries), measured 2026-10-23T17:02Z via npm run search:corpus
  - top-1 66/68 (97.1%), top-3 68/68 (100.0%) >= 90% threshold
  - negatives refused 7/7, refusal margin 0.643 < 0.72 admission line
  - per-category table (landmark/abbreviation/glued/typo/alias all 100%)
  - escalation lever: None — met on first run; no abbreviations.ts row, no
    alias, no corpus edit; the fixed ladder was never climbed
  - coordinate verification: 10 seed entries spot-checked against Nominatim
    (identifying UA, 1 req/s): 8/10 within 0.01°; bukit-bintang outlier is an
    area-vs-point discrepancy (no change); pavilion-kl was a real ~2 km error
  - both top-1 misses documented as expected disjoint-tier behaviour
- kl-gazetteer.json: pavilion-kl coordinate corrected (3.1478,101.695) ->
  (3.149,101.7132) — Rule 1 data bug found by the prescribed Nominatim
  verification; post-fix delta 0.0002°; corpus is coordinate-blind, all suites green
2026-10-24 01:03:39 +08:00

279 lines
8.4 KiB
JSON

{
"_license": "ODbL-1.0",
"_attribution": "© OpenStreetMap contributors",
"_notice": "Curated from OpenStreetMap data. The curated gazetteer and any derived index are made available under the Open Database License (ODbL) v1.0 — https://opendatacommons.org/licenses/odbl/1-0/",
"version": 1,
"entries": [
{
"id": "suria-klcc",
"name": "Suria KLCC",
"aliases": ["Suria KLCC", "KLCC", "KLCC Park", "KLCC Mall", "Jalan Ampang"],
"lat": 3.1578,
"lng": 101.7117,
"category": "mall",
"address": "Jalan Ampang, 50088 Kuala Lumpur"
},
{
"id": "sunway-pyramid",
"name": "Sunway Pyramid",
"aliases": ["Sunway Pyramid", "Pyramid", "Sunway", "Sunway Pyramid Shopping Mall"],
"lat": 3.0726,
"lng": 101.6069,
"category": "mall",
"address": "Jalan PJS 11/15, Bandar Sunway, 47500 Subang Jaya"
},
{
"id": "the-duke",
"name": "Lebuhraya DUKE",
"aliases": ["Lebuhraya DUKE", "DUKE", "Duta-Ulu Klang Expressway", "Karak Link"],
"lat": 3.1357,
"lng": 101.6864,
"category": "highway",
"address": "Lebuhraya DUKE, 50000 Kuala Lumpur"
},
{
"id": "pavilion-kl",
"name": "Pavilion Kuala Lumpur",
"aliases": ["Pavilion Kuala Lumpur", "Pavilion", "Pavilion KL", "KL Pavilion"],
"lat": 3.149,
"lng": 101.7132,
"category": "mall",
"address": "Jalan Bukit Bintang, 55100 Kuala Lumpur"
},
{
"id": "ijnp",
"name": "Institut Jantung Negara",
"aliases": ["Institut Jantung Negara", "IJN", "IJN Hospital", "Institut Jantung Negara Malaysia"],
"lat": 3.1636,
"lng": 101.706,
"category": "hospital",
"address": "Jalan Tun Razak, 50400 Kuala Lumpur"
},
{
"id": "pwtc",
"name": "PWTC",
"aliases": ["PWTC", "Putra World Trade Centre"],
"lat": 3.1768,
"lng": 101.698,
"category": "convention",
"address": "Jalan Tun Razak, 50400 Kuala Lumpur"
},
{
"id": "kl-sentral",
"name": "KL Sentral",
"aliases": ["KL Sentral", "Stesen KL Sentral", "KL Central", "Sentral Station", "Stesen Sentral"],
"lat": 3.1343,
"lng": 101.6869,
"category": "station",
"address": "Jalan Stesen Sentral 5, 50470 Kuala Lumpur"
},
{
"id": "bangsar",
"name": "Taman Bangsar",
"aliases": ["Taman Bangsar", "Bangsar", "Bangsar Park"],
"lat": 3.1477,
"lng": 101.6875,
"category": "park",
"address": "Jalan Maarof, 59000 Kuala Lumpur"
},
{
"id": "kampung-ampang",
"name": "Kampung Ampang",
"aliases": ["Kampung Ampang", "Kg Ampang", "Ampang Village"],
"lat": 3.1456,
"lng": 101.712,
"category": "village",
"address": "Jalan Ampang, 68000 Ampang"
},
{
"id": "tun-razak",
"name": "Jalan Tun Razak",
"aliases": ["Jalan Tun Razak", "Tun Razak"],
"lat": 3.156,
"lng": 101.71,
"category": "road",
"address": "Jalan Tun Razak, 50400 Kuala Lumpur"
},
{
"id": "sungei-wang",
"name": "Sungei Wang Plaza",
"aliases": ["Sungei Wang Plaza", "Sungei Wang", "Sg Wang", "Sungai Wang"],
"lat": 3.1483,
"lng": 101.7068,
"category": "mall",
"address": "Jalan Bukit Bintang, 55100 Kuala Lumpur"
},
{
"id": "berjaya-times-square",
"name": "Berjaya Times Square",
"aliases": ["Berjaya Times Square", "Times Square", "BTS"],
"lat": 3.1421,
"lng": 101.7101,
"category": "mall",
"address": "1 Jalan Imbi, 55100 Kuala Lumpur"
},
{
"id": "mid-valley",
"name": "Mid Valley Megamall",
"aliases": ["Mid Valley Megamall", "Mid Valley", "MV"],
"lat": 3.118,
"lng": 101.6779,
"category": "mall",
"address": "Lingkaran Syed Putra, 59200 Kuala Lumpur"
},
{
"id": "sunway-velocity",
"name": "Sunway Velocity",
"aliases": ["Sunway Velocity", "Velocity", "Sunway Velocity Mall"],
"lat": 3.1355,
"lng": 101.729,
"category": "mall",
"address": "Lingkaran SV, Cheras, 55100 Kuala Lumpur"
},
{
"id": "ioi-city-mall",
"name": "IOI City Mall",
"aliases": ["IOI City Mall", "IOI City"],
"lat": 2.9897,
"lng": 101.7376,
"category": "mall",
"address": "Lebuhraya Sultan Iskandar, 62502 Putrajaya"
},
{
"id": "nu-sentral",
"name": "Nu Sentral",
"aliases": ["Nu Sentral", "KL Sentral Mall"],
"lat": 3.1335,
"lng": 101.6864,
"category": "mall",
"address": "201 Jalan Tun Sambanthan, 50470 Kuala Lumpur"
},
{
"id": "merdeka-118",
"name": "Merdeka 118",
"aliases": ["Merdeka 118", "PNB 118"],
"lat": 3.1408,
"lng": 101.7047,
"category": "landmark",
"address": "Jalan Hang Jebat, 50150 Kuala Lumpur"
},
{
"id": "kl-tower",
"name": "Kuala Lumpur Tower",
"aliases": ["Kuala Lumpur Tower", "KL Tower", "Menara Kuala Lumpur"],
"lat": 3.1528,
"lng": 101.7038,
"category": "landmark",
"address": "2 Jalan Punchak, 50250 Kuala Lumpur"
},
{
"id": "petronas-twin-towers",
"name": "Petronas Twin Towers",
"aliases": ["Petronas Twin Towers", "Petronas Towers", "Twin Towers", "KLCC Towers"],
"lat": 3.1579,
"lng": 101.7116,
"category": "landmark",
"address": "Kuala Lumpur City Centre, 50088 Kuala Lumpur"
},
{
"id": "aquaria-klcc",
"name": "Aquaria KLCC",
"aliases": ["Aquaria KLCC", "Aquaria"],
"lat": 3.1532,
"lng": 101.7104,
"category": "landmark",
"address": "Kuala Lumpur Convention Centre, Jalan Pinang, 50088 Kuala Lumpur"
},
{
"id": "central-market",
"name": "Central Market",
"aliases": ["Central Market", "Pasar Seni", "Pasar Seni Kuala Lumpur"],
"lat": 3.1454,
"lng": 101.6953,
"category": "mall",
"address": "Jalan Hang Kasturi, 50050 Kuala Lumpur"
},
{
"id": "petaling-street",
"name": "Petaling Street",
"aliases": ["Petaling Street", "Chi Cheong Kai", "Jalan Petaling"],
"lat": 3.1436,
"lng": 101.6975,
"category": "landmark",
"address": "Jalan Petaling, 50000 Kuala Lumpur"
},
{
"id": "masjid-jamek",
"name": "Masjid Jamek",
"aliases": ["Masjid Jamek", "Jamek Mosque"],
"lat": 3.1484,
"lng": 101.6953,
"category": "landmark",
"address": "Jalan Tun Perak, 50050 Kuala Lumpur"
},
{
"id": "pudu-raya",
"name": "Pudu Sentral",
"aliases": ["Pudu Sentral", "Pudu Raya", "Puduraya"],
"lat": 3.1381,
"lng": 101.7073,
"category": "station",
"address": "Jalan Pudu, 55100 Kuala Lumpur"
},
{
"id": "bukit-bintang",
"name": "Bukit Bintang",
"aliases": ["Bukit Bintang", "BB Park", "Bukit Bintang KL"],
"lat": 3.1466,
"lng": 101.7106,
"category": "landmark",
"address": "Jalan Bukit Bintang, 55100 Kuala Lumpur"
},
{
"id": "chinatown",
"name": "Chinatown Kuala Lumpur",
"aliases": ["Chinatown Kuala Lumpur", "Chinatown", "KL Chinatown"],
"lat": 3.1436,
"lng": 101.6959,
"category": "landmark",
"address": "Jalan Petaling, 50000 Kuala Lumpur"
},
{
"id": "little-india-brickfields",
"name": "Brickfields",
"aliases": ["Brickfields", "Little India", "Little India Brickfields"],
"lat": 3.1306,
"lng": 101.6869,
"category": "landmark",
"address": "Jalan Tun Sambanthan, 50470 Kuala Lumpur"
},
{
"id": "titiwangsa",
"name": "Taman Tasik Titiwangsa",
"aliases": ["Taman Tasik Titiwangsa", "Titiwangsa", "Lake Titiwangsa"],
"lat": 3.1714,
"lng": 101.7016,
"category": "park",
"address": "Jalan Temerloh, 53200 Kuala Lumpur"
},
{
"id": "lake-gardens",
"name": "Perdana Botanical Garden",
"aliases": ["Perdana Botanical Garden", "Lake Gardens", "Taman Perdana"],
"lat": 3.143,
"lng": 101.6917,
"category": "park",
"address": "Jalan Kebun Bunga, 55100 Kuala Lumpur"
},
{
"id": "national-museum",
"name": "National Museum",
"aliases": ["National Museum", "Muzium Negara"],
"lat": 3.1378,
"lng": 101.687,
"category": "landmark",
"address": "Jalan Damansara, 50566 Kuala Lumpur"
}
]
}