我想訪問美國人口普查地理編碼批次地址的API,在這裏找到:http://geocoding.geo.census.gov/geocoder/發佈並R中使用HTTR從API接收數據
我也通過這裏的API文檔了:http://geocoding.geo.census.gov/geocoder/Geocoding_Services_API.pdf
我試圖在R中使用httr包來發布使用以下格式的格式化地址的批量csv文件:唯一ID,街道地址,城市,州,郵編 我試過使用單個地址請求版本來自RCurl的getURL並且工作正常,但postForm似乎沒有以正確的方式提交文件。我現在使用的代碼似乎正確發佈請求,但我沒有收到任何地理編碼數據。
curlhandle <- handle("http://geocoding.geo.census.gov/geocoder/geographies/addressbatch",
cookies = TRUE)
# using fileUpload from RCurl instead of upload_file from httr
upload3 <- fileUpload(contents = address100, contentType = "file")
test <- POST(url="http://geocoding.geo.census.gov/geocoder/geographies/addressbatch",
body = list(addressFile = upload3,
benchmark = "Public_AR_Census2010",
vintage="Census2010_Census2010"),
encode = "multipart",
handle = curlhandle,
followLocation = TRUE,
verbose = TRUE)
我的要求丟失了什麼嗎?我不確定在這種情況下是否應該使用寫入功能& writedata。任何幫助,將不勝感激!
你得到什麼錯誤?什麼是「address100」?你爲什麼使用'httr'而不是'upload_file'?嘗試發佈到http://httpbin.org/post來查看您的請求是否正確。 – Jeroen 2014-11-20 20:28:43
謝謝!我得到的內容(測試)將是一個單獨的字符串,表示「可能不是空」,表示請求已經通過,但以某種方式很糟糕,因此顯示爲空響應。我使用RCurl的fileUpload,因爲upload_file似乎只接受文件的路徑,而我試圖上傳一個R數據對象。 – Sandy 2014-11-22 03:59:20