Добавьте источник GeoJSON в Mapbox GL JS для создания круговой диаграммы

#mapbox #geojson #mapbox-gl-js

#mapbox #geojson #mapbox-gl-js

Вопрос:

Я новичок в MapBox и JavaScript / html, я создаю карту преступности в Вашингтоне, округ Колумбия, с большим набором данных за 10 лет, который находится в моей локальной системе. Файл слишком большой (примерно 45 МБ) для размещения в MapBox (ограничение по размеру файла 5 МБ). Я пробовал страницы Github и тоже не могу заставить это работать. Мне нужен мой Java script для доступа к набору данных и создания круговых диаграмм с использованием нескольких атрибутов из набора.

Я перепробовал много разных способов доступа к данным, разместил их на страницах github, а затем передал URL-адрес функции добавления исходного кода mapbox. Я так и не смог найти правильный способ сделать это. Я пытался получить доступ к файлу, используя путь к нему локально, но я также не могу найти правильный способ сделать это. Кроме того, я попытался использовать подмножество данных, просто данные ward 3, загрузить их в наборы данных mapbox и попытаться получить к ним доступ таким образом, и я получаю ошибку политики cors, заблокированную.

это моя последняя попытка получить доступ к файлу, который я загрузил в mapbox. это возвращает следующую ошибку.Я хочу добавить источник, а затем создать кластер для каждого типа атрибута сдвига контроля. Не уверен, что это будет правильно выполнять кластеризацию, но на данный момент я еще не могу правильно загрузить данные, поэтому мне нужно сначала преодолеть это препятствие.

ОШИБКА доступа к выборке в ‘https://studio.mapbox.com/datasets/benpdoiron/cjuo3a0wha6knu9q7t9ze5gvc /‘ from origin ‘null’ заблокирован политикой CORS: заголовок ‘Access-Control-Allow-Origin’ отсутствует в запрошенном ресурсе. Если непрозрачный ответ удовлетворяет вашим потребностям, установите режим запроса на ‘no-cors’, чтобы получить ресурс с отключенным CORS.

ФРАГМЕНТ КОДА

 var url="https://studio.mapbox.com/datasets/benpdoiron/cjuo3a0wha6knu9q7t9ze5gvc/";

map.on('load', function () {
    map.addSource('Pie_Chart1', {
        type: 'geojson',
        data: url,
        cluster: true,
        clusterProperties: { 
        day: [" ", ["get", 'DAY']],
        evening: [" ", ["get", 'EVENING']],
        midnight: [" ", ["get", 'MIDNIGHT']]

        }
  

Ожидаемый результат заключается в том, что данные загружаются, и я могу создавать функции и слои, используя их атрибуты и информацию. В идеале, я думаю, что размещение всего набора данных, примерно 45 МБ, на страницах github и доступ к нему было бы правильным решением, но я, похоже, не могу понять, как правильно передать файл mapbox add source

Комментарии:

1. Я следил за этой документацией mapbox и пытался адаптировать ее к своему набору данных. docs.mapbox.com/mapbox-gl-js/example/cluster-html

2. Это руководство по устранению неполадок должно помочь вам с вашей ошибкой CORS: docs.mapbox.com/help/troubleshooting/cors-errors