我想将geojson文件导入python,因此我可以使用可视化包vincent将其映射,并与pandas数据框中的其他数据合并。
具体而言,所述geojson文件为:http://ec2-54-235-58-226.compute-1.amazonaws.com/storage/f/2013-05-12T03%3A50%3A18.251Z/dcneighorhoodboundarieswapo.geojson。这是一张由邻居组成的DC地图,由Justin Grimes整理。
现在,我只想在笔记本上想象这张地图。这是我的代码:
import vincent
map=r'http://ec2-54-235-58-226.compute-1.amazonaws.com/storage/f/2013-05-12T03%3A50%3A18.251Z/dcneighorhoodboundarieswapo.geojson'
geo_data = [{'name': 'countries',
'url': map,
'feature': "features"}]
vis = vincent.Map(geo_data=geo_data, scale=5000)
vis
但我不断收到错误消息,本地主机说:[Vega err]加载失败。
我在这里做错了什么?
我还不太了解GIS和Python,所以我要求你在解释中具体说明。先感谢您。
答案 0 :(得分:1)
目前,除了x = {1, 1, 1, 2, 2, 3, 'foo', 'foo', 'bar', 1e7};
% unique(x); % error
if ~(~iscell(x) || iscellstr(x))
y = cellfun(@(c)(char(getByteStreamFromArray(c))), x, 'uniformoutput', false);
end
[vals, inds] = unique(y, 'stable');
xUnique = cellfun(@(c)(getArrayFromByteStream(uint8(c))), vals, 'uniformoutput', false)
文件格式外,您无法使用vincent
任何地图(参见https://github.com/mbostock/topojson/wiki)。
您可以使用http://maphasher.org等网络工具或使用命令行实用程序(https://github.com/mbostock/topojson/wiki/Command-Line-Reference)将topojson
转换为geojson
,其命令如下:
topojson
(topojson -p -o <target-file>.topo.json -- <input-file>.json
表示保持几何属性的实用程序。)