如何在 R 中读取 GeoJSONP 数据?

How to read GeoJSONP data in R?

我正在学习R,我想下载美国地质调查局提供的地震数据,用R探索它。我是这样下载数据的:

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

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

> names(USGSdata)

我得到:

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

这不是我要找的...我正在寻找 fields/attributes 地震数据的名称(例如位置、震级、深度等)。

关于如何将 GeoJSONP 数据转换为纯 JSON 以便我可以在 R 中对其进行操作的任何想法?我知道 GeoJSONP 与 GeoJSON.

不同

使用 rgdal 包中的 readOGR

> 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 包中定义的空间数据之一 类。