我正在尝试在两个GeoJSON对象之间进行转换,但是无法找到有关如何包含多个GeoJSON文件的任何信息。我对最终转换感到满意,但在多个GeoJSON文件中找不到任何内容。
我现在可以像这样绘制一张地图:
d3.json("goldatt2.json", function (data) {
var group = canvas.selectAll("g")
.data(data.features)
.enter()
.append("g")
var path = d3.geo.path().projection(d3.geo.equirectangular());
var areas = group.append("path")
.attr("d", path)
我如何更改这个以便调用两个GeoJSON文件并进行转换?
我找到了这个例子http://bl.ocks.org/mbostock/3081153但是在这个例子中只有GeoJSON对象然后被转换为圆形。
答案 0 :(得分:0)
获取数据是转换它的单独任务。
理论上,您可以通过多次ajax调用来获取所需的数据,然后决定对该数据执行任何操作。
Mike Bostock为此目的实施了Queue。 如果您在D3中使用JQuery,可以查看Deferred已发布的示例here。
获得所需的数据集后,您现在可以决定如何转换数据或提供数据转换。
的伪代码:
var files = ["file1.json", "file2.json"];
//Fetch Data for both files and create a data set object of this format
var dataset = {
"file1.json": {/*geojson data for file1*/},
"file2.json": {/*geojson data for file2*/}
}
for(var item in dataset) {
var data = dataset[item];
//Do whatever transformation you need
}