{ "name": "structured geocoding", "priorityThresh": 1, "endpoint": "search/structured", "tests": [ { "id": 1, "status": "pass", "user": "trescube", "type": "dev", "notes": "full address found should return that result", "in": { "address": "1090 N Charlotte Street", "locality": "Lancaster", "region": "PA" }, "expected": { "properties": [ { "layer": "address", "name": "1090 N Charlotte St", "country_a": "USA", "country": "United States", "region": "Pennsylvania", "region_a": "PA", "county": "Lancaster County", "locality": "Lancaster", "housenumber": "1090", "street": "N Charlotte St" } ] } }, { "id": 2, "status": "pass", "user": "trescube", "type": "dev", "notes": "no house number supplied should use street result", "in": { "address": "North Charlotte Street", "locality": "Lancaster", "region": "PA" }, "expected": { "properties": [ { "layer": "street", "name": "North Charlotte Street", "country_a": "USA", "country": "United States", "region": "Pennsylvania", "region_a": "PA", "county": "Lancaster County", "locality": "Lancaster", "street": "North Charlotte Street" } ] } }, { "id": 3, "status": "pass", "user": "trescube", "type": "dev", "notes": [ "house number not found should fallback to street", "https://github.com/pelias/pelias/issues/454" ], "in": { "address": "12200000 Calle de Lago", "locality": "Socorro", "region": "NM" }, "expected": { "properties": [ { "layer": "street", "name": "Calle de Lago", "country_a": "USA", "country": "United States", "region": "New Mexico", "region_a": "NM", "county": "Socorro County", "locality": "Socorro", "street": "Calle de Lago" } ] } }, { "id": 4, "status": "pass", "user": "trescube", "type": "dev", "notes": "house number and street not found should fallback to city", "in": { "address": "1090 Trescube Boulevard", "locality": "Lancaster", "region": "PA" }, "expected": { "properties": [ { "layer": "locality", "name": "Lancaster", "country_a": "USA", "country": "United States", "region": "Pennsylvania", "region_a": "PA", "county": "Lancaster County", "locality": "Lancaster" } ] } }, { "id": 5, "status": "pass", "user": "trescube", "type": "dev", "notes": "libpostal parses as postcode/road", "in": { "address": "1338 Kobbe Ave", "locality": "San Francisco", "region": "CA" }, "expected": { "properties": [ { "layer": "address", "name": "1338 Kobbe Ave", "country_a": "USA", "country": "United States", "region": "California", "region_a": "CA", "locality": "San Francisco" } ] } }, { "id": 6, "status": "pass", "user": "trescube", "type": "dev", "notes": "libpostal parses as house_number/road, non-US address", "in": { "address": "Grolmanstrasse 51", "locality": "Berlin" }, "expected": { "properties": [ { "layer": "address", "name": "Grolmanstraße 51", "country_a": "DEU", "country": "Germany", "locality": "Berlin" } ] } }, { "id": 7, "status": "pass", "user": "trescube", "type": "dev", "notes": "libpostal parses as house_number/suburb/road, non-US address", "in": { "address": "5 russian hill pl", "locality": "San Francisco", "region": "CA" }, "expected": { "properties": [ { "layer": "address", "name": "5 Russian Hill Pl", "country_a": "USA", "country": "United States", "region": "California", "region_a": "CA", "locality": "San Francisco" } ] } }, { "id": 8, "status": "pass", "user": "trescube", "type": "dev", "notes": "number+street-only input should return address before street", "in": { "address": "1090 n charlotte st" }, "expected": { "properties": [ { "layer": "address", "name": "1090 N Charlotte St" } ] } }, { "id": 100, "status": "pass", "user": "trescube", "type": "dev", "notes": "unambiguous neighbourhood", "in": { "neighbourhood": "Dumbo", "borough": "Brooklyn" }, "expected": { "properties": [ { "layer": "neighbourhood", "name": "DUMBO", "country_a": "USA", "country": "United States", "region": "New York", "locality": "New York", "borough": "Brooklyn", "neighbourhood": "DUMBO" } ] } }, { "id": 101, "status": "pass", "user": "trescube", "type": "dev", "notes": "ambiguous neighbourhood", "in": { "neighbourhood": "Chelsea" }, "expected": { "properties": [ { "layer": "neighbourhood", "name": "Chelsea", "country_a": "USA", "country": "United States", "region": "New York", "locality": "New York", "borough": "Manhattan", "neighbourhood": "Chelsea" } ] } }, { "id": 102, "status": "pass", "user": "trescube", "type": "dev", "notes": "unambiguous neighbourhood", "in": { "neighbourhood": "Noho" }, "expected": { "properties": [ { "layer": "neighbourhood", "name": "NoHo", "country_a": "USA", "country": "United States", "region": "New York", "locality": "New York", "borough": "Manhattan", "neighbourhood": "NoHo" } ] } }, { "id": 200, "status": "pass", "user": "trescube", "type": "dev", "notes": "exercises treating locality as borough when latter not explicitly supplied", "in": { "locality": "Manhattan" }, "expected": { "priorityThresh": 3, "properties": [ { "layer": "borough", "name": "Manhattan", "country_a": "USA", "country": "United States", "region": "New York", "region_a": "NY", "county": "New York County", "locality": "New York", "borough": "Manhattan" }, { "layer": "locality", "name": "Manhattan", "country_a": "USA", "country": "United States", "region": "Kansas", "region_a": "KS", "county": "Riley County", "locality": "Manhattan" } ] } }, { "id": 201, "status": "pass", "user": "trescube", "type": "dev", "notes": "tests borough. priorityThresh can be removed when geonames records are deduped properly or removed", "issue": "ttps://github.com/pelias/pelias/issues/322", "in": { "borough": "Manhattan", "locality": "New York", "region": "NY" }, "expected": { "priorityThresh": 2, "properties": [ { "layer": "borough", "name": "Manhattan", "country_a": "USA", "country": "United States", "region": "New York", "region_a": "NY", "county": "New York County", "locality": "New York", "borough": "Manhattan" } ] } }, { "id": 300, "status": "pass", "user": "trescube", "type": "dev", "notes": "just city/state", "in": { "locality": "Socorro", "region": "NM" }, "expected": { "properties": [ { "layer": "locality", "name": "Socorro", "country_a": "USA", "country": "United States", "region": "New Mexico", "region_a": "NM", "county": "Socorro County", "locality": "Socorro" } ] } }, { "id": 301, "status": "pass", "user": "trescube", "type": "dev", "notes": "city/state/country", "in": { "locality": "New York", "region": "NY", "country": "USA" }, "expected": { "properties": [ { "layer": "locality", "name": "New York", "country_a": "USA", "country": "United States", "region": "New York", "region_a": "NY", "locality": "New York" } ] } }, { "id": 302, "status": "pass", "user": "trescube", "type": "dev", "notes": "", "in": { "locality": "Paris", "country": "France" }, "expected": { "properties": [ { "layer": "locality", "name": "Paris", "country_a": "FRA", "country": "France", "locality": "Paris" } ] } }, { "id": 303, "status": "pass", "user": "trescube", "type": "dev", "notes": "", "in": { "locality": "Beijing", "country": "China" }, "expected": { "properties": [ { "layer": "locality", "name": "Beijing", "country_a": "CHN", "country": "China", "locality": "Beijing" } ] } }, { "id": 400, "status": "pass", "user": "trescube", "type": "dev", "notes": "ambiguous localadmin", "in": { "sources": "wof", "locality": "Zickrick" }, "expected": { "properties": [ { "layer": "localadmin", "name": "Zickrick", "country_a": "USA", "country": "United States", "localadmin": "Zickrick" } ] } }, { "id": 401, "status": "pass", "user": "trescube", "type": "dev", "notes": "ambiguous localadmin", "in": { "sources": "wof", "locality": "Zumbehl" }, "expected": { "properties": [ { "layer": "localadmin", "name": "Zumbehl", "country_a": "USA", "country": "United States", "localadmin": "Zumbehl" } ] } }, { "id": 402, "status": "pass", "user": "trescube", "type": "dev", "notes": "unambiguous localadmin by country", "in": { "sources": "wof", "locality": "Aastad", "country": "United States" }, "expected": { "properties": [ { "layer": "localadmin", "name": "Aastad", "country_a": "USA", "country": "United States", "region_a": "MN", "region": "Minnesota", "localadmin": "Aastad" } ] } }, { "id": 403, "status": "pass", "user": "trescube", "type": "dev", "notes": "unambiguous localadmin by state", "in": { "sources": "wof", "locality": "Bloominggrove", "region": "Ohio" }, "expected": { "properties": [ { "layer": "localadmin", "name": "Bloominggrove", "country_a": "USA", "country": "United States", "region_a": "OH", "region": "Ohio", "localadmin": "Bloominggrove" } ] } }, { "id": 500, "status": "fail", "issue": "https://github.com/pelias/wof-admin-lookup/issues/220", "user": "trescube", "type": "dev", "notes": "ambiguous county", "in": { "county": "Lancaster" }, "expected": { "priorityThresh": 2, "properties": [ { "layer": "county", "name": "Lancaster County", "country_a": "USA", "country": "United States", "region_a": "PA", "region": "Pennsylvania" }, { "layer": "county", "name": "Lancaster County", "country_a": "USA", "country": "United States", "region_a": "NE", "region": "Nebraska" } ] } }, { "id": 501, "status": "pass", "user": "trescube", "type": "dev", "notes": "unambiguous county", "in": { "county": "Lancaster", "region": "PA" }, "expected": { "properties": [ { "layer": "county", "name": "Lancaster County", "country_a": "USA", "country": "United States", "region_a": "PA", "region": "Pennsylvania" } ] } }, { "id": 502, "status": "pass", "user": "trescube", "type": "dev", "notes": "unambiguous county", "in": { "county": "L'Hermenault" }, "expected": { "properties": [ { "layer": "county", "name": "L'Hermenault", "country_a": "FRA", "country": "France", "region": "Vendée" } ] } }, { "id": 503, "status": "pass", "user": "trescube", "type": "dev", "notes": "unambiguous county", "in": { "county": "Chongqing", "country": "China" }, "expected": { "properties": [ { "layer": "county", "name": "Chongqing Shi", "country_a": "CHN", "country": "China", "region": "Chongqing", "county": "Chongqing Shi" } ] } }, { "id": 600, "status": "pass", "user": "trescube", "type": "dev", "notes": "macrocounty should be queried with county input", "in": { "county": "Gießen" }, "expected": { "properties": [ { "layer": "macrocounty", "name": "Gießen", "country_a": "DEU", "country": "Germany", "macrocounty": "Gießen" } ] } }, { "id": 601, "status": "pass", "user": "trescube", "type": "dev", "notes": "macrocounty should be queried with county input", "in": { "county": "Mittelfranken", "country": "Germany" }, "expected": { "properties": [ { "layer": "macrocounty", "name": "Mittelfranken", "country_a": "DEU", "country": "Germany", "macrocounty": "Mittelfranken" } ] } }, { "id": 602, "status": "pass", "user": "trescube", "type": "dev", "notes": "macrocounty should be queried with county input", "in": { "county": "Arnsberg" }, "expected": { "properties": [ { "layer": "macrocounty", "name": "Arnsberg", "country_a": "DEU", "country": "Germany", "macrocounty": "Arnsberg" } ] } }, { "id": 700, "status": "pass", "user": "trescube", "type": "dev", "notes": "state-only abbreviation", "in": { "region": "PA" }, "expected": { "properties": [ { "layer": "region", "name": "Pennsylvania", "country_a": "USA", "country": "United States", "region_a": "PA", "region": "Pennsylvania" } ] } }, { "id": 701, "status": "pass", "user": "trescube", "type": "dev", "notes": "state-only full name", "in": { "region": "New Mexico" }, "expected": { "properties": [ { "layer": "region", "name": "New Mexico", "country_a": "USA", "country": "United States", "region_a": "NM", "region": "New Mexico" } ] } }, { "id": 702, "status": "pass", "user": "trescube", "type": "dev", "notes": "non-US region", "in": { "region": "Kakheti" }, "expected": { "properties": [ { "layer": "region", "name": "Kakheti", "country_a": "GEO", "country": "Georgia", "region": "Kakheti" } ] } }, { "id": 703, "status": "pass", "user": "Stephen", "description": "", "notes": "similar to wof_regions/#8 but uses structured geocoding to show that region works", "in": { "region": "Xaçmaz", "country": "Azerbaijan", "sources": "wof" }, "expected": { "priorityThresh": 2, "properties": [ { "layer": "region", "name": "Xacmaz", "region": "Xacmaz", "country": "Azerbaijan", "country_a": "AZE" } ] } }, { "id": 800, "status": "pass", "user": "trescube", "type": "dev", "notes": "macroregion should be queried with state input", "in": { "region": "Marche" }, "expected": { "properties": [ { "layer": "macroregion", "name": "Marche", "country_a": "ITA", "country": "Italy", "macroregion": "Marche" } ] } }, { "id": 801, "status": "pass", "user": "trescube", "type": "dev", "notes": "macroregion should be queried with state input", "in": { "region": "Marche" }, "expected": { "properties": [ { "layer": "macroregion", "name": "Marche", "country_a": "ITA", "country": "Italy", "macroregion": "Marche" } ] } }, { "id": 802, "status": "pass", "user": "trescube", "type": "dev", "notes": "macroregion should be queried with state input", "in": { "region": "Northern Finland", "country": "Finland" }, "expected": { "properties": [ { "layer": "macroregion", "name": "Northern Finland", "country_a": "FIN", "country": "Finland", "macroregion": "Northern Finland" } ] } }, { "id": 900, "status": "pass", "user": "trescube", "type": "dev", "notes": "dependency-only", "in": { "country": "United States Virgin Islands" }, "expected": { "properties": [ { "layer": "dependency", "name": "US Virgin Islands", "dependency": "US Virgin Islands" } ] } }, { "id": 901, "status": "pass", "user": "trescube", "type": "dev", "notes": "country name with dependency layer", "in": { "country": "United States", "layers": "dependency" }, "expected": { "properties": [ { "layer": "dependency", "name": "US Virgin Islands", "dependency": "US Virgin Islands" } ] } }, { "id": 902, "status": "pass", "user": "trescube", "type": "dev", "notes": "british dependency", "in": { "country": "Bermuda" }, "expected": { "properties": [ { "layer": "dependency", "name": "Bermuda", "dependency": "Bermuda" } ] } }, { "id": 1000, "status": "pass", "user": "trescube", "type": "dev", "notes": "country-only", "in": { "country": "USA" }, "expected": { "properties": [ { "layer": "country", "name": "United States", "country_a": "USA", "country": "United States" } ] } }, { "id": 1001, "status": "pass", "user": "trescube", "type": "dev", "notes": "country-only", "in": { "country": "US" }, "expected": { "properties": [ { "layer": "country", "name": "United States", "country_a": "USA", "country": "United States" } ] } }, { "id": 1002, "status": "pass", "user": "trescube", "type": "dev", "notes": "country-only", "in": { "country": "United States" }, "expected": { "properties": [ { "layer": "country", "name": "United States", "country_a": "USA", "country": "United States" } ] } }, { "id": 1003, "status": "pass", "user": "trescube", "type": "dev", "notes": "country-only", "in": { "country": "THA", "sources": "whosonfirst" }, "expected": { "properties": [ { "layer": "country", "name": "Thailand", "country_a": "THA", "country": "Thailand" } ] } }, { "id": 1004, "status": "pass", "user": "trescube", "type": "dev", "notes": "country-only", "in": { "country": "FR" }, "expected": { "properties": [ { "layer": "country", "name": "France", "country_a": "FRA", "country": "France" } ] } }, { "id": 1005, "status": "pass", "user": "trescube", "type": "dev", "notes": "country-only", "in": { "country": "Australia", "sources": "whosonfirst" }, "expected": { "properties": [ { "layer": "country", "name": "Australia", "country_a": "AUS", "country": "Australia" } ] } }, { "id": 1100, "status": "pass", "user": "trescube", "type": "dev", "notes": "venue+address should ignore address", "in": { "venue": "police", "address": "1090 N Charlotte Street", "locality": "Lancaster", "region": "PA" }, "expected": { "properties": [ { "layer": "venue", "name": "Lancaster Bureau of Police", "locality": "Lancaster", "region_a": "PA" } ] } }, { "id": 1101, "status": "pass", "user": "trescube", "type": "dev", "notes": "venue+address should also search category", "in": { "venue": "nightlife", "address": "1090 N Charlotte Street", "locality": "Lancaster", "region": "PA" }, "expected": { "properties": [ { "layer": "venue", "name": "Chameleon Club", "locality": "Lancaster", "region_a": "PA" } ] } }, { "id": 1102, "status": "pass", "user": "trescube", "type": "dev", "notes": "venue+street should ignore street", "in": { "venue": "police", "address": "N Charlotte Street", "locality": "Lancaster", "region": "PA" }, "expected": { "properties": [ { "layer": "venue", "name": "Lancaster Bureau of Police", "locality": "Lancaster", "region_a": "PA" } ] } }, { "id": 1103, "status": "pass", "user": "trescube", "type": "dev", "notes": "non-existent venue+address should fallback to address", "in": { "venue": "unsupported venue", "address": "1090 N Charlotte Street", "locality": "Lancaster", "region": "PA" }, "expected": { "properties": [ { "layer": "address", "housenumber": "1090", "street": "N Charlotte St", "locality": "Lancaster", "region_a": "PA" } ] } }, { "id": 1104, "status": "pass", "user": "trescube", "type": "dev", "notes": "non-existent venue+street should fallback to street", "in": { "venue": "unsupported venue", "address": "N Charlotte Street", "locality": "Lancaster", "region": "PA" }, "expected": { "properties": [ { "layer": "street", "street": "North Charlotte Street", "locality": "Lancaster", "region_a": "PA" } ] } }, { "id": 1105, "status": "pass", "user": "trescube", "type": "dev", "notes": "non-existent venue+locality should fallback to locality", "in": { "venue": "unsupported venue", "locality": "Lancaster", "region": "PA" }, "expected": { "properties": [ { "layer": "locality", "locality": "Lancaster", "region_a": "PA" } ] } }, { "id": 1201, "status": "pass", "user": "julian", "notes": "saint should be handled when not-abbreviated", "issue": "https://github.com/pelias/api/issues/1077", "in": { "locality": "saint-pavace", "country": "France" }, "expected": { "properties": [ { "layer": "locality", "locality": "Saint-Pavace", "country": "France" } ] } }, { "id": 1202, "status": "fail", "user": "julian", "notes": "saint should be handled when not-abbreviated in address searches", "issue": "https://github.com/pelias/pelias/issues/737", "in": { "address": "412 saint patrick st", "locality": "donaldsonville" }, "expected": { "properties": [ { "layer": "address", "housenumber": "412", "street": "St Patrick St", "locality": "Donaldsonville", "region": "Louisiana" } ] } } ] }