D3.js topojson安装疑难解答

D3.js topojson安装疑难解答,d3.js,shapefile,D3.js,Shapefile,我是新手,基本上不知道我在做什么。 (仅供参考,我正在学习本教程: ) 我正在努力让你工作。 我已成功安装了自制软件和节点。 我已经做完了 “npm安装-g topojson”部分 然后,在那之后,当我试着输入“whichogr2ogr”等时,什么也没发生。 他说如果编辑路径变量环境有困难。我对这意味着什么只有一个模糊的概念,不确定这是否是我的问题 让我知道你还需要什么信息。我真的只想做张地图。全局安装似乎确实起了作用。我不知道从这里该怎么办。你链接的教程是一个很好的起点。我希望我在试图自己解决

我是新手,基本上不知道我在做什么。 (仅供参考,我正在学习本教程: )

我正在努力让你工作。 我已成功安装了自制软件和节点。 我已经做完了 “npm安装-g topojson”部分

然后,在那之后,当我试着输入“whichogr2ogr”等时,什么也没发生。 他说如果编辑路径变量环境有困难。我对这意味着什么只有一个模糊的概念,不确定这是否是我的问题


让我知道你还需要什么信息。我真的只想做张地图。全局安装似乎确实起了作用。我不知道从这里该怎么办。

你链接的教程是一个很好的起点。我希望我在试图自己解决所有问题之前看到它。:)

据我所知,您可能错过了安装
gdal
的步骤。如果您看到其他错误,请在问题中发布

您可以通过运行以下命令使ogr2ogr正常工作:

brew install gdal

这里有一些背景信息给你,这样你就能更好地了解那里发生了什么

topojson
ogr2ogr
是两个不同的实用程序
ogr2ogr
是包的一部分,在本例中用于从shapefile生成GeoJSON

GDAL是一个用于光栅地理空间数据格式的转换器库 是在X/MIT风格的开放源码许可下由开放源码软件发布的 源地理空间基础。作为一个图书馆,它提供了一个 为所有受支持的 格式。它还附带了各种有用的命令行实用程序 用于数据翻译和处理

TopoJSON用于压缩来自上一次GDAL转换的相当大的GeoJSON输出。它通过使用圆弧而不是离散点指定路径来减少冗余。事实上,它相当整洁:

TopoJSON是编码拓扑的GeoJSON的扩展。而不是 以离散方式表示几何体,TopoJSON文件中的几何体是 从称为圆弧的共享线段缝合在一起。TopoJSON 消除冗余,提供更紧凑的 几何比GeoJSON的几何;典型的TopoJSON文件要小80% 比他们的GeoJSON等价物。此外,TopoJSON还有助于 使用拓扑的应用程序,例如拓扑保持形状 简化、自动地图着色和卡通图

这两个步骤(shapefile->GeoJSON->TopoJSON)的输出将是一个JSON字符串,JavaScript很容易解释它。您需要在绘图代码中使用topojson将其转换回GeoJSON以实际绘制地图

回想一下前面两个密切相关的JSON地理数据 格式:GeoJSON和TopoJSON。而我们的数据可以存储得更多 在TopoJSON中,我们必须高效地转换回GeoJSON进行显示。 将此步骤分解为明确的步骤:

var subunits=topojson.object(uk,uk.objects.subunits)


对于ubuntu,我用这种方式创建了ogr2ogr

sudo apt-get install gdal-bin