如何在d3中只渲染一部分topojson

How to render only a part of topojson in d3

我有一个 topojson 文件,其中包含印度的所有地区。我只想渲染特定州的地区。我不知道该怎么做。

这是我的初始代码(渲染所有地区):

    var district_geo_obj = topojson.feature(district, district.objects.india_district);
    var district_projection = d3.geoMercator()
        .fitSize([width/2, width/2], district_geo_obj);
    var district_path = d3.geoPath().projection(district_projection);

    map_svg.selectAll("path")
        .data(district_geo_obj.features)
        .enter().append("path")
        .attr("d", district_path)
        .attr('class', 'map-margin-const')
        .style('fill', function(d) {
            return 'red';
        })

这是topojson文件的截图

  var districts = ["aaa", "bbb", "ccc", "ddd"];

  map_svg.selectAll("path")
    .data(district_geo_obj.features)
    .enter().append("path")
    .attr("d", district_path)
    .attr('class', 'map-margin-const')
    .style('fill', function(d) {
        return 'red';
    }).style("stroke-width", function (d, i) {
                    if (districts.indexOf(d["properties"]["NAME_1"]) > -1 ) return "1px";   // Not sure about the syntax. But this should do
                    else return "0px";
                })