3

我是新手,基本上对我在做什么一无所知。(仅供参考,我正在学习本教程: http ://bost.ocks.org/mike/map/ )

我正在尝试让 topojson 工作。我已经成功安装了自制软件和节点。我也完成了“npm install -g topojson”部分。

然后,在那之后,当我尝试输入“which ogr2ogr”等时——只是,没有任何反应。他说如果无法编辑路径变量环境。我对这意味着什么只有一个模糊的概念,并且不确定这是否是我的问题。

让我知道您还需要什么其他信息。我真的只想做一张地图。全局安装似乎确实有效。我只是不知道从这里做什么。

4

2 回答 2

3

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

据我了解,您可能错过了安装gdal. 如果您看到其他错误,请将它们发布在您的问题中。

您可以通过运行 ogr2ogr 工作:

brew install gdal

这里有一些背景信息,以便您更好地了解那里发生的事情。

topojson并且ogr2ogr是两个不同的实用程序。ogr2ogrgdal包的一部分,在我们的例子中用于从 shapefile 生成 GeoJSON。

GDAL 是一个栅格地理空间数据格式的翻译库,由开源地理空间基金会在 X/MIT 风格的开源许可下发布。作为一个库,它为所有支持的格式向调用应用程序提供一个单一的抽象数据模型。它还带有各种有用的命令行实用程序,用于数据转换和处理。

TopoJSON 用于压缩来自先前 GDAL 转换的相当大的 GeoJSON 输出。它通过指定带有弧线而不是离散点的路径来减少冗余。它非常整洁,实际上:

TopoJSON 是对拓扑进行编码的 GeoJSON 的扩展。TopoJSON 文件中的几何不是离散地表示几何,而是从称为弧的共享线段缝合在一起。TopoJSON 消除了冗余,提供比 GeoJSON 更紧凑的几何表示;典型的 TopoJSON 文件比对应的 GeoJSON 文件小 80%。此外,TopoJSON 促进了使用拓扑的应用程序,例如保留拓扑的形状简化、自动地图着色和制图。

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

回想一下前面提到的两种密切相关的 JSON 地理数据格式:GeoJSON 和 TopoJSON。虽然我们的数据可以更有效地存储在 TopoJSON 中,但我们必须转换回 GeoJSON 才能显示。打破这一步使其明确:

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

于 2013-01-07T15:40:00.470 回答
0

对于ubuntu,我用这种方式来拥有ogr2ogr

sudo apt-get install gdal-bin
于 2013-11-15T01:24:06.993 回答