#javascript #json #mapbox #mapbox-gl-js
#javascript #json #mapbox #mapbox-gl-js
Вопрос:
Итак, у меня есть два файла json, в первом — геометрия для железнодорожных станций, а во втором файле json — данные о том, сколько пассажиров садилось / выходило на каждой станции за последние десять лет (без геометрии).
Геометрия станций представлена в первом файле json, который уже добавлен в качестве слоя на карту (с использованием Mapbox GL JS)
"type": "FeatureCollection",
"name": "stationen_offset500000",
"features": [
{
"type": "Feature",
"properties": {
"np_id": 10312,
"station": "Somewhere Main Station",
"gid": 1123 },
"geometry": { "type": "Polygon", "coordinates": [ [ [ ...] ] ]}};
И файл Entrants / Dropoff json с данными:
"type": "FeatureCollection",
"name": "einAussteiger",
"features": [
{
"type": "Feature",
"properties": {
"np_id": 10038,
"station": "Somewhere Main Station",
"avg_entrants_day": "339,344",
"avg_dropoff_day": "391,266",
"year": 2018,
"id": 1 }}
Моя цель — установить высоту выдавливания полигона станций в зависимости от avg_entrants_day для конкретного года. Но я действительно не знаю, как это сделать, поскольку данные находятся в двух разных файлах json.
Я повозился, вызвав
map.setPaintProperty("stations_offset500000", 'fill-extrusion-height', [
"match",
["get", "..."],
])
в разных версиях, но, честно говоря, это было бесполезно.
Ответ №1:
Самый простой подход — это просто:
- Извлеките первый файл.
- Извлеките второй файл.
- Перебирайте объекты в первом файле, добавляя свойства из второго.
- Добавьте его на карту.