我使用的是python-geojson 1.0.9,由于某种原因,它产生的输出json无效。我已尝试在我的Google地图API上使用它,但不起作用。我通过geojson.io检查了它,它类似于无效。
我使用图书馆错了吗?或者这是图书馆的问题吗?
我的Python代码如下:
DATABASE FORMAT
1. ROW 0 = node_number
2. ROW 1 = latitude
3. ROW 2 = longitude
4. ROW 3 = time
5. ROW 4 = water_level
dict = {}
print "\n Show me the databases: \n"
for row in rows:
dict[row[0]] = {'latitude' : str(row[1]), 'longitude' : str(row[2]), 'time' : str(row[3]), 'water_level' : str(row[4]), 'node_number' : str(row[0])}
print dict
nodeCount = 0
plist=[]
flist=[]
for node in dict:
#Cast our GPS coords into floats
lat = float(dict[node]['latitude'])
lon = float(dict[node]['longitude'])
print "\n Point = %d : Lat = %f Long = %f" % (nodeCount,lat,lon)
#Increase nodeCount
nodeCount += 1
# Generate point and add to point list
point = Point((lon,lat))
plist.append(point)
# Generate feature and add it to feature list
feature = Feature(geometry=point, properties={"nodeNumber": dict[node] ['node_number'], "waterLevel": dict[node]['water_level'], "time": dict[node]['time'], "longitude": dict[node]['longitude'], "latitude": dict[node]['latitude']})
flist.append(feature)
# Generate Feature Collection and dump to file
FeatureClct = FeatureCollection(flist)
#Encode FeatureCollection as JSON
dump = geojson.dumps(FeatureClct, sort_keys=True)
print dump
with open("output.json", "w") as text_file:
text_file.write("%s" % dump)
这是我得到的JSON输出:http://104.236.77.88/bostonunderwater/geojson/ 请注意,eqfeed_callback(JSON)是我手动放置的包装器,即使删除它,JSON仍然无效。
您可以给出关于我为什么生成无效JSON的任何可能方向,我们将非常感激。
答案 0 :(得分:0)
该链接中的GeoJSON(没有包装器)有效。您可以在这里查看自己:http://geojsonlint.com/只需复制/粘贴到textarea并且不要忘记点击" FeatureCollection"首先在顶部导航栏中。当我通过http://jsonlint.com/运行它时它也是有效的。http://geojson.io/必须是粗略的,因为你的GeoJSON非常好。