2017-08-07 16 views
6

GISデータ(https://data.cityofnewyork.us/resource/5rqd-h5ci.json)を含む次のJSONをGeoDataFrameに読み込む際に問題があります。GeoDataFrameにJSONをロード

ジオメトリを設定しようとすると、次のコードが失敗します。 geopandas.GeoDataFrameコンストラクタはPythonのデータ構造としてJSONオブジェクトを処理するために構築することが表示されないため、ジオメトリを設定

import requests 
import geopandas as gpd 
data = requests.get("https://data.cityofnewyork.us/resource/5rqd-h5ci.json") 
gdf = gpd.GeoDataFrame(data.json()) 
gdf = gdf.set_geometry('the_geom') 
gdf.head() 
+0

今後の参考として、このjsonファイルは有効なGeoJSONではないようです。そのようなファイルの場合、 'geopandas.read_file(..)' – joris

答えて

6

は失敗します。したがって、引数が有効なジオメトリ・オブジェクトではないと不平を言う。 shapely.geometry.shapeのように、geopandas.GeoDataFrameが理解できるものに解析する必要があります。ここでは、私の側にエラーなしで走った何のPython 3.5.4です:

#!/usr/bin/env python3 

import requests 
import geopandas as gpd 
from shapely.geometry import shape 

r = requests.get("https://data.cityofnewyork.us/resource/5rqd-h5ci.json") 
r.raise_for_status() 

data = r.json() 
for d in data: 
    d['the_geom'] = shape(d['the_geom']) 

gdf = gpd.GeoDataFrame(data).set_geometry('the_geom') 
gdf.head() 

免責事項:私はジオ何でも絶対に何も知りません。私はこれらのライブラリを知らず、この種のデータは、この賞金に手を差してオンライン文書を少し読んでgeopandasをインストールするまで存在しました。

関連する問題