2017-08-11 11 views
1

私のgeoJSONファイル:座標キーには座標付きの通常の配列が含まれていますが、その後はさらに多くの座標のミニ配列で配列が格納されています。私は私のGoogleのAPIの呼び出しに自分のGoogleの機能の層を追加するためにルートの中心を抽出するファイルをループすることはできません。geojsonファイルフォーマットの問題、大きな配列の中のミニ配列(座標)

ミニアレイを分割して全体のアレイ全体に追加しようとすると、ルートが表示されますが、正しくありません。ルートは水を通り抜け、建物を通って、シーケンスを知らない。どんな助けも素晴らしいだろう。太字は、フィーチャー全体のパターンを壊します。

EX: { "タイプ": "機能"、 "プロパティ":{ "OBJECTID":3、 "長さ":3919.4410000000003、 "NAME": "アナコスティアリバーウォーク-SW"、 "ステータス":「オープン"、" MAINTENANC ":" DDOT "、" Shape_Length ":1194.6479669066844、" MILES ":0.7423183712121213}、" geometry ":{" type ":" MultiLineString "、" coordinates ":[[ - 77.02215895389972,38.87673054256091]、[ -77.02186869854079,38.87653957420972]、[ - 77.02150193815677,38.87588299990856]、[ - 77.0208280524279,38.874621556490816]、[ - 77.02075697415529,38.87448850380858]、[ - 77.02062323938105,38.874211704408985]、[ - 77.02008845385471,38.87338800912766]、[ - 77.01937789804083,38.87202111748801]、[ - 77.01768265826789,38.87204526498413]、

[-77.02594024042205,38.87974434948391]、[ - 77.02509229875858,38.87909983220277 ]、[ - 77.0237707432032,38.8780375415248]、[ - あなたはミニ配列呼び出す何77.02215132050688,38.87674248295079]] ]}}、

答えて

0

はにGeoJSON MultiLineStringsだけの仕様です。 http://geojson.org/geojson-spec.html#multilinestring

For type "MultiLineString", the "coordinates" member is an array of LineString coordinate arrays.

したがって、各アレイは、行の一部を説明し、一緒にそれらが得られた経路を形成します。あなたは、ループの2を使用してそれらの上(アレイのそのアレイ)

var geojson = { 
 
    "type": "FeatureCollection", 
 
    "features": [ 
 
    { 
 
     "type": "Feature", 
 
     "properties": {}, 
 
     "geometry": { 
 
     "type": "MultiLineString","coordinates":[ 
 
      [[-77.02215895389972,38.87673054256091],[-77.02186869854079,38.87653957420972],[-77.02150193815677,38.87588299990856],[-77.0208280524279,38.874621556490816],[-77.02075697415529,38.87448850380858],[-77.02062323938105,38.874211704408985],[-77.02008845385471,38.87338800912766],[-77.01937789804083,38.87202111748801],[-77.01768265826789,38.87204526498413]], 
 
      [[-77.02594024042205,38.87974434948391],[-77.02509229875858,38.87909983220277],[-77.0237707432032,38.8780375415248],[-77.02215132050688,38.87674248295079]] 
 
     ] 
 
     } 
 
    } 
 
    ] 
 
} 
 

 
let coords = geojson.features[0].geometry.coordinates; 
 
for (let i = 0; i < coords.length; i += 1) { 
 
    for (let j = 0; j < coords[i].length; j += 1) { 
 
    console.log(coords[i][j]); 
 
    } 
 
}

を反復することができ