d3 - Как мне найти правильный прогноз для страны?

Я пытаюсь создать карту своей страны, но она всегда уменьшается.

Я видел много карт, где им удается приблизиться к стране с помощью проекции, но где они получают цифры для проекции? Я весьма озадачен..

примеры: http://bl.ocks.org/mbostock/9265674 http://bl.ocks.org/mbostock/5413933

Текущий код:

var width = 960,
height = 500;

// 11°E 64.4°N - latitude and 
var projection = d3.geo.mercator();

var path = d3.geo.path()
    .projection(projection);

var svg = d3.select("body").append("svg")
    .attr("width", width)
    .attr("height", height);

d3.json("topojson/fylker.json", function(error, norge) {
    norge = norge;

    for(var i = 0; i < norge.objects.fylker.geometries.length; i++) {
        svg.append("path")
          .datum(topojson.feature(norge, norge.objects.fylker.geometries[i]))
          .attr("d", path)
          .attr("class", function(d) { return "county-" + d.id; });        
    }
});

1 ответ

Если ваша карта не меняется (например, без преобразования), вы можете получить эти числа методом проб и ошибок, как это было сделано в приведенных вами примерах. Просто введите несколько цифр и посмотрите, соответствует ли результат вашим потребностям. Однако лучше рассчитать центр карты и передать его в проекцию. Ларс Коттофф дал вам в комментарии к вашему вопросу очень хорошую ссылку, чтобы увидеть, как это работает ( отцентрируйте карту в d3 по объекту geoJSON).

Другие вопросы по тегам