我是新手,基本上对我正在做的事情一无所知。 (仅供参考我正在使用本教程: http://bost.ocks.org/mike/map/)
我正试图让topojson工作。 我已经成功安装了自制程序和节点。 我做完了 “npm install -g topojson”部分也是如此。
然后,在那之后,当我尝试输入“哪个ogr2ogr”等 - 只是,没有任何反应。 他说如果编辑路径变量环境有困难。我对这意味着什么只有一个含糊的概念,并且不确定这是否是我的问题。
让我知道您需要的其他信息。我真的只是想制作一张地图。全局安装似乎确实有效。我只是不知道该怎么做。
答案 0 :(得分:3)
您链接的教程是一个很好的起点。我希望在尝试自己解决所有问题之前我已经看过了。 :)
据我了解,您可能错过了安装gdal
的步骤。如果您发现其他一些错误,请在问题中发帖。
你可以通过运行来获得ogr2ogr:
brew install gdal
这里有一些背景信息,所以你可以更好地了解那里发生的事情。
topojson
和ogr2ogr
是两个不同的实用程序。 ogr2ogr
是gdal
包的一部分,在我们的例子中用于从shapefile生成GeoJSON。
GDAL是栅格地理空间数据格式的翻译库 由Open公布的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);
答案 1 :(得分:0)
对于ubuntu,我用这种方式有ogr2ogr
sudo apt-get install gdal-bin