郵便番号データベースを取得することは問題ありません。この無料のものを試すことができます:
http://zips.sourceforge.net/
それがどれほど最新のものかはわかりませんが、多くのプロバイダーのいずれかを使用できます。私たちはZipCodeDownload.comの年間サブスクリプションを持っており、おそらく 100 ドルで、郵便番号の重心の緯度/経度を含む最新の郵便番号データを毎月更新しています。
特定の半径内のすべての郵便番号のクエリについては、何らかの空間ライブラリが必要になります。緯度/経度を含む zip のテーブルがあるだけの場合は、データベース指向のメカニズムが必要になります。SQL Server 2008 にはこの機能が組み込まれており、そのような機能を SQL Server 2005 に追加するオープン ソース ライブラリと商用ライブラリがあります。オープン ソース データベース PostgreSQL には、この機能をそのデータベースに追加するプロジェクト PostGIS があります。ここにあります:http://postgis.refractions.net/
他のデータベース プラットフォームにもおそらく同様のプロジェクトがありますが、それらは私が認識しているものです。これらの DB ベースのライブラリの 1 つを使用すると、特定の半径内の任意の郵便番号 (または緯度/経度の列を持つ任意の種類の行) を直接クエリできるはずです。
別のルートに進みたい場合は、マッピング ライブラリで空間ツールを使用できます。ここには、SharpMapや、米国の無料のタイガー マップをデータ ソースとして使用できる他の多くの( Google が支援できる) などのオープン ソース オプションもあります。ただし、このルートはやや複雑であり、半径検索だけが必要な場合はパフォーマンスが低下する可能性があります。
最後に、Web サービスを調べることもできます。あなたが言うように、これは一般的なニーズであり、指定された郵便番号から指定された半径内のすべての郵便番号を提供できる、サブスクライブできる web サービスはいくつもあると思います。簡単な Google 検索でこれが見つかりました:
http://www.zip-codes.com/free-zip-code-tools.asp#radius
しかし、この件に関する検索には多くのリソースが必要です。