0
本文作者: AI研習(xí)社-譯站 | 2018-08-13 15:34 |
雷鋒網(wǎng)按:本文為AI研習(xí)社編譯的技術(shù)博客,原標(biāo)題 Analyzing Utah’s Air Quality – Connecting to the EPA’s AQS Data API,作者為 Randy Zwitch 。
翻譯 | 京鵬 校對(duì) | 余杭 整理 | 余杭
住在山谷里有點(diǎn)像生活在湯碗里,所有重物似乎都集中在碗底。 我想說猶他州的許多山谷被稱為地壘和地塹,雖然我確信一些地質(zhì)學(xué)家可能糾正我的錯(cuò)誤。無論如何,四面環(huán)山意味著空氣污染往往會(huì)收集并集中在山谷底。
從伍德蘭丘陵看猶他州
作為一個(gè)終身的猶他人,我開始懷疑污染有多嚴(yán)重? 新聞?dòng)浾咚坪跽J(rèn)為很糟糕。 政界人士卻說這種情況從未如此好過。 有多糟糕呢? 它對(duì)房地產(chǎn)價(jià)值等因素有何影響? 有多少人受到影響?
為了幫助回答其中一些問題,我們與 MapD 的高級(jí)開發(fā)人員倡導(dǎo)者 Randy Zwitch 合作。 通過這種合作,我們希望可以更好地了解猶他州的空氣質(zhì)量及其影響,并且隨著我們的學(xué)習(xí),我們將與您分享我們的流程。
這種合作關(guān)系將產(chǎn)生一系列博客文章,記錄我們的流程和學(xué)習(xí)所得。
分析猶他州空氣質(zhì)量
第一部分: 連接到 EPA 的 AQS 數(shù)據(jù) API
第二部分:AQS 數(shù)據(jù)清理和轉(zhuǎn)化
第三部分:使用 Shapefile 并在 MapD 中分配AQI站點(diǎn)
第四部分:在 MapD 中構(gòu)建猶他州 AQI 儀表板
第五部分:最終分析:空氣質(zhì)量調(diào)查結(jié)果
讓我們開始吧...
在 EPA.gov 上注冊(cè)一個(gè)賬號(hào)
我們需要從環(huán)保局獲取我們的空氣質(zhì)量數(shù)據(jù)。數(shù)據(jù)免費(fèi)提供,唯一的要求是創(chuàng)建一個(gè)賬戶,用于訪問空氣質(zhì)量數(shù)據(jù)API。
要?jiǎng)?chuàng)建新帳戶,請(qǐng)?jiān)L問 https://aqs.epa.gov/signup 。您需要提供的唯一信息是電子郵件地址。 在使用您的電子郵件地址提交表單后,您將收到一個(gè)密碼。
熟悉 API 參數(shù)和數(shù)據(jù)
收到 API 密碼后,你就可以通過一個(gè)基于網(wǎng)頁的查詢表查詢空氣質(zhì)量數(shù)據(jù)。
EPA 上基于網(wǎng)頁的空氣質(zhì)量查詢工具
使用這個(gè)基于網(wǎng)頁的查詢工具可以快速熟悉可用的數(shù)據(jù)類型,用于選擇所需數(shù)據(jù)的參數(shù)以及整體數(shù)據(jù)輸出格式。
確定分析所需的數(shù)據(jù)
通過API可以獲得大量的空氣質(zhì)量數(shù)據(jù),當(dāng)您嘗試使用基于網(wǎng)頁的查詢工具時(shí),您可以開始了解哪種數(shù)據(jù)集最符合您的興趣。 對(duì)于我們的分析,我們使用以下參數(shù):
AQI污染物:該數(shù)據(jù)集包含用于測量空氣質(zhì)量指數(shù)的所有污染物,您可能更熟悉將其作為污染物指標(biāo),例如今天我們的空氣污染是紅色,請(qǐng)拼車出行。
參數(shù)代碼:我們沒有提供參數(shù)代碼,因?yàn)槲覀兿胍u(píng)估所有與AQI相關(guān)的污染物。 但是,如果您只對(duì)臭氧感興趣,可以通過傳入“臭氧”參數(shù)代碼(44201 - 臭氧)來限制查詢。
州代碼:在這個(gè)分析中,我們對(duì)猶他州(49 - 猶他州)感興趣。
郡代碼:我們想要檢索猶他州所有郡的空氣質(zhì)量數(shù)據(jù),但是將此參數(shù)留空會(huì)導(dǎo)致 API 調(diào)用失敗,因此我們需要單獨(dú)請(qǐng)求每個(gè)郡的數(shù)據(jù)集。 下一步有更多這方面的內(nèi)容。
從網(wǎng)頁表格遷移到編程 API 調(diào)用
一旦您理解了數(shù)據(jù)并了解了如何構(gòu)建查詢,就可以從基于網(wǎng)頁的表單轉(zhuǎn)換為您選擇的編程語言,以便對(duì)數(shù)據(jù)進(jìn)行檢索,挖掘,清理,傳輸?shù)取?對(duì)于此示例,我們將使用Python。
有關(guān)如何與API交互的詳細(xì)文檔,請(qǐng)參閱:https://aqs.epa.gov/aqsweb/documents/ramltohtml.html
Python 腳本示例
項(xiàng)目路徑結(jié)構(gòu)
讓我們分解這個(gè)例子中的操作:
第1步: 導(dǎo)入 Python 庫
pandas:由于數(shù)據(jù)來自API,我們將使用 Pandas 將數(shù)據(jù)存儲(chǔ)在 DataFrame 中。 稍后,我們將在操作數(shù)據(jù)時(shí)使用Pandas 的其他功能。
io:我們將使用 io 庫來解碼從API返回的數(shù)據(jù)。
requests:Requests 庫將用于向 EPA.gov 服務(wù)器發(fā)出API請(qǐng)求。
第2步:創(chuàng)建 Pandas Dataframe
我們將創(chuàng)建一個(gè)空的 DataFrame 來存儲(chǔ) API 的響應(yīng)。
第3步: 導(dǎo)入配置數(shù)據(jù)
如前所述,我們無法請(qǐng)求整個(gè)州的數(shù)據(jù),因此我們需要一種有效的方法來按縣逐個(gè)請(qǐng)求數(shù)據(jù)。 為了使代碼更具可伸縮性,我們將使用 county.py 來檢索要處理的郡列表。 雖然我們?cè)谶@里只看猶他州,但代碼可以很容易地?cái)U(kuò)展到處理任何州.
將用于構(gòu)造 API 調(diào)用的基本配置信息包含在名為 config.py 的文件中,此文件作為基本配置文件運(yùn)行,您要從主項(xiàng)目代碼中抽象出來的任何細(xì)節(jié)都可以放到里面。
第4步: 遍歷州的每個(gè)郡
現(xiàn)在我們需要遍歷有興趣分析的州的每個(gè)郡。
這就是我們定義循環(huán)的方式。 使用 county.py 中包含的縣列表,我們將遍歷州的縣列表中的每個(gè)縣名(如 config.py 中所定義)。 對(duì)我們來說,我們的 config.stateName = utah。
第5步: 構(gòu)建API調(diào)用
......
想要繼續(xù)閱讀,請(qǐng)移步至我們的AI研習(xí)社社區(qū):https://club.leiphone.com/page/TextTranslation/771
更多精彩內(nèi)容盡在 AI 研習(xí)社。
不同領(lǐng)域包括計(jì)算機(jī)視覺,語音語義,區(qū)塊鏈,自動(dòng)駕駛,數(shù)據(jù)挖掘,智能控制,編程語言等每日更新。
雷鋒網(wǎng)雷鋒網(wǎng)
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。