2017-07-25 43 views
0

我正在尝试创建一个应用程序,允许您与美国任何州的任何邮政编码进行交互。我正在通过使用topoJSON和d3来绘制地图来完成此任务。我发现一个包含所有需要的数据的topojson文件遇到了很多麻烦,所以我使用GQIS创建了自己的美国状态文件。使用TopoJSON 2.0 API将形状文件转换为TopoJSON

我最后一步是将我创建的形状文件转换为topoJSON文件。我看过一些教程使用旧版本的topoJSON命令行的,他们能够通过简单地运行如下命令来改变其形状文件到topojson文件:

topojson -p -o illinois.zcta.json -- illinois.shp 

我的理解是,该解剖请求是:

topojson (invoking node module) -p(all properties) -o(all objects) illinois.zcta.json(name of file you want) -- illinois.shp(name of file to converT) 

但是,Topojson API似乎已经更新,不再支持此请求。我已经使用NPM在全局安装了topojson,并试图运行上面的函数警告我,topoJSON不是函数。

我已经挖掘了围绕新版本的topoJSON命令行的the documentation,它看起来要复杂得多。有很多方法可以对数据进行切片 - 但它们都没有采用Shapefile并将其转换为Topojson,或者采用shape文件并将其转换为geoJSON,然后我可以将其更改为Topojson。对我来说,这个功能(将.shp文件直接更改为topojson文件)将被删除,这似乎很奇怪 - 尽管它可能在第一个地方是神奇的。任何人都可以指导我将形状文件转换为topojson文件的最佳方式吗?谢谢。

回答

0

您应该可以使用shp2jsonhttps://github.com/substack/shp2json)和geo2topohttps://github.com/topojson/topojson-server/blob/master/README.md#geo2topo)的序列。但是你也可以直接从QGIS获得geojson,在这种情况下你可以跳过第一步。

+0

谢谢!我能够使用shp2json获得一个可用的GeoJSON文件,但是当我尝试使用geo2topo进行转换时,我在JSON中遇到了导致这两个文件清空的错误?我将尝试直接从QGIS中导出geoJSON,然后查看geo2topo是否更顺畅。 –