Python-geoJSON生成无效的JSON输出

时间:2015-02-14 00:09:47

标签: python json geojson

我使用的是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的任何可能方向,我们将非常感激。

1 个答案:

答案 0 :(得分:0)

该链接中的GeoJSON(没有包装器)有效。您可以在这里查看自己:http://geojsonlint.com/只需复制/粘贴到textarea并且不要忘记点击" FeatureCollection"首先在顶部导航栏中。当我通过http://jsonlint.com/运行它时它也是有效的。http://geojson.io/必须是粗略的,因为你的GeoJSON非常好。