Получение базы данных с почтовым индексом не проблема. Вы можете попробовать это бесплатно:
http://zips.sourceforge.net/
Хотя я не знаю, насколько это актуально, или вы можете использовать одного из многих провайдеров. У нас есть годовая подписка на ZipCodeDownload.com , и, возможно, за 100 долларов мы получаем ежемесячные обновления с последними данными почтового индекса в комплекте с широтой / долготой центроида почтового индекса.
Что касается запросов ко всем почтовым индексам в пределах определенного радиуса, вам понадобится пространственная библиотека некоторого вида. Если у вас есть таблица zip с латами / лонгами, вам понадобится механизм, ориентированный на базу данных. SQL Server 2008 имеет встроенную возможность, и есть библиотеки с открытым исходным кодом и коммерческие библиотеки , которые добавят такие возможности в SQL Server 2005. База данных с открытым исходным кодом PostgreSQL имеет проект PostGIS это добавляет эту возможность в эту базу данных. Это здесь: http://postgis.refractions.net/
Другие платформы баз данных, вероятно, имеют подобные проекты, но это те, о которых я знаю. С помощью одной из этих библиотек на основе БД вы сможете напрямую запрашивать любые почтовые индексы (или любые строки любого типа, имеющие столбцы широта / длина) в пределах заданного радиуса.
Если вы хотите пойти другим путем, вы можете использовать пространственные инструменты с библиотекой отображений. Здесь также есть опции с открытым исходным кодом, такие как SharpMap и многие другие ( Google может помочь ), которые могут использовать бесплатные карты Тигра для Соединенных Штатов. в качестве источника данных. Однако этот маршрут несколько сложнее и, возможно, менее эффективен, если вам нужен только поиск по радиусу.
Наконец, вы можете заглянуть в веб-сервис. Это, как вы говорите, является общей потребностью, и я полагаю, что существует любое количество веб-сервисов, на которые вы можете подписаться, которые могут предоставить все почтовые индексы в заданном радиусе из предоставленного почтового индекса. Быстрый поиск Google обнаружил это:
http://www.zip -codes.com / свободный почтовый код-tools.asp # радиус
Но есть МНОГИХ ресурсов для поиска по этой теме.