如何用Python解析GeoJSON

时间:2017-03-12 22:04:44

标签: python parsing 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 个答案:

答案 0 :(得分:7)

你可以像任何json一样阅读它:

import json
data = json.loads(datastring)
data['features'][0]['geometry'] #Your first point

答案 1 :(得分:2)

import geojson
with open(path_to_file) as f:
    gj = geojson.load(f)
features = gj['features'][0]

答案 2 :(得分:1)

您可以直接使用熊猫库

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

重要的是要了解此json文件的结构并在其中操作字典

答案 3 :(得分:0)

您也可以使用geopandas

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

答案 4 :(得分:0)

您可以使用json导入读取它,并打开文件:

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