gpt4 book ai didi

javascript - D3.js - json 文件无法加载

转载 作者:行者123 更新时间:2023-11-28 18:18:11 25 4
gpt4 key购买 nike

我是 D3.js 新手,正在尝试加载 json 文件。我已遵循教程并使用以下代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>D3 World Map</title>
<style>
path {
stroke: white;
stroke-width: 0.5px;
fill: black;
}
</style>
<script src="http://d3js.org/d3.v3.min.js"></script>
<script src="http://d3js.org/topojson.v0.min.js"></script>
</head>
<body>
<script type="text/javascript">
var width = 900;
var height = 600;

var projection = d3.geo.mercator();

var svg = d3.select("body").append("svg")
.attr("width", width)
.attr("height", height);
var path = d3.geo.path()
.projection(projection);
var g = svg.append("g");

d3.json("Census2011_Garda_Subdisticts.json", function(topology, error) {
g.selectAll("path")
.data(topology.features)
.enter()
.append("path")
.attr("d", path)
});
</script>

我的json文件的结构如下:

{ "type": "功能", "properties": { "REGION": "南部地区", "REG_CODE": "03", "DIVISION": "科克西", "DIV_CODE": "0319", "DISTRICT": "类登", "DIST_CODE": "4300A", "SUB_DIST": "金塞尔", "SUB_IRISH": "Cionn tSáile", "SUB_CODE": "4305B", "COUNTY_1": "科克", “COUNTY_2”:空,“GEOGID”:“M4305B”,“男性2011”:5765,“女性2011”:5963,“总计2011”:11728,“PPOcc2011”:4054,“Unocc2011”:1177,“空缺2011”:1013, “HS2011”:5231,“PCVac2011”:19.4,“CREATEDBY”:“Paul Creaner”},“几何”:{“类型”:“多边形”,“坐标”:[[[154039.34449999966,50090.991299999878],[154039 .8311, 50105.332900000736],[154041.9757000003,50130.335699999705]

等等,有一长串坐标

但是,当我加载这个 html 文件时,我只是看到一个空白屏幕。我已经检查了控制台,但没有收到错误(我以前遇到过错误并解决了这些错误)。

有人可以帮忙吗?非常感谢任何帮助。

谢谢。

最佳答案

首先,cojack's answer是答案的第一部分。

其次,您的 geojson 不使用 WGS84,而是使用投影坐标空间。 D3 需要 WGS84 或经纬度对。因此,当 D3 尝试将其投影到 SVG 坐标空间时,这会产生错误。您必须重新投影 geojson 才能在 d3 中使用它。您需要知道数据当前使用什么投影才能重新投影。

第三,一旦您能够准确无误地进行投影,就可以更改投影参数,以便您的 map 在数据上居中并正确缩放。在墨卡托投影上

projection.scale(number).center([longitude,latitude]);

应该足以正确缩放 map 并将其居中。

我将 geojson 换成了另一个,并且根据 cojack 评论中的 plunker 显示数据没有任何问题( plunker ,需要一些时间来加载 geojson)。

关于javascript - D3.js - json 文件无法加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40453949/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com