UsZipCode --> вход -> (почтовый индекс, радиус) выход -> (список почтовых индексов)
Вот что я пробовал из этого
search = SearchEngine()
search.query(zipcode="74104", radius="30", returns=5)
возвращается
[SimpleZipcode(zipcode='74104', zipcode_type='Standard', major_city='Tulsa', post_office_city='Tulsa, OK', common_city_list=['Tulsa'], county='Tulsa County', state='OK', lat=36. 15, lng=-95.96, timezone='Central', radius_in_miles=1.0, area_code_list=['918'], population=12724, population_density=4673. 0, land_area_in_sqmi=2.72, water_area_in_sqmi=0.0, housing_units=6606, occupied_housing_units=5794, median_home_value=136200, median_household_income=36848, bounds_west=-95. 970417, bounds_east=-95.940281, bounds_north=36.160214, bounds_south=36.13323)]
Если я указываю радиус как int
search = SearchEngine()
search.query(zipcode="74104", radius=30, returns=5)
Я получаю
Вы можете указать либо все из
lat
,lng
,radius
, либо ни одного из них
Не уверен, что делаю неправильно
Сообщение об ошибке указывает на то, что поиск можно вести только с помощью параметров lat
, lng
и radius
, или ни одного из них.
Вы не должны иметь возможность делать запросы, используя только zipcode
и radius
. Скорее всего, это недоработка пакета, поскольку вы получите те же результаты, если будете искать с помощью search.query(zipcode=74104, returns=5)
, вы можете извлечь 74104
и lat
из результата: lng
results = search.query(zipcode=74104, returns=5)
# [SimpleZipcode(zipcode='74104', zipcode_type='Standard', major_city='Tulsa', post_office_city='Tulsa, OK', common_city_list=['Tulsa'], county='Tulsa County', state='OK', lat=36.15, lng=-95.96, timezone='Central', radius_in_miles=1.0, area_code_list=['918'], population=12724, population_density=4673.0, land_area_in_sqmi=2.72, water_area_in_sqmi=0.0, housing_units=6606, occupied_housing_units=5794, median_home_value=136200, median_household_income=36848, bounds_west=-95.970417, bounds_east=-95.940281, bounds_north=36.160214, bounds_south=36.13323)]
result = results[0].to_dict()
lat = result['lat']
lng = result['lng']
nearby_zipcodes = search.query(lat=lat, lng=lng, radius=30)
Как ни странно, почтовый индекс 74104
отсутствует в списке почтовых индексов поблизости от указанной широты и долготы.