私はPython geojsonモジュールを使用してGeoJSONファイルを構築しようとしています。物理的な変数(速度、温度、等)。情報はnetcdfファイルから得られます。"JSON準拠の番号ではありません" geojsonファイルを構築する
ように、コードは、そのようなものである:ここで
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*
これは経度に相当します。誰かが私に何が間違っているかも説明できますか?
あなたのエラーに対応するにGeoJSONモジュール内のコードのみがここに発見された:https://github.com/frewsxcv/python-geojson/blob/bfea4a814632806761093eafcd50de27ec013de7/geojson/geometry.py#L35-L40 'クラス(ベロシティ).__ name__'を試して、ベロシティ番号のクラスを確認できますか? – bretmattingly
すべては、クラス "numpy.float32"のnumpy配列です。 – user1259970