RateMyPrompt

RateMyPrompt

Discover and share the best AI prompts, rated by AI & humans

Prompt

Code Review & Optimization
Full
For: Claude Sonnet1 views
Submitted 14 hours agoAI evaluation pending

Prompt

Prompt refinado (cole para o MI)

Objetivo geral:
Corrigir e padronizar a geração dos mapas e revisar a pipeline completa para que todos os mapas (Power Plants, Protected Areas, Biomass/Solar/Wind Resource, Land Cover Suitability, Slope, etc.) tenham aparência, legendas e semântica consistentes entre si, e para garantir reprodutibilidade quando rodarmos para outros países.

Requisitos visuais e semânticos (mapas)
	1.	Basemap / estilo geral
	•	Todos os mapas devem usar o mesmo fundo (mesmo estilo, tonalidade e limites de país) — o fundo atual denominado Santa Clara será o padrão visual. O recorte deve ser somente o país (limite administrativo), sem tiles distrativos externos.
	•	A escala, legenda e posição do norte/escala devem ser consistentes (mesma posição e tamanho) entre todos os mapas.
	2.	Power Plants
	•	Cada tipo de usina (e.g., térmica, eólica, solar, hidráulica, biomassa) deve ter uma cor distinta definida na legenda. Exemplos sugeridos (hex):
	•	Térmica: #d95f02 (laranja)
	•	Eólica: #1f78b4 (azul)
	•	Solar: #ffdf5a (amarelo)
	•	Hidráulica: #33a02c (verde escuro)
	•	Biomassa: #6a3d9a (roxo)
	•	Pontos das usinas devem ser desenhados com símbolo claro (círculo com borda preta leve).
	•	Zona de impacto/proximidade ao redor de cada planta: desenhar buffer(s) concêntricos reduzidos (ex.: 5 km, 15 km, 30 km) — buffers menores que os atuais e clipped ao limite do país. Buffers devem ser semitransparentes e sempre aparecendo dentro do território nacional, não extrapolando costas/águas.
	•	Legenda: incluir entradas para cada tipo de usina e para cada faixa de buffer (ex.: 0–5 km, 5–15 km, 15–30 km) com cores/alpha distintos.
	•	Ordem de plotagem: basemap → buffers (alpha baixo) → pontos das usinas (símbolos) → rótulos/legenda.
	3.	Protected Areas
	•	Mostrar apenas as áreas protegidas preenchidas em tons de vermelho (ex.: gradiente #fee5d9 → #de2d26) para refletir intensidade/importance. Fundo do mapa não deve ficar todo verde.
	•	Incluir zona de influência (buffer) com múltiplos anéis (ex.: 1 km, 5 km, 20 km) e atribuir pesos a cada anel (ex.: inner=1.0, mid=0.6, outer=0.2). Exibir legenda com a escala de pesos (0 → 1) e uma barra de cores contínua para mostrar a transição.
	•	Se a área for pequena — exibir rótulo e meta-dados (categoria IUCN se disponível).
	4.	Resource maps — Wind / Solar / Biomass
	•	Wind Resource: manter coloração em azul/azul-escuro; escala contínua (ex.: #deebf7 → #08519c), valores normalizados 0–1 (ou percentil). Mapear e uniformizar para 0–100% (ou 0–1).
	•	Solar Resource: usar paleta amarelo → vermelho (ex.: #fff7bc → #d7301f), valores normalizados 0–1.
	•	Biomass Resource: corrigir granularidade/suavização. Se os dados forem raster com alta variância, aplicar spatial smoothing (ex.: gaussian filter com sigma apropriado ou focal mean em janela 3×3 ou 5×5) para reduzir ruído, mantendo resolução útil.
	•	Todos os mapas de recurso devem ter a mesma lógica de normalização e legendas (mesma posição e título “Potential / Resource (% normalized)”).
	5.	Land Cover Suitability (LC) para Biomass / Solar / Wind
	•	Explicar claramente no MD (ver seção MD abaixo) como se chegou ao LC: quais camadas entraram, que pesos foram aplicados e a fórmula de combinação (normalização → multiplicação por pesos → agregação).
	•	Os mapas P25 / P65 devem ser reavaliados: documentar e aplicar percentis coerentes (ex.: P25 = 25th percentile threshold of resource OR suitability?) — garantir que os mapas P25/P65 representem limiares de suitability consistentes com os Resource maps.
	•	Verificar correlação entre Resource maps e LC: LC não deve indicar mais potencial que o Resource sem justificativa; ajuste as regras/thresholds que transformam Resource → Suitability (ex.: somar penalizações por slope > X°, exclusões por áreas protegidas, classes de landcover proibitivas, distância a infraestrutura).
	•	Resultado: LC ← função(Resource_normalized, slope_score, landcover_score, distance_to_protected, distance_to_roads, soil_constraints, etc.)
	6.	Slope e outras camadas derivadas
	•	Gerar um mapa de Slope separado (raster) com legenda em graus e, se necessário, uma versão categorizada (ex.: 0–5°, 5–15°, >15°).
	•	Não combinar Slope + TreeThreshold em um só raster sem explicação — se a combinação for útil, gerar ambos: (a) mapa de Slope puro; (b) mapa combinado com explicação e metadados.
	7.	Grade / grid / coordenadas
	•	Remover grelha de lat/long sobreposta por padrão (pode ser uma opção ON/OFF parametrizável). Mostrar o recorte do país sem linhas de grid, mantendo apenas escala e norte.
	•	Manter a mesma posição e formato da escala numérica (colorbar) em todos os mapas.

Parâmetros sugeridos (defaults, ajustáveis)
	•	Buffers Power Plants: [5_000, 15_000, 30_000] (metros)
	•	Buffers Protected Areas: [1_000, 5_000, 20_000] (metros)
	•	Smoothing Biomass raster: focal mean, window 3×3 (ou gaussian sigma=1)
	•	Normalização: min-max dentro do recorte do país → 0..1
	•	Colorbars: discrete legend for categorical layers, continuous for continuous layers
	•	CRS: usar EPSG apropriado para país (ex.: para Portugal usar EPSG:3763 ou projetado local) — sempre reprojetar para CRS projetado antes de calcular buffers/distâncias.

Revisão e qualidade da pipeline (checar no código)
	•	Remover hardcoded: country name, file paths, CRS, buffer distances, color choices, thresholds — transformar em parâmetros de configuração (YAML/JSON).
	•	Modularização: criar funções/steps separados (load_data, preprocess, generate_resource_maps, generate_LC, plot_map, export_geojson/geotiff).
	•	Verificações automáticas: checar CRS, checar se buffers foram clipados ao limite do país, checar se normalização foi aplicada.
	•	Logs & testes: adicionar logging em níveis (INFO/DEBUG), e testes básicos que validem shapes e estatísticas (por ex.: percentis do raster).
	•	Inputs parametrizáveis: permitir rodar por país (passar country_iso), por tipos de mapas, e por threshold presets (dev / prod).
	•	Documentar: atualizar README + 2 arquivos .md solicitados (veja texto sugerido abaixo).
	•	Não extrapolar para o mar: buffers devem ser intersection(buffer, country_polygon).

Critérios de aceitação (visuais e técnicos)
	1.	Power Plants: legenda com tipos + buffers visíveis, pontos coloridos conforme tipo; buffers não saem do país.
	2.	Protected Areas: áreas preenchidas em vermelho com gradiente e legenda de pesos.
	3.	Resources: Wind em tons de azul, Solar em amarelo→vermelho, Biomass suavizado com escala contínua.
	4.	LC maps: explicação no MD; P25/P65 têm sentido com base em percentis definidos e demonstráveis por estatísticas.
	5.	Slope: mapa separado com legendas em graus.
	6.	Pipeline: nenhum hardcode visível; config file presente; scripts modulares; README atualizado.

⸻

Trecho de arquivo .md sugerido (incluir nos 2 pontos .md que você mencionou)

Adicionar / atualizar seção: Zona de Impacto e Pesos (Impact Buffers)

Zona de Impacto (Impact Buffers)
Para alguns critérios (ex.: instalações energéticas e áreas protegidas) introduzimos zonas de impacto concêntricas ao redor das feições. Cada anel tem um raio e um peso associado que representa o grau de sensibilidade / influência sobre a suitability.
	•	Exemplo de configuração padrão: 0–5 km (peso 1.0), 5–15 km (peso 0.6), 15–30 km (peso 0.2).
	•	Os buffers são calculados em projeção local (CRS projetado) e depois recortados ao limite do país.
	•	No cálculo final de suitability, os pesos são normalizados e aplicados como penalização multiplicativa (ou aditiva, conforme a política definida em config.yaml).
	•	Esta abordagem permite transitar de uma visão binária (0/1) para uma escala contínua de impacto, sem perder compatibilidade com o processo MCDA posterior.
	•	Todas as escolhas de raio e peso devem ser documentadas e parametrizáveis no config.yaml.

(Adicione também um pequeno exemplo de código pseudo: buffer = geometry.buffer(radius_m).intersection(country_polygon) e a forma de combinar pesos.)

User Rating

No ratings yet. Be the first to rate!

Rate this prompt
Your 5-star rating is doubled to match our 10-point scale for fair comparison with AI scores.