ОБНОВЛЕНИЕ: решено, вроде. Я потратил некоторое время на изучение ogr2ogr и topojson и сделал топожсон, который прекрасно работает в D3. Я не уверен, почему файл, выложенный mapshaper.org, превратился в осколки в моих руках; на их сайте файл отображается нормально.
ОРИГИНАЛЬНЫЙ ПОСТ: Там может быть ответ, но как вы спросите Google «почему моя карта d3 выглядит как зигзаги и осколки?» FWIW, "поиск по картинке" ничего не дал. ;)
Я подозреваю, что это что-то с неправильной проекцией или неправильным преобразованием из шейп-файлов? Я конвертировал через mapshaper.org, пока сам изучаю ogr2ogr и topojson.
Это должна быть карта двух округов Джорджии, площадь может быть 100 миль в поперечнике. Шейп-файл взят из U.S. Census Tiger.
ОБНОВЛЕНИЕ: .xml Tiger, кажется, предполагает, что проекция WGS_1984_Web_Mercator_Auxiliary_Sphere
Я получил еще один шейп-файл той же области от нашего государственного картографического агентства, и он отлично отобразился.
Любые идеи?
d3.json("050_00.json", function(error, counties) {
if (error) return console.error(error);
console.log("ok counties:", counties)
var projection = d3.geo.mercator()
.scale(scale)
.rotate([84.2, -33.9, 0])
var path = d3.geo.path()
.projection(projection);
svg.selectAll("#counties")
.data(topojson.feature(counties, counties.objects['050_00']).features)
.enter().append("path")
.attr("id", "counties")
.attr("d", path)
.attr("opacity", 0.5);
});