【问题标题】:How to access The Weather Company (TWC) Data using IBM Data Science Experience (DSX)如何使用 IBM Data Science Experience (DSX) 访问 The Weather Company (TWC) 数据
【发布时间】:2017-12-05 04:49:42
【问题描述】:

我正在使用 IBM Data Science Experience (DSX),https://datascience.ibm.com/。我将 R 与 RStudio 一起使用。

  1. 是否可以使用 R 从 DSX 访问数据?

  2. 如果没有,还有其他选择。

【问题讨论】:

  • 我在 Bluemix 中提供的服务之一是“天气公司数据”。下面的操作,我采取了取用户名和密码。点击服务“天气公司数据”/点击“天气公司数据”右侧出现的三个点/查看文档/我已经从这里选择了用户名和密码。是这样吗?
  • 没有。您需要从左侧的“Service Credentials”中获取用户名和密码。如果您没有任何凭据,则需要通过单击“新建凭据”按钮来创建它们。您的凭据将出现,然后单击“查看凭据”,您的用户名和密码就会出现。

标签: r rstudio data-science-experience


【解决方案1】:

假设您有一个 DSX 帐户,那么您还应该有一个 IBM Cloud 帐户。如果您在 IBM Cloud 中添加 Weather Company Data 服务,那么您将获得服务凭证(即用户名和密码)。有了凭据,您就可以使用 httr 库,例如,在 RStudio 中使用 Wea​​ther Company API 发出 HTTP 请求,例如:

library(httr)

r <- GET("https://<username>:<password>@twcservice.mybluemix.net:443/api/weather/v1/geocode/45.42/75.69/forecast/hourly/48hour.json?units=m&language=en-US")

content(r, "text")

[1] "{\"metadata\":{\"language\":\"en-US\",\"transaction_id\":\"1512488325604:776158712\",\"version\":\"1\",\"latitude\":45.42,\"longitude\":75.69,\"units\":\"m\",\"expire_time_gmt\":1512488925,\"status_code\":200},\"forecasts\":[{\"class\":\"fod_short_range_hourly\",\"expire_time_gmt\":1512488925,\"fcst_valid\":1512489600,\"fcst_valid_local\":\"2017-12-05T22:00:00+0600\",\"num\":1,\"day_ind\":\"N\",\"temp\":-5,\"dewpt\":-5,\"hi\":-5,\"wc\":-8,\"feels_like\":-8,\"icon_extd\":2600,\"wxman\":\"wx1210\",\"icon_code\":26,\"dow\":\"Tuesday\",\"phrase_12char\":\"Cloudy\",\"phrase_22char\":\"Cloudy\",\"phrase_32char\":\"Cloudy\",\"subphrase_pt1\":\"Cloudy\",\"subphrase_pt2\":\"\",\"subphrase_pt3\":\"\",\"pop\":0,\"precip_type\":\"snow\",\"qpf\":0.0,\"snow_qpf\":0.0,\"rh\":100,\"wspd\":6,\"wdir\":236,\"wdir_cardinal\":\"SW\",\"gust\":null,\"clds\":81,\"vis\":16.0,\"mslp\":1034.4,\"uv_index_raw\":0,\"uv_index\":0,\"uv_warning\":0,\"uv_desc\":\"Low\",\"golf_index\":null,\"golf_category\":\"\",\"... <truncated>

这将为您提供加拿大渥太华的 48 小时天气预报。

要获取结果的数据框,请使用以下内容:

library(httr)
library(jsonlite)

r <- GET("https://<username>:<password>@twcservice.mybluemix.net:443/api/weather/v1/geocode/45.42/75.69/forecast/hourly/48hour.json?units=m&language=en-US")

weather <- content(r, "text")

wData <- fromJSON(weather)
weatherDF <- data.frame(wData)

此处为https://console.bluemix.net/docs/services/Weather/weather_tutorials_samples.html#tutorials_samples 提供了一些向您展示如何在 IBM Cloud 上使用 Wea​​ther Company API 的示例。

【讨论】:

  • 谢谢。当我发出 content(r, "parsed") 时,我收到“错误:没有可用于应用程序/八位字节流的自动解析器”。对象 r 是 10 个列表。r 中的哪个列表 id 包含预测数据。
  • 您是否使用了在 IBM Cloud 上创建 Weather Company Data 服务时获得的用户名和密码?如果您没有将 Weather 服务中的用户名和密码添加到 API 的 URL 中,则会收到该错误。你从 API 中得到的都是预测数据。我已经更新了答案,以显示您使用“文本”数据会得到什么。
  • 如何从 r 制作数据框?
  • 谢谢。它运作良好。每小时是最低级别的数据吗?如何获取某个位置(例如 2016 年 1 月 1 日至 2017 年 11 月 31 日)的每小时数据?
  • 您可能希望接受原始问题的答案并为此后续问题打开一个新问题 - 更多人会看到它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多