Я не могу заставить это приложение GEE работать, когда публикую его.JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Гость
 Я не могу заставить это приложение GEE работать, когда публикую его.

Сообщение Гость »

Я новичок в GEE. После публикации приложения я захожу к нему по ссылке и получаю плоскую карту с центром в США без каких-либо опций, запрограммированных в скрипте.
По сути, это исследование по 12 пунктам временной ряд NDVI с 2020 по 2024 год. Идея состоит в том, чтобы пользователь приложения мог взаимодействовать с точками и иметь возможность получить график с временным рядом точки, на которую он нажимает.
Скрипт делает это, когда я его запускаю, но после публикации приложение ничего не предлагает.

Код: Выделить всё

// Cargar el polígono del área de interés y visualizarlo
var campo = ee.FeatureCollection('projects/numeric-dialect-419011/assets/padron_3962_claudia').geometry();
Map.centerObject(campo, 12);
Map.addLayer(campo, {color: 'gray'}, 'Área de interés');

// Definir el rango de fechas y cargar las imágenes de Sentinel-2
var startDate = '2020-01-01';
var endDate = '2024-01-01';
var dataset = ee.ImageCollection('COPERNICUS/S2_HARMONIZED')
.filterBounds(campo)
.filterDate(startDate, endDate)
.filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 20))
.map(function(image) {
return image.clip(campo);
});

// Calcular y visualizar NDVI
var ndvi = dataset.map(function(image) {
return image.addBands(image.normalizedDifference(['B8', 'B4']).rename('NDVI'));
});
var ndviVis = {min: 0, max: 1, palette: ['blue', 'white', 'green']};
Map.addLayer(ndvi.median().select('NDVI'), ndviVis, 'NDVI'); // Asegurarse de seleccionar solo la banda 'NDVI'

// Visualizar imagen de color verdadero
var trueColorVis = {bands: ['B4', 'B2', 'B3'], max: 4000};
Map.addLayer(dataset.median(), trueColorVis, 'Color Verdadero');

var points = ee.FeatureCollection([
ee.Feature(ee.Geometry.Point([-57.23236811941059,-33.078842641353845]), {name: 'Punto 1'}),
ee.Feature(ee.Geometry.Point([-57.22627414052875,-33.08409259193794]), {name: 'Punto 2'}),
ee.Feature(ee.Geometry.Point([-57.22936404531391,-33.088623119281436]), {name: 'Punto 3'}),
ee.Feature(ee.Geometry.Point([-57.25528491323383,-33.09121188724903]), {name: 'Punto 4'}),
ee.Feature(ee.Geometry.Point([-57.2466160136977,-33.08279811268316]), {name: 'Punto 5'}),
ee.Feature(ee.Geometry.Point([-57.25219500844867,-33.08632192821269]), {name: 'Punto 6'}),
ee.Feature(ee.Geometry.Point([-57.242152817896915,-33.08905458590245]), {name: 'Punto 7'}),
ee.Feature(ee.Geometry.Point([-57.254684098414494,-33.080281015145815]), {name: 'Punto 8'}),
ee.Feature(ee.Geometry.Point([-57.254684098414494,-33.075965823207895]), {name: 'Punto 9'}),
ee.Feature(ee.Geometry.Point([-57.26172221486957,-33.07510275941848]), {name: 'Punto 10'}),
ee.Feature(ee.Geometry.Point([-57.236659653834415,-33.08215086591086]), {name: 'Punto 10'}),
ee.Feature(ee.Geometry.Point([-57.22309840505512,-33.082618322390864]), {name: 'Punto 10'})
]);
var pointStyle = {color: 'red', fillColor: '00000000'};
Map.addLayer(points, pointStyle, 'Puntos de Interés');

// Crear un panel para mostrar gráficos e instrucciones
var panel = ui.Panel({style: {width: '400px', position: 'bottom-left'}});
var introLabel = ui.Label('Haga clic en un punto para ver la serie temporal de NDVI.');
panel.add(introLabel);
ui.root.add(panel);

// Función para mostrar gráficos en el panel al hacer clic en un punto
function showNDVIGraphs(point) {
var pointData = ndvi.filterBounds(point.geometry());
var chart = ui.Chart.image.seriesByRegion(pointData, point, ee.Reducer.mean(), 'NDVI', 10)
.setChartType('LineChart')
.setOptions({
title: 'NDVI Time Series for ' + point.get('name').getInfo(),
vAxis: {title: 'NDVI'},
hAxis: {title: 'Date'},
lineWidth: 1,
colors: ['00FF00']
});
panel.clear();
panel.add(introLabel); // Mantener las instrucciones visibles
panel.add(chart);
}

// Agregar un click listener para detectar cuando se hace clic cerca de un punto
Map.onClick(function(coords) {
var clickPoint = ee.Geometry.Point([coords.lon, coords.lat]);
var buffer = clickPoint.buffer(500); // Ajustar según sea necesario

points.filterBounds(buffer).evaluate(function(result) {
if (result.features.length > 0) {
var feature = ee.Feature(result.features[0]);
showNDVIGraphs(feature);
} else {
panel.clear();
panel.add(introLabel);
panel.add(ui.Label('No se detectaron puntos cercanos.'));
}
});
});
Ссылка: https://code.earthengine.google.com/906 ... 0ee0b70177

Подробнее здесь: https://stackoverflow.com/questions/784 ... publish-it
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»