我有来自查询的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
,例如只提取第一个点的坐标?
答案 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'])