我在网页上渲染了两张地图,而我正在使用d3来完成它。一个是世界地图,代表所有国家的边界。我正在使用的文件是这个版本: https://raw.github.com/mbostock/topojson/master/examples/world-110m.json
第二张地图是美国各州。我只需要国家边界(不是县)。我正在使用此文件的修改版本: http://bl.ocks.org/mbostock/raw/4090846/us.json
我已修改两个文件以包含名称和两个字母的州或国家/地区代码),我将其用于工具提示。
world-110m.json文件大约是100kb。 states.json文件超过650kb。谁能解释为什么会这样?而且,更重要的是,我可以从states.json文件中删除哪些文件以大幅缩小其大小,同时仍然有效?
两个文件都为每个节点定义了弧,并且在文件末尾附近有一个“弧”节点。各州的弧节点是巨大的。我有一种感觉状态json文件具有我不需要的所有县边界。
答案 0 :(得分:4)
除了rysloan建议,您还可以使用Mapshaper和QGIS来提取州边界。这两个都是免费的。要获得美国 - 州遵循以下步骤:
答案 1 :(得分:0)
如果您的州json文件仍然包含:
objects:{"counties..."
然后你的文件中仍然有县边界。在使用之前,您需要对文件进行一些预处理。您可以使用javascript删除'counties'属性(下划线是一个很好的对象操作库,请参阅_.omit)。其他选项涉及使用一些gis来解散县多边形。 PostGIS和R将有两种免费方式(参见post中的ST_UNION或R的maptools库中的unionSpatialPolygons)。
至于使世界边界地图变小,我不太确定。看起来像它漂亮的裸骨。