特定の場所に複数のコードがある場合、郵便番号データベースから特定の場所の緯度/経度を計算するにはどうすればよいですか? たとえば、ニューヨーク市には 165 の郵便番号があります。
SQL の例 (テーブルには緯度と経度の列もあります):
SELECT City, [State], StateAbbr, Country, COUNT(*) AS ctCodes
FROM PostalCodes
WHERE (City = 'New York City' AND StateAbbr = 'NY')
GROUP BY City, [State], StateAbbr, Country
ORDER BY ctCodes DESC
戻り値:
City | State | StateAbbr | Country | ctCodes
New York City | New York | NY | US | 165
境界の中心の緯度/経度を計算することを検討しましたが、これは少し複雑になります。次のクエリを検討してください。
SELECT City, [State], StateAbbr, Country,
COUNT(*) AS ctCodes,
MIN(Latitude) AS south,
MAX(Latitude) AS north,
MIN(Longitude) AS west,
MAX(Longitude) AS east
FROM PostalCodes
WHERE (City = 'New York City' AND StateAbbr = 'NY')
GROUP BY City, [State], StateAbbr, Country
ORDER BY ctCodes DESC
戻り値:
City | State | StateAbbr | Country | ctCodes | south | north | west | east
New York City | New York | NY | US | 165 |40.69640|40.86620|-74.02530|-73.67310
北アメリカでは外接する長方形を取得できますが、南半球や本初子午線の東では明らかに機能しません。私は正しい道を進んでいますか?これを行うより良い方法はありますか?どんな助けでも大歓迎です。