Spaces:
Running
Running
File size: 11,165 Bytes
e71f686 8dde0ad 1b8609b 9d9c434 8dde0ad c60ba05 690a3aa 8dde0ad 690a3aa 8dde0ad 9ac8087 690a3aa c60ba05 690a3aa c60ba05 8dde0ad 68bffe6 9ac8087 8dde0ad 9ac8087 c60ba05 8dde0ad c60ba05 8dde0ad 9ac8087 1b8609b 82ae898 8dde0ad 1b8609b 8dde0ad 1b8609b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 |
SELECT
e.id AS "Id da entrada no banco",
e."createdAt" AS "Data Criação",
e.name AS "Nome do documento",
-- Alvo ou depósito
COALESCE(data->'responseData'->0->'response'->>'target_or_deposit', 'Não especificado') AS "Alvo ou depósito",
-- Tipo de mineralização
COALESCE(
array_to_string(
ARRAY(
SELECT CONCAT(
mineralization->>'type'
)
FROM jsonb_array_elements(data->'responseData'->0->'response'->'mineralizations') AS mineralization
), ', '
), 'Não especificado'
) AS "Tipo de mineralização",
-- cidade
COALESCE(data->'responseData'->0->'response'->'region'->>'city', 'Não especificado') AS "Cidades",
-- estado
COALESCE(data->'responseData'->0->'response'->'region'->>'state', 'Não especificado') AS "Estado",
-- país
COALESCE(data->'responseData'->0->'response'->'region'->>'country', 'Não especificado') AS "País",
-- região
COALESCE(data->'responseData'->0->'response'->'region'->>'region_name', 'Não especificado') AS "Região",
-- Consolidar quantidade, tipo de mineralização e minerais com concentração
COALESCE(
array_to_string(
ARRAY(
SELECT CONCAT(
COALESCE(mineralization->>'quantity', 'ND'), ' de ',
COALESCE(mineralization->>'type', 'ND'), ': ',
array_to_string(
ARRAY(
SELECT CONCAT(
mineral->>'name',
' (', COALESCE(mineral->>'concentration', 'ND'), ')'
)
FROM jsonb_array_elements(CASE
WHEN jsonb_typeof(mineralization->'minerals') = 'array'
THEN mineralization->'minerals'
ELSE '[]'::jsonb
END) AS mineral
), ', '
)
)
FROM jsonb_array_elements(CASE
WHEN jsonb_typeof(data->'responseData'->0->'response'->'mineralizations') = 'array'
THEN data->'responseData'->0->'response'->'mineralizations'
ELSE '[]'::jsonb
END) AS mineralization
), '; '
), 'Não especificado'
) AS "Quantidades e concentrações",
-- extra_info
COALESCE(data->'responseData'->0->'response'->'region'->>'extra_info', 'Não especificado') AS "Informações adicionais",
COALESCE(NULLIF(data->'responseData'->2->'response'->>'mineralizationSignatures', '[]'), 'Não especificado') AS "Assinaturas de mineralização 2",
COALESCE(NULLIF(data->'responseData'->0->'response'->'geological_context'->>'tectonic_context', ''), 'Não especificado') AS "Contexto tectônico", -- OK
COALESCE(NULLIF(data->'responseData'->0->'response'->'geological_context'->>'geological_context_description', ''), 'Não especificado') AS "Contexto geológico", -- OK
COALESCE(NULLIF(data->'responseData'->0->'response'->'geological_context'->>'context_of_present_rocks', ''), 'Não especificado') AS "Rochas presentes", -- OK
-- Rochas sedimentares
COALESCE(
CASE
WHEN jsonb_typeof(data->'responseData'->1->'response'->'rockTypes'->'sedimentares') = 'array' THEN
array_to_string(
ARRAY(
SELECT CONCAT(
sedimentares->>'name',
' (Tipo: ', sedimentares->>'type',
', Relações de contato: ', COALESCE(sedimentares->>'contact_relations', 'ND'), ')'
)
FROM jsonb_array_elements(data->'responseData'->1->'response'->'rockTypes'->'sedimentares') AS sedimentares
), '; '
)
ELSE 'Não identificado'
END,
'Não identificado'
) AS "Rochas sedimentares",
-- Rochas metamórficas
COALESCE(
CASE
WHEN jsonb_typeof(data->'responseData'->1->'response'->'rockTypes'->'metamórficas') = 'array' THEN
array_to_string(
ARRAY(
SELECT CONCAT(
metam->>'name',
' (Tipo: ', metam->>'type',
', Relações de contato: ', COALESCE(metam->>'contact_relations', 'ND'), ')'
)
FROM jsonb_array_elements(data->'responseData'->1->'response'->'rockTypes'->'metamórficas') AS metam
), '; '
)
ELSE 'Não identificado'
END,
'Não identificado'
) AS "Rochas metamórficas",
-- Rochas ígneas intrusivas
COALESCE(
CASE
WHEN jsonb_typeof(data->'responseData'->1->'response'->'rockTypes'->'ígneas_intrusivas') = 'array' THEN
array_to_string(
ARRAY(
SELECT CONCAT(
igneas_i->>'name',
' (Tipo: ', igneas_i->>'type',
', Relações de contato: ', COALESCE(igneas_i->>'contact_relations', 'ND'), ')'
)
FROM jsonb_array_elements(data->'responseData'->1->'response'->'rockTypes'->'ígneas_intrusivas') AS igneas_i
), '; '
)
ELSE 'Não identificado'
END,
'Não identificado'
) AS "Rochas ígneas intrusivas",
-- Rochas ígneas extrusivas
COALESCE(
CASE
WHEN jsonb_typeof(data->'responseData'->1->'response'->'rockTypes'->'ígneas_extrusivas') = 'array' THEN
array_to_string(
ARRAY(
SELECT CONCAT(
igneas_e->>'name',
' (Tipo: ', igneas_e->>'type',
', Relações de contato: ', COALESCE(igneas_e->>'contact_relations', 'ND'), ')'
)
FROM jsonb_array_elements(data->'responseData'->1->'response'->'rockTypes'->'ígneas_extrusivas') AS igneas_e
), '; '
)
ELSE 'Não identificado'
END,
'Não identificado'
) AS "Rochas ígneas extrusivas",
-- Rochas ígneas subvulcânicas
COALESCE(
CASE
WHEN jsonb_typeof(data->'responseData'->1->'response'->'rockTypes'->'ígneas_subvulcânicas') = 'array' THEN
array_to_string(
ARRAY(
SELECT CONCAT(
igneas_sv->>'name',
' (Tipo: ', igneas_sv->>'type',
', Relações de contato: ', COALESCE(igneas_sv->>'contact_relations', 'ND'), ')'
)
FROM jsonb_array_elements(data->'responseData'->1->'response'->'rockTypes'->'ígneas_subvulcânicas') AS igneas_sv
), '; '
)
ELSE 'Não identificado'
END,
'Não identificado'
) AS "Rochas ígneas subvulcânicas",
-- Rochas hospedeiras
COALESCE(NULLIF(data->'responseData'->2->'response'->'host_rocks'->>'name', '[null]'), 'Não identificado') AS "Nomes de rochas hospedeiras",
COALESCE(NULLIF(data->'responseData'->2->'response'->'host_rocks'->>'geologicalEnvironments', '[null]'), 'Não identificado') AS "Ambiente geológico",
COALESCE(NULLIF(array_to_string(ARRAY(SELECT jsonb_array_elements_text(data->'responseData'->2->'response'->'mineralFabric')), ', '), ''), 'Não identificado') AS "Textura de mineralização",
COALESCE(NULLIF(array_to_string(ARRAY(
SELECT jsonb_extract_path_text(associatedMinerals, 'name') || ' (' || 'Cor: ' || jsonb_extract_path_text(associatedMinerals, 'color') || ', Textura: ' || jsonb_extract_path_text(associatedMinerals, 'textures') || ', Nível de Alteração: ' || jsonb_extract_path_text(associatedMinerals, 'alterationLevel') || ')'
FROM jsonb_array_elements(data->'responseData'->2->'response'->'associatedMinerals') AS associatedMinerals
), ', '), ''), 'Não identificado') AS "Minerais associados",
-- Tipos de processos alterações
COALESCE(
NULLIF(
array_to_string(
ARRAY(
SELECT alteration->>'alterationType'
FROM jsonb_array_elements(data->'responseData'->2->'response'->'alteration_processes') AS alteration
), ', '
), ''
), 'Não identificado'
) AS "Tipos de processos de alterações",
-- Minerais associados a alterações hidrotermais
COALESCE(
NULLIF(
array_to_string(
ARRAY(
SELECT jsonb_array_elements_text(alteration->'associatedMinerals')
FROM jsonb_array_elements(data->'responseData'->2->'response'->'alteration_processes') AS alteration
), ', '
), ''
), 'Não identificado'
) AS "Minerais associados a processos de alteração",
COALESCE(NULLIF(data->'responseData'->2->'response'->>'chemical_pattern_analysis', '[]'), 'Não especificado') AS "Análise de padrão químico",
COALESCE(NULLIF(data->'responseData'->3->'response'->>'stable_isotopes', '[]'), 'Não especificado') AS "Isótopos Estáveis e Radiogênicos",
COALESCE(NULLIF(data->'responseData'->3->'response'->>'trace_elements_and_rare_earths', '[]'), 'Não especificado') AS "Elementos traço e terras raras",
-- COALESCE(NULLIF(data->'responseData'->3->'response'->>'structural_mapping', '[]'), 'Não especificado') AS "Geologia estrutural da região",
-- COALESCE(NULLIF(data->'responseData'->4->'response'->>'structureMineralizationRelation', '[]'), 'Não especificado') AS "Relação estrutura-mineralização",
COALESCE(NULLIF(data->'responseData'->4->'response'->>'geophysical_signatures', '[]'), 'Não especificado') AS "Assinaturas geofísicas",
COALESCE(NULLIF(data->'responseData'->4->'response'->>'mineralization_signatures', '[]'), 'Não especificado') AS "Assinaturas de mineralização",
COALESCE(NULLIF(data->'responseData'->5->'response'->>'additional_information', '[]'), 'Não especificado') AS "Informações adicionais de mineralização",
COALESCE(NULLIF(data->'responseData'->6->'response'->>'estimates', '[]'), 'Não especificado') AS "Estimativas de quantidade de mineralização",
COALESCE(NULLIF(data->'responseData'->7->'response'->>'potential', '[]'), 'Não especificado') AS "Potencial de descoberta",
COALESCE(NULLIF(data->'responseData'->8->'response'->>'strengths', '[]'), 'Não especificado') AS "Pontos fortes",
COALESCE(NULLIF(data->'responseData'->8->'response'->>'investment_risk', '[]'), 'Não especificado') AS "Risco de investimento",
COALESCE(NULLIF(data->'responseData'->8->'response'->>'economic_potential', '[]'), 'Não especificado') AS "Potencial econômico",
COALESCE(NULLIF(data->'responseData'->9->'response'->>'explanation', '[]'), 'Não especificado') AS "Explicação da favorabilidade",
COALESCE(NULLIF(data->'responseData'->9->'response'->>'favorability', '[]'), 'Não especificado') AS "Favorabilidade"
FROM
"Future Mining"."Extraction" e
GROUP BY
e."createdAt",
e.id,
e.name,
data->'responseData'->0->'response'->'mineralizations'->'type';
|