2013-07-11 3 views
0

Я пытаюсь следовать инструкциям mbostock «Давайте сделаем карту» здесь: http://bost.ocks.org/mike/map/. В определенный момент в учебнике, он пишет:Путаница над форматом TopoJSON

d3.json("uk.json", function(error, uk) { 
    svg.append("path") 
     .datum(topojson.feature(uk, uk.objects.subunits)) 
     .attr("d", d3.geo.path().projection(d3.geo.mercator())); 
}); 

Не видя формат его файла topoJSON, то трудно определить, что линия эквивалент «uk.objects.subunits» для моего кода (мой topoJSON можно посмотреть здесь: https://gist.github.com/jcahan/e1772766f01b68b00dc9).

Помогло ли вам помочь выяснить, как я (и будущие читатели) может определить внутреннее свойство (например, uk.objects.subunits) моего файла topojson?

Спасибо за ваше время!

ответ

1

Используйте веб-консоль в своем браузере (я использую расширение Firebug в Firefox), чтобы просмотреть страницу примера Майка, и вы можете посмотреть, как браузер вытаскивает файл uk.json и просматривает его формат. Вот соответствующий отрывок:

{"type":"Topology","transform":{"scale": 
[0.001546403012701271,0.0010939367048704803],"translate": 
[-13.69131425699993,49.90961334800009]},"objects":{"subunits": 
{"type":"GeometryCollection","geometries":[{"type":"MultiPolygon","id":"ENG","arcs":[[[0]], 
[[1]],[[2]],[[3]],[[4]],[[5]],[[6,7,8,9]]],"properties":{"name":"England"}}, 

Вы можете увидеть иерархию uk.objects.subunits

субъединиц содержит GEOMETRYCOLLECTION. Посмотрите на свой json-файл и сделайте то же самое.

Дважды проверьте, что эта инструкция от Mike работает:

d3.json("uk.json", function(error, uk) { 
    console.log(uk); 
}); 

Теперь, если вы взглянуть на консоли JavaScript, вы должны увидеть объект топологии, представляющий административные границы и населенные пункты Соединенного Королевства ,

Если вы хотите, чтобы это сработало, сообщите мне, поскольку я не могу загрузить свой файл TopoJSON, хотя я могу получить все от Майка. Я пришел к выводу, что мой файл TopoJSON должен быть чем-то неправильным.

1

Конечно.

Этот JSON-файл является близким другом (на самом деле неопрятным) примера. Таким образом, вы можете видеть это в http://bost.ocks.org/mike/map/uk.json

С уважением.