Я пытаюсь показать итальянские картографические шейпфайлы, for example this one, используя D3.jsСлучайные строки при загрузке файла TopoJSON в D3
я могу загрузить файл Zip на MapShaper, посмотреть на карте, упростить и экспорт в TopoJSON. Я могу загрузить TopoJSON в MapShaper, и он все еще выглядит нормально.
Но когда я пытаюсь отобразить его с помощью D3.js, я получаю кучу спагетти:
красоты, не так ли?
Код берется прямо из примеров. Предполагается, что проекционный центр, вращение и параллели являются каноническими для Италии, но это не имеет особого значения: карта остается спагетти-подобной с любым выбором проекции.
width = 600
height = 1200
projection = d3.geo.albers()
.center [0, 41]
.rotate [347, 0]
.parallels [35, 45]
.scale 2000
.translate [width/2, height/2]
path = d3.geo.path()
.projection projection
svg = d3.select "body"
.append "svg"
.attr "width", width
.attr "height", height
d3.json "Reg2011_ED50.json", (json) ->
svg.append "path"
.datum topojson.feature json, json.objects.Reg2011_ED50
.attr "d", path
Что я делаю неправильно?
Получение связки спагетти при рендеринге карты Италии не так уж далеки, да? Сделал мой день ;-) Во всяком случае, вы могли бы предоставить живое демо, включая экспортированный TopoJSON, чтобы поиграть? – altocumulus
@altocumulus Спасибо, но я нашел решение, хотя я этого не понимаю. – Tobia
Это потому, что вы не указали проекцию. Это довольно нормально. – kwoxer