簡體   English   中英

D3.js多個GeoJSON對象

[英]D3.js Multiple GeoJSON objects

我試圖在兩個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對象然后被轉換為圓形。

獲取數據是轉換它的單獨任務。

理論上,您可以在決定對該數據執行任何操作之前 ,使用多個ajax調用來獲取所需的數據。

Mike Bostock為此目的實施了Queue 如果你正在使用帶有D3的JQuery,你可以查看Deferred的一個例子,在這里發布。

獲得所需的數據集后,您現在可以決定如何轉換數據或提供數據轉換。

偽代碼:

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
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM