2017-11-06 6 views
0

mapbox-GL-JSバージョン:> = 0.27.0 = 0.38.0 <にGeoJSON

(1)IはFeatureにGeoJSONを有しますURLソースからマップに追加する1つのポリゴンのタイプ。

(2)また、URLソースから地図に追加するgeojsonタイプ~4kポリゴンもあります。 I(1)との間turf.intersect使用し、(2)(2)の交差するポリゴンを選択する


次に、交差するポリゴン[(2)の部分集合]を配列に格納します。

次に、これらの交差するポリゴンのいくつかのプロパティの値を簡単な計算で で操作します。


ここで、配列の結果の値を(2)に更新します。

私はsetDataのようなものを使用して更新していますが、(a)geojsonデータオブジェクトではないサブセットや、(b)docsに指定されているURL 。

うまくいけば、これを十分に説明しました。もしそうなら、ここで提案されたワークフローは何ですか?

+0

データセット(2)は、最終的に元のセット(2)と更新されたサブセットの共通部分ですか? – Scarysize

+0

はい、まさに[Scarysize](https://stackoverflow.com/users/3038392/scarysize)です。サブセット内の各オブジェクトのプロパティの更新された値は、元の値を置き換える必要があります。 –

答えて

1

MapboxはGeoJSONを読み込ませると共有できません。 https://github.com/mapbox/mapbox-gl-js/issues/1762自分でデータを操作したい場合は、自分でロードしてMapboxに渡す必要があります。例:

// load your data via ajax however you want 
const promises = { 
    polygon: $.get('.../geojson.json'), 
    collection: $.get('.../feature-collection.json'), 
}; 

// setup your map 
const map = new mapboxgl.Map({...}); 
map.on('load',() => { 
    RSVP.hash(promises).then((data) => { 
    map.addSource('my-data', { 
     type: 'geojson', 
     // transform does intersection and updates, 
     // then outputs a GeoJSON formatted object 
     data: transform(data.polygon, data.collection), 
    }); 
    }); 
}); 
+0

完璧な説明とリファレンス[kielni](https://stackoverflow.com/users/1601506/kielni) - 大変感謝しています。私は、Mapboxが参照された問題のドキュメントにそれを加えることを提案しました。 –