corrija o erro : Error: Unable to export features with empty geometry. (Error code: 3). O script do google earth engine: var table3 = ee.FeatureCollection("projects/ee-cbcgeeanalises/assets/CAR_UCsFederais_032024"),
    table8 = ee.FeatureCollection("projects/ee-cbcgeeanalises/assets/INCRA_Areas_de_Quilombolas_corrigidas_202404"),
    table2 = ee.FeatureCollection("projects/ee-cbcgeeanalises/assets/INCRA_Assentamento_Brasil_corrigidos_202404"),
    table4 = ee.FeatureCollection("projects/ee-cbcgeeanalises/assets/INCRA_Assentamento_Federal_corrigido_202404"),
    table5 = ee.FeatureCollection("projects/ee-cbcgeeanalises/assets/INCRA_Assentamento_Reconhecimento_corrigido_202404"),
    table6 = ee.FeatureCollection("projects/ee-cbcgeeanalises/assets/INCRA_Imovel_certificado_SNCI_Publico_corrigido_202404"),
    table7 = ee.FeatureCollection("projects/ee-cbcgeeanalises/assets/INCRA_Sigef_Publico_corrigido_202404");

print(table2.aggregate_array('fase').distinct().sort(), 'fase assentamentos brasil')
print(table4.aggregate_array('fase').distinct().sort(), 'fase assentamentos Federais')
print(table5.aggregate_array('fase').distinct().sort(), 'fase assentamentos em reconhecimento')

print(table2.limit(5000), 'assentamentos')

var Assentamentos = ee.FeatureCollection(table2, table4, table5)

print(Assentamentos.aggregate_array('fase').distinct().sort(), 'fase assentamentos total')

var substituirString1 = function(feature) {
  var autuado = ee.String(feature.get('fase'));
  var isVazioOuPonto = autuado.compareTo('10').eq(0)//.or(autuado.compareTo('.').eq(0));
  var resultado = ee.Algorithms.If(isVazioOuPonto,
                                   feature.set('fase', ee.Number(7)), //Substitui
                                   feature); // Caso falso, mantém
  return ee.Feature(resultado);
};

var AssentamentosCorrigido = table4.map(substituirString1)

print(AssentamentosCorrigido.filter(ee.Filter.eq('fase', 10)).size(), 'fase 10')

var DictFaseAssent = ee.Dictionary({
1: 'Em_Obtencao',
2: 'Pre_Projeto_de_Assentamento',
3: 'Assentamento_em_Criacao',
4: 'Assentamento_Criado',
5: 'Assentamento_em_Instalacao',
6: 'Assentamento_em_Estruturacao',
7: 'Assentamento_em_Consolidacao',
})

var listafasesAssentamentos = ee.List([
'Assentamento_em_Criacao',
'Assentamento_Criado',
'Assentamento_em_Instalacao',
'Assentamento_em_Estruturacao',
'Assentamento_em_Consolidacao',
])


//_______________________________________________________________________

var cleanString = function(value) {

  return ee.String(value)
      .replace('á|à|ã|â|ä', 'a', 'g')
      .replace('Á|À|Ã|Â|Ä', 'A', 'g')
      .replace('é|è|ê|ë', 'e', 'g')
      .replace('É|È|Ê|Ë', 'E', 'g')
      .replace('í|ì|î|ï', 'i', 'g')
      .replace('Í|Ì|Î|Ï', 'I', 'g')
      .replace('ó|ò|õ|ô|ö', 'o', 'g')
      .replace('Ó|Ò|Õ|Ô|Ö', 'O', 'g')
      .replace('ú|ù|û|ü', 'u', 'g')
      .replace('Ú|Ù|Û|Ü', 'U', 'g')
      .replace('ç', 'c', 'g')
      .replace('Ç', 'C', 'g')
      .replace('ñ', 'n', 'g')
      .replace('Ñ', 'N', 'g')
      .replace('[^a-zA-Z0-9_ .]', ' ', 'g') // Remove caracteres especiais, permite espaços, underlines e pontos
      .replace(' ', '_', 'g')
      .replace('__|___|____', '_', 'g')
};

var removeAllSpecialCharacters = function(featureCollection) {
  var cleanedFeatureCollection = featureCollection.map(function(feature) {
    var properties = feature.toDictionary();

    var cleanedProperties = properties.map(function(key, value) {
      var cleanedValue = cleanString(value);
      return cleanedValue;
    });

    return ee.Feature(feature.geometry(), cleanedProperties);
  });

  return cleanedFeatureCollection;
};

var cleanedCollection = removeAllSpecialCharacters(AssentamentosCorrigido);

var TQ_NaoTitulados1 = ee.FeatureCollection(cleanedCollection);

//_______________________________________________________________________

var listaFases = TQ_NaoTitulados1.aggregate_array('fase').distinct().sort();

var sequencia = listafasesAssentamentos//ee.List.sequence(1, listaFases.size());

print(sequencia, 'Quantidade')

var dictFaseToNumber = ee.Dictionary.fromLists(listaFases, sequencia);

function addFaseNumber(feature) {
  var fase2 = feature.get('fase');
  var faseNumber = dictFaseToNumber.get(fase2);
  return feature.set('fase', faseNumber)
                .set('faseNumber', ee.Number.parse(fase2));
}

var StringNumber = function(feature){
  var x = feature.get('fase')
  return feature.set('fase' , ee.Number.parse(x).abs())
}

var StringNumber2 = function(x){
  return ee.Number.parse(x).abs()
}

var updatedCollection = TQ_NaoTitulados1.map(addFaseNumber);

print(updatedCollection.limit(100), 'updatedCollection');



var imagetest6 = updatedCollection
.reduceToImage({
  properties: ['faseNumber'],
  reducer: ee.Reducer.last()
}).selfMask();

Map.addLayer(updatedCollection, {}, 'TQ Brasil')

Map.addLayer(imagetest6, {min: 1,max: 8, 
    palette: ['#9400D3', '#4B0082', '#0000FF', '#00FF00', '#FFFF00', '#FF7F00']}, 
    'reduceToImage');

// Exportar SHP
Export.table.toAsset({
  collection: updatedCollection, 
  description: 'INCRA_Assentamento_Reconhecimento_corrigido_202404_fases', 
  assetId: 'INCRA_Assentamento_Reconhecimento_corrigido_202404_fases'});