d3.js geoJSON и границы

Я успешно загрузил файлы geoJSON, загрузил коллекцию объектов в

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. Любая помощь, чтобы получить границы для работы, будет полезна.

Спасибо.


person Justin    schedule 19.12.2012    source источник


Ответы (1)


d3.geo.bounds принимает в качестве аргумента одну функцию или набор функций, а не массив функций. См. документацию. Вам нужно позвонить, например.

d3.geo.bounds(json.features[0])

Если вам нужна ограничительная рамка, содержащая все функции, вам нужно получить ограничительную рамку для каждой из них по очереди, а затем вычислить их объединение.

person Lars Kotthoff    schedule 19.12.2012
comment
Ага. А если json — это FeatureCollection, то это просто d3.geo.bounds(json). - person mbostock; 19.12.2012
comment
Может ли кто-нибудь объяснить процесс создания союза нескольких состояний и вычисления его границ? Я работаю с набором данных по всей территории США, фильтрую до северо-восточного коридора и пытаюсь центрировать это подмножество. Просто возникают проблемы, пытаясь понять следующий шаг. - person thefreeline; 21.10.2018