Extraje con éxito la distancia al asentamiento humano más cercano con la función rgee fastDistanceTransform, donde la capa original es una sola imagen (DLR/WSF/WSF2015/v1). Quiero repetir esto con la distancia a la carretera más cercana, pero el conjunto de datos de la carretera es una colección de características y no una imagen.
He convertido con éxito a imagen en el editor de código gee con:
var dataset = ee.FeatureCollection('TIGER/2016/Roads') .map(function(feature){ var num = ee.Number.parse(feature.get('linearid')); return feature.set('linearid', num); }); var roads = dataset .reduceToImage({ properties: ['linearid'], reducer: ee.Reducer.first() }); Map.setCenter(-99.976, 40.38, 5); Map.addLayer(roads, { });Pero no puedo hacer que repita lo mismo en el paquete R rgee. Estoy usando código:
road = ee$FeatureCollection("TIGER/2016/Roads")$ map(function(feature) { num = ee$Number$parse(feature$get('linearid')) return(feature$set('linearid', num)) }) road2 = road$reduceToImage(properties=road$select('linearid'), reducer=ee$Reducer$first()) Map$addLayer(road2, {}, "road2")Pero me sale el error:
Error in py_call_impl(callable, dots$args, dots$keywords) : ee.ee_exception.EEException: Collection.reduceToImage, argument 'properties': Invalid type. Expected type: List<String>. Actual type: FeatureCollection.¿Alguien puede ayudarme a solucionar este error para poder seguir usando 'road2' como imagen? Creo que tiene algo que ver con esto ( https://github.com/r-spatial/rgee/issues/232 ) "Parece que pasar un objeto ee.Image en Javascript lo cambia inmediatamente a una Lista"
No conozco el lenguaje R, pero parece que cometiste un error en tu traducción.
var roads = dataset .reduceToImage({ properties: ['linearid'], reducer: ee.Reducer.first() }); Aquí, el argumento de properties para reduceToImage es una lista de cadenas.
road2 = road$reduceToImage(properties=road$select('linearid'), reducer=ee$Reducer$first()) Aquí no está construyendo una lista, sino llamando a road$select . Entonces, el resultado es una imagen, no la lista de cadenas que quiere reduceToImage .
¿Quizás quieras properties=list('linearid') ? Nuevamente, no sé R o rgee , por lo que no puedo decir si esto es correcto.