2017-11-06 3 views
0

mapbox-GL-JS 버전> = 0.27.0 0.38.0 < =geojson

(1)은 I Feature geojson을 url 소스에서 내지도에 추가하는 단일 다각형 유형입니다.

(2) 또한 URL 소스에서 맵에 추가하는 ~ 4k 다각형의 geojson 유형이 FeatureCollection 있습니다.


나는 (1)과 (2)의 교차 다각형을 선택 사이 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가 참조 된 문제의 문서에 추가 할 것을 제안했습니다. –