我正在尝试使用this shapefile与D3(和topojson)制作干旱地图。
我已经将它转换为GeoJSON和topojson,但在任何一种情况下,尝试渲染都会导致浏览器挂起,并且该选项卡的CPU达到100%或更高。
我可以像所有US counties一样渲染更大的文件,我可以使用Mapnik或TileMill渲染文件。但是在浏览器中它会消失。
var map = d3.select('#map').append('svg')
.style('width', width)
.style('height', height);
var albers = d3.geo.albersUsa();
var path = d3.geo.path()
.projection(albers);
d3.json(urls.drought, function(err, data) {
var drought = window.drought = topojson.feature(data, data.objects.usdm130521);
map.selectAll('path')
.data(drought.features)
.enter().append('path')
.attr('d', path);
});
答案 0 :(得分:1)
想出来了。正如USDM site says,“这些文件已投射到美国连续阿尔伯斯等面积圆锥投影。”
事实证明,这是一个问题,但我并不完全理解它。我使用EPSG: 4326
将其转换为ogr2ogr
:
$ ogr2ogr -t_srs EPSG:4326 usdm130521-projected.shp usdm130521.shp
它呈现了。也快。
Mike Bostock写了更多关于投射topojson here的信息。