2013-01-05 150 views
3

我对此很感兴趣,对于自己的工作基本上没什么想法。 (仅供参考,我正在学习本教程: http://bost.ocks.org/mike/map/topojson安装疑难解答

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

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

让我知道你需要什么其他信息。我真的只想制作一张地图。全球安装似乎工作。我只是不知道从这里做什么。

回答

3

您链接到的教程是一个很好的起点。我希望在看到它之前,试图自己想出所有的东西。 :)

从我的理解,你可能错过了你安装gdal的步骤。如果您看到其他一些错误,请将它们发布在您的问题中。

你可以得到ogr2ogr运行工作:

brew install gdal 

下面是一些对你的背景资料,所以你会得到更好的理解这是怎么回事那里。

topojsonogr2ogr是两个不同的实用程序。 ogr2ogrgdal包的一部分,在我们的示例中,它用于从shapefile生成GeoJSON。

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

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

TopoJSON是对GeoJSON进行编码拓扑的扩展。 TopoJSON文件中的几何体不是由代表几何体的 分离,而是由共享的线段(称为圆弧)缝合在一起的 。 TopoJSON 消除冗余,与GeoJSON相比,可提供几何结构更紧凑的 几何图形;典型的TopoJSON文件比它们的GeoJSON等效文件大80%,比文件大小小 。另外,TopoJSON有助于 使用拓扑的应用程序,例如拓扑保留形状简化,自动地图着色和制图。

的这两个步骤的输出(shape文件 - >以GeoJSON - > TopoJSON)将是一个JSON字符串这是很容易由JavaScript解释。您需要在绘图代码中使用topojson才能将绘图转换回GeoJSON。

回想起前两个紧密相关的JSON地理数据 格式:GeoJSON和TopoJSON。虽然我们的数据可以在TopoJSON中高效存储更多 ,但我们必须将其转换回GeoJSON进行显示。 打破这一步了,清楚:

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

0

Ubuntu的,我用这个办法有ogr2ogr

sudo apt-get install gdal-bin