web-dev-qa-db-ja.com

Python)でGeoJSONを解析するにはどうすればよいですか?

クエリからのgeojsonデータがあり、これを解析して画面に出力したいと思います。私の現在のコードは次のとおりです。

import urllib
import geojson

while True:

    url = 'https://earthquake.usgs.gov/fdsnws/event/1/query?format=geojson&starttime=2012-01-01&endtime=2017-03-01&minmagnitude=4.0&maxmagnitude=9.0&minlongitude=5.95&maxlongitude=10.50&minlatitude=45.81&maxlatitude=47.81'
    uh = urllib.urlopen(url)
    data = uh.read()
    print data
    break

dataは単純な文字列のようです。ただし、jsonパラメーターのように解析できると思いました。単一のgeojsonを印刷するには、pointデータをどのように処理する必要がありますか。最初の点の座標のみを抽出するには?

5
stonebe

あなたは他のjsonのようにそれを読むことができます:

import json
data = json.loads(datastring)
data['features'][0]['geometry'] #Your first point
9
Jesse Bakker
import geojson
with open(path_to_file) as f:
    gj = geojson.load(f)
features = gj['features'][0]
7
user2270655

Json importで読み取ることができ、ファイルを開くことができます。

import json
with open(path) as f:
    data = json.load(f)
for feature in data['features']:
    print(feature['properties'])
1
pnz

pandasライブラリを直接使用できます

import pandas as pd
data = pd.read_json('File.geojson')

これが重要なのは、このjsonファイルの構造を理解し、そこで辞書を操作することです。

1

geopandasを使用することもできます。

import geopandas as gpd
earthquake = gpd.read_file('earthquake.geojson')
print(earthquake.head())
1
sagarr