如何读取R中的GeoJSONP数据?

时间:2015-06-03 22:14:16

标签: r geojson

我正在学习R,我想下载USGS提供的地震数据,用R来探索它。这就是我下载数​​据的方式:

>USGSdata<-fromJSON("http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_month.geojsonp")

但是,如果我执行以下操作来获取文件的属性:

> names(USGSdata)

我明白了:

[1] "type"     "metadata" "features" "bbox"

这不是我要找的......我正在寻找 地震数据的字段/属性的名称(诸如位置,大小,深度等)。

有关如何将GeoJSONP数据转换为普通JSON的任何想法,以便我可以在R中操作它?我知道GeoJSONP与GeoJSON不同。

1 个答案:

答案 0 :(得分:3)

使用readOGR包中的rgdal

> download.file("http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_month.geojson",destfile="/tmp/all_month.geojson")
> all_month=readOGR("/tmp/all_month.geojson","OGRGeoJSON")
OGR data source with driver: GeoJSON 
Source: "/tmp/all_month.geojson", layer: "OGRGeoJSON"
with 8923 features and 26 fields
Feature type: wkbPoint with 3 dimensions

这为您提供了一些可以像数据框一样进行绘图和处理的内容:

> plot(all_month)
> names(all_month)
 [1] "mag"     "place"   "time"    "updated" "tz"      "url"     "detail" 
 [8] "felt"    "cdi"     "mmi"     "alert"   "status"  "tsunami" "sig"    
[15] "net"     "code"    "ids"     "sources" "types"   "nst"     "dmin"   
[22] "rms"     "gap"     "magType" "type"    "title"  
> range(all_month$mag)
[1] -0.73  7.80
> plot(all_month[all_month$mag>7,])
> plot(all_month[all_month$mag>6,])

这是SpatialPointsDataFrame,是sp包中定义的空间数据类之一。