Как получить доступ к массиву координат GeoJson в машинописи? - PullRequest
1 голос
/ 20 сентября 2019

У меня следующий вывод GeoJSON сокращен по причинам чтения:

geoDefinition:
    features: Array(1)
    0:
    geometry:
        coordinates: Array(1)
            0: Array(5)
                0: (2) [5.39014, 43.279295]
                1: (2) [5.393069, 43.279249]
                2: (2) [5.391814, 43.278421]
                3: (2) [5.390709, 43.278749]
                4: (2) [5.39014, 43.279295]
                length: 5

Моя цель - получить массив координат и сохранить его в другом более общем массиве.В коде я написал:

   this.locations.forEach(element => {
      this.polygons = element.geoDefinition.features[0].geometry.coordinates;

Хотя функция [0] определена,

enter image description here

геометрия остается не определен .Я не могу получить доступ к геометрии-> тип / координаты.

координаты - это массив массивов:

enter image description here

Может кто-нибудь показать мне, чтоЯ сделал неправильно, пожалуйста?

С наилучшими пожеланиями,

Ответы [ 2 ]

0 голосов
/ 20 сентября 2019

Попробуйте что-то вроде этого:

Вот рабочее доказательство: https://stackblitz.com/edit/js-puskp8

const locations = [
  {
    geoDefinition:
    {
      features:
        [{
          geometry:
          {
            coordinates: [

              [5.39014, 43.279295],
              [5.39014, 43.279295],
              [5.39014, 43.279295],
              [5.39014, 43.279295],


            ]
          }
        }]
    }
  }
]


const newArr = []
locations.forEach(obj => {
  newArr.push(...obj.geoDefinition.features[0].geometry.coordinates)

})

console.log('copied array is', newArr)
0 голосов
/ 20 сентября 2019

Возможно, что объекты - это объект, а не массив в определении.

Это означает, что для доступа к элементу '0' вместо функции [0] вы должны использовать feature['0'].

...