javascript – d3.js geoJSON和bounds

前端之家收集整理的这篇文章主要介绍了javascript – d3.js geoJSON和bounds前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经成功加载了将要素集加载到的geo JSON文件
d3.geo.path()

我当前实现的问题是它开始缩放,使得路径是一个点,我必须每次放大.现在我知道有很多方法可以正确设置缩放级别,但我希望能够使用

d3.geo.bounds()

鉴于以下geoJSON功能

json.features[0]:

Object
geometry: Object
coordinates: Array[2]
0: -71.248913
1: 44.078426
length: 2
__proto__: Array[0]
type: "Point"
__proto__: Object
id: 2
type: "Feature"
__proto__: Object

json.features[1]:

Object
geometry: Object
coordinates: Array[2]
0: -71.249021
1: 44.078387
length: 2
__proto__: Array[0]
type: "Point"
__proto__: Object
id: 3
type: "Feature"
__proto__: Object

如果我执行

d3.geo.bounds(json.features)

我得到无限的界限:

d3.geo.bounds(json.features)
[
Array[2]
0: Infinity
1: Infinity
length: 2
__proto__: Array[0],Array[2]
0: -Infinity
1: -Infinity
length: 2
__proto__: Array[0]
]

我不确定是什么问题,显然我有一个比上面更大的数据集,但我只是想了解输出.这个输出对我来说没有意义,显然缺少关于d3处理geoJSON数据的简单方法.任何帮助以获得工作的帮助都会有所帮助.

谢谢.

解决方法

d3.geo.bounds将单个Feature或FeatureCollection作为参数,而不是一个特征数组.请参阅 the documentation.您需要拨打电话,例如
d3.geo.bounds(json.features[0])

如果你想要一个包含所有特征的边界框,你需要依次得到每个特征的边界框,然后计算它们的并集.

猜你在找的JavaScript相关文章