我正在合并代码,依靠v0的代码在v1上打破。Topojson:v0和v1之间的差异列表?
什么是topojson.v0.min.js和topojson.v1.min.js之间的语法变化*
-
嫌疑语法的列表:
- V0> V1
- .object> .feature
- .geometries> .featur es(在某些情况下还是始终?)
- * .coordinates> * .geometry.coordinates
- others?
我正在合并代码,依靠v0的代码在v1上打破。Topojson:v0和v1之间的差异列表?
什么是topojson.v0.min.js和topojson.v1.min.js之间的语法变化*
-
嫌疑语法的列表:
1.0.0主要版本(见release notes)替换topojson.feature的topojson.object功能更好GeoJSON的兼容性。
在以前的TopoJSON版本中,topojson.object返回了几何对象(可能是几何集合),与TopoJSON Topology内几何对象的表示方式一致。但是,与GeoJSON几何图形不同,TopoJSON几何图形更像特征,并且可能具有id和属性;同样,空几何被表示为空类型。
从版本1.0.0开始,topojson.feature将替换topojson.object,而是返回Feature或FeatureCollection,与GeoJSON中最初表示几何图形的方式一致,然后转换为TopoJSON。 (如在GeoJSON中,空几何被表示为具有空几何对象的特征)。如在#37中讨论的,这提供了与处理GeoJSON的GeoJSON specification和库的更大的兼容性。
要升级您的代码,可以使用topojson.feature替换topojson.object。但是,假定topojson.object返回的代码必须更改为处理现在由topojson.feature返回的功能(或功能集合)。例如,现有〜1.0,如果说:
svg.selectAll("path")
.data(topojson.object(topology, topology.objects.states).geometries)
.enter().append("path")
.attr("d", path);
在1.0和更高,对应的代码是:
svg.selectAll("path")
.data(topojson.feature(topology, topology.objects.states).features)
.enter().append("path")
.attr("d", path);
同样,如果被遍历点几何的阵列,前1.0,你可能会说:
topojson.object(topology, topology.objects.points).geometries.forEach(function(point) {
console.log("x, y", point.coordinates[0], point.coordinates[1]);
});
在1.0和更高版本,相应的代码是:
topojson.feature(topology, topology.objects.points).features.forEach(function(point) {
console.log("x, y", point.geometry.coordinates[0], point.geometry.coordinates[1]);
});
谢谢!正是我们需要的。 –
@RobinKraft:如果您发现一些要替换的对,请将它们添加到问题中的列表中。 – Hugolpz