使用带有

时间:2017-01-30 14:57:15

标签: d3.js geojson topojson

对不起,这可能是一个非常基本的问题,但我似乎无法弄明白。

我想使用D3.js映射一些数据,我想使用的地图形状由英国国家统计局提供。我设法显示他们的geojson数据,但是一旦我尝试使用缩放,变换,topojson做任何事情,我就完全失败了。

我经历过很多很多不同的方法,我认为这是导致问题的地图数据。如果我在Mapshaper中打开形状文件,它看起来很完美。如果我导出为geo或topojson并重新导入,它看起来很完美。如果我尝试在geojson导出上运行geo2svg,它会产生大量数据,但没有任何可见的。如果我尝试将原始形状文件导入到mapstarter.com中,则会生成一条扁平线。如果我将topojson放入D3 v4边界示例中,我最终会得到一堆随机三角形。

那么,有人可以告诉我如何将http://geoportal.statistics.gov.uk/datasets/1bc1e6a77cdd4b3a9a0458b64af1ade4_3等ONS映射数据显示在d3示例中,例如https://bl.ocks.org/iamkevinv/0a24e9126cd2fa6b283c6f2d774b69a2

由于

1 个答案:

答案 0 :(得分:1)

您投影的数据已投放。 Mapshaper支持投影数据,但使用d3.geoProjection和投影数据将导致在大多数情况下不显示任何数据。您需要确保您的数据采用lat长对,以便使用d3.geoProjection正确显示。

幸运的是,在Mapshaper中,您可以重新投放数据。将shapefile的所有文件复制到mapshaper中,并在控制台中将投影更改为wgs84(取消投影数据):

proj wgs84

现在可以使用d3.geoProjection轻松显示和操作此数据。这是an example使用您引用的数据。还有截图:

enter image description here

最后:也可以显示投影数据,但这种情况不太常见