緯度、経度を国勢調査地区にジオコードするAPI


10

米国に緯度と経度の座標(主に都市/町の重心)がたくさんあります。そのために、含まれている国勢調査地区を検索します。

例えば、

input => nn.nnn, -nn.nnn 
output => 010300

役立つ無料または低コストのAPIはありますか?(本質的にはYahoo Placefinder、国勢調査地区の追加の応答を伴う。)

(多くの都市には複数の国勢調査区が含まれていることを理解しています。一部の小さな町には1つ以上の国勢調査区の一部しか含まれていないと思います。今のところその問題を無視しても問題ありません。)


特定の地域や国にとらわれない解決策を考えていますか?
radek 2012年

回答:


9

FCC国勢調査ブロック変換 APIは、あなたが探しているものを正確にです。


うん。恥ずかしいです。プロジェクトの別の部分で検討し、忘れていました。ありがとう。
Citizentools 2012年

2018年には、リンクに「このAPIは新しいエリアおよび国勢調査ブロックAPIに置き換えられ、応答時間を短縮し、エリア関連の追加のデータ要素をサポートするように更新されました。このため、このレガシーAPIは廃止されます。」およびgeo.fcc.gov/api/censusへのリンク。後世へのコメント
arvi1000

5

PostGISでは、ポイントのテーブルがあり、@ Sminbamanguが参照する国勢調査境界情報がある場合、次のアプローチを使用してこれを計算できます。

SELECT 
       c.census_tract, 
       p.point_id
FROM
       census_boundary as c,
       table_of_points as p
WHERE
       ST_Contains(c.geom, p.geom);

ST_Containsの説明はここにあります。これにより、ポイントのテーブルと、それらが配置されている国勢調査地区が返されます。


Spatialiteで10ポイントとカリフォルニアのデータで試してみたところ、約0.2秒で完了しました... +1。
シンバマング2012年

ニース-Spatialiteを探索する必要があります。私は6か月前にPostGISを使い始めてとても気に入っていますが、それはかなり重い義務です。インターネットがないときのために移植可能なより多くの自己完結型のデータセットがあるとよいでしょう。
djq

2

オンラインAPIの代わりにローカルで行うことができます。Rに関する1つのソリューション:米国の国勢調査境界データは、TIGERのcensus.govから入手できます。米国について考えている場合は、米国の州をダウンロードし、関数を使用して地域を取得できます。たとえば、カリフォルニアとランダム(またはランダムっぽい)ポイントを使用すると、次のようになります。

library(maps)
library(maptools)


tractLookup <- function(x, y, state) {
  pt <- SpatialPoints(data.frame(x = x, y = y))
  overlay.pt <- overlay(pt, state) # what index number does pt fall inside?
  return(census$TRACT[overlay.pt]) # give the Tract number from the census layer
}

やってみて:

california <- readShapePoly("~/Downloads/US_2000_Census_Tracts/tr06_d00_shp/tr06_d00.shp")
tractLookup(-123.123, 40.789, california)

0004を与えます、これは正しいです。

# Look at the map
plot(census)
map('state', c('California'), lwd = 2, col = 'green', add = F) # optional
points(-123.123, 40.789, col = 'red', lwd = 2)

これは機能しますが、私のMacで5秒かかります。これをたくさん行うとしたら、多すぎるでしょう。私は誰かが100万倍速いPostGISソリューションをすぐに検討するのではないかと思います...


1

@Simbamanguが述べたように、これは市場に出回っているほぼすべてのデスクトップGISソフトウェアによってローカルで簡単に実行できます。

無料のオープンソースについては、QGISの場所による属性の結合」をご覧ください

これを繰り返し行う必要がある場合は、データセットをPostGISに入れて空間結合を作成することを検討できます(オンラインヘルプのこの例を参照)。その後、結果をQGISで視覚化できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.