所以我没有任何问题简化使用topojson
从命令行使用-s
标志,但是,我不知道如何从node
模块做到这一点。如何用topojson API简化?
我看到topojson.simplify()
方法,但我无法弄清楚它是如何工作的,因为没有文档。
有没有人有任何见解?
所以我没有任何问题简化使用topojson
从命令行使用-s
标志,但是,我不知道如何从node
模块做到这一点。如何用topojson API简化?
我看到topojson.simplify()
方法,但我无法弄清楚它是如何工作的,因为没有文档。
有没有人有任何见解?
通过查看topojson的简化测试,我能够弄清楚如何使用toposjson.simplify(),但我不能完全声称知道发生了什么。你可以在the topojson github上看到测试。
基本上topojson.simplify需要一个拓扑输入,并且有两个可能的选项用于简化,“保留比例”和“最小面积”,但您也可以传递坐标系,即“笛卡尔”或“球形”,尽管可以在大多数情况下推断。
例子:
output = topojson.simplify(topology,{"minimum-area": 2,"coordinate-system": "spherical"});
output =topojson.simplify(topology,{"retain-proportion: 2,"coordinate-system": "spherical"});
我真的不知道到底是什么,你值传递到这些选项的含义,然而较高的值往往会产生更多的简化。注意,保留比例通常在传递LineStrings时返回无效的拓扑,这可能是预期的。
此外,在topojson.topology中使用量化选项可用于创建更小,更简单的输出,并且可能是某些类似用例的最佳解决方案,并且在任何地方也没有任何明确记录的服务器API示例:
//very simplified, small output
topojson.topology({routes: routesCollection},{"quantization":100});
//very unfiltered, large output
topojson.topology({routes: routesCollection},{"quantization":1e8});
注意:默认量化是10000(1e4),所以小于10000的任何数值都会产生一个较小的输出,反之亦然。