вот первый topojson
вопрос по так. У меня проблемы с отображением карты (районы Нью-Йорка), и я не могу понять, почему. Приведенный ниже код является копией этого примера с другим файлом topojson. Я загрузил файл здесь. Ниже также приведены подробности о том, как я создал файл. Прямо сейчас, я просто получаю хаотичные линии. Возможно, причина в файле topojson, но я не знаю, что не так.
ps: я не смог пометить это как topojson
, потому что этот тег раньше не использовался
Файл TopoJSON
1) Загрузите шейп-файл с здесь
(В разделе «Районы и районы» файл «Районы» (слева), шейп-файл ArcView)
2) Упростить шейп-файл с помощью QGis
3) Преобразовать в TopoJSON с помощью
ogr2ogr -f geoJSON nybb-geo.json nybb.shp
topojson -o nybb.json nybb-geo.json
HTML/JS-код
<!DOCTYPE html>
<meta charset="utf-8">
<style>
.boundary {
fill: none;
stroke: #000;
stroke-width: .5px;
}
</style>
<body>
<script src="http://d3js.org/d3.v3.min.js"></script>
<script src="http://d3js.org/topojson.v0.min.js"></script>
<script>
var width = 960,
height = 500;
var path = d3.geo.path();
var svg = d3.select("body").append("svg")
.attr("width", width)
.attr("height", height);
d3.json("/geo/nybb.json", function(error, topology) {
svg.append("path")
.datum(topojson.object(topology, topology.objects['nybb-geo'].geometries[0]))
.attr("d", path)
.attr("class", "boundary");
});
</script>