我正在尝试使用Python geojson模块构建一个GeoJSON文件,该模块包含一个常规的二维网格点,其“属性”与地球物理变量(速度,温度等)相关联。该信息来自netcdf文件。
所以代码是这样的:
from netCDF4 import Dataset
import numpy as np
import geojson
ncfile = Dataset('20140925-0332-n19.nc', 'r')
u = ncfile.variables['Ug'][:,:] # [T,Z,Y,X]
v = ncfile.variables['Vg'][:,:]
lat = ncfile.variables['lat'][:]
lon = ncfile.variables['lon'][:]
features=[]
for i in range(0,len(lat)):
for j in range(0,len(lon)):
coords = (lon[j],lat[i])
features.append(geojson.Feature(geometry = geojson.Point(coords),properties={"u":u[i,j],"v":v[i,j]}))
在这种情况下,该点在“属性”对象中具有速度分量。我收到的错误是在features.append()行上,并带有以下消息:
*ValueError: -5.4989638 is not JSON compliant number*
它对应于经度值。有人可以解释一下可能出错的地方吗?
我使用简单的转换浮动,它消除了这个错误,而不需要numpy。
coords = (float(lon[j]),float(lat[i]))