相关疑难解决方法(0)

给定geoJSON对象,在d3中居中地图

目前在d3中,如果您要绘制一个geoJSON对象,则必须对其进行缩放并对其进行翻译,以使其达到所需大小并将其翻译以使其居中.这是一个非常乏味的反复试验,我想知道是否有人知道更好的方法来获得这些价值观?

所以,例如,如果我有这个代码

var path, vis, xy;
xy = d3.geo.mercator().scale(8500).translate([0, -1200]);

path = d3.geo.path().projection(xy);

vis = d3.select("#vis").append("svg:svg").attr("width", 960).attr("height", 600);

d3.json("../../data/ireland2.geojson", function(json) {
  return vis.append("svg:g")
    .attr("class", "tracts")
    .selectAll("path")
    .data(json.features).enter()
    .append("svg:path")
    .attr("d", path)
    .attr("fill", "#85C3C0")
    .attr("stroke", "#222");
});
Run Code Online (Sandbox Code Playgroud)

到底如何获得.scale(8500)和.translate([0,-1200]),而一点一点去?

geojson d3.js topojson

133
推荐指数
4
解决办法
6万
查看次数

Shapefile 到 TopoJSON 的转换问题

我正在尝试将 shapefile 转换为 GeoJSON,然后转换为 TopoJSON,如Let's Make a Map 中所述。沿着链条的某个地方,有些东西被破坏了,我得到的图像如下所示: 损坏的VT地图

我的工作流程如下:

  1. 从以下位置下载 shapefile:http : //vcgi.vermont.gov/warehouse/search_tools - 我正在使用Master Town Boundary数据,特别是“Boundary_BNDHASH_region_towns.shp”文件。
  2. 将 shapefile 转换为 GeoJSON

    ogr2ogr -f GeoJSON vt_towns.json Boundary_BNDHASH_region_towns.shp
    
    Run Code Online (Sandbox Code Playgroud)
  3. 将 GeoJSON 转换为 TopoJSON

    topojson -p TOWNNAME -p CNTY -o vt.json vt_towns.json
    
    Run Code Online (Sandbox Code Playgroud)
  4. 插入基本模板,对 Mike Bostock 的示例进行一些小的修改

    <!DOCTYPE html>
    <meta charset="utf-8">
    <style>
    
    /* CSS goes here. */
    
    </style>
    <body>
    <script src="http://d3js.org/d3.v3.min.js"></script>
    <script src="http://d3js.org/topojson.v1.min.js"></script>
    <script>
    
        var width = 960,
            height = 1160;
    
        var svg = d3.select("body").append("svg")
            .attr("width", width)
            .attr("height", height); …
    Run Code Online (Sandbox Code Playgroud)

shapefile geojson d3.js topojson

2
推荐指数
1
解决办法
3358
查看次数

标签 统计

d3.js ×2

geojson ×2

topojson ×2

shapefile ×1