CENTRO DE APOIO OPERACIONAL

MPPE atua para garantir análise rigorosa do EIA/RIMA do empreendimento Maracaípe Beach Living - 24/03/2026

Imagem de praia de Maracaípe
Estudo apresentado ainda não oferece base técnica segura para embasar uma decisão conclusiva sobre a viabilidade ambiental do empreendimento

 

24/03/2026 - O licenciamento original do empreendimento Maracaípe Beach Living, que tramitava junto ao Município de Ipojuca, foi anulado após o acatamento de Recomendação expedida pelo Grupo de Atuação Conjunta Especializada (GACE) Praias, força-tarefa do Ministério Público de Pernambuco que atuou em três municípios da zona costeira do Estado. Segundo a recomendação, o licenciamento deveria ocorrer junto ao órgão licenciador estadual (CPRH) e por meio da realização de Estudo de Impacto Ambiental (EIA).

Agora, no novo procedimento, que tramita junto à CPRH, o MPPE acompanha de forma preventiva a análise do Estudo de Impacto Ambiental e Relatório de Impacto Ambiental (EIA/RIMA), para verificar se o projeto apresenta informações suficientes e seguras antes de qualquer decisão administrativa definitiva. A análise ministerial é assinada pelo promotor de Justiça de Ipojuca, Luiz Eduardo Braga Lacerda, pela coordenadora do CAO Meio Ambiente, Belize Câmara Correia, por equipe técnica multidisciplinar do CAO e pelo Departamento de Oceanografia da UFPE. 

Mas, afinal, o que isso significa na prática? Significa que o Ministério Público está fiscalizando se o estudo ambiental realmente esclarece os possíveis efeitos do empreendimento sobre a área de Maracaípe, especialmente em temas sensíveis como saneamento, ocupação urbana e dinâmica costeira. O objetivo não é impedir, por si só, a realização de empreendimentos, mas assegurar que qualquer intervenção respeite a legislação e não produza danos evitáveis ao meio ambiente e à coletividade. 

O empreendimento analisado foi descrito, nos documentos técnicos, como um complexo residencial e turístico de uso misto, com 640 unidades habitacionais distribuídas em blocos e casas, além de áreas comerciais, restaurante, edifício-garagem e vagas descobertas, em terreno localizado na Praia de Maracaípe, em Ipojuca. 

Na parte de saneamento, o MPPE identificou dúvidas importantes sobre o dimensionamento da infraestrutura prevista para atender o empreendimento. Entre os pontos levantados estão divergências sobre o número máximo de usuários, ausência de detalhamento suficiente sobre a geração e o tratamento de efluentes e falta de clareza sobre a destinação final da água tratada. O estudo também indicaria reuso de parte desse efluente, mas a análise técnica apontou que não houve demonstração satisfatória de que essa solução seria suficiente, o que exige maior aprofundamento, sobretudo porque eventual excedente poderá alcançar o estuário do rio Maracaípe.  

PLANEJAMENTO - Outro ponto sensível é o cronograma da obra. O Ministério Público destacou a necessidade de planejamento adequado das etapas de implantação, inclusive para evitar movimentação de terra em período chuvoso, quando aumenta o risco de carreamento de sedimentos, assoreamento e degradação ambiental. Também foi apontado que a estação de tratamento de esgoto deve estar plenamente implantada e funcionando antes da ocupação da primeira etapa do empreendimento.

No eixo urbanístico, a análise ministerial levantou questionamentos sobre a compatibilidade do projeto com as regras aplicáveis ao lote beira-mar. Isso porque o empreendimento foi concebido como de uso misto, com residências, lojas e restaurante, e o MPPE apontou a necessidade de esclarecimento formal do Município de Ipojuca sobre a adequação desses usos à disciplina urbanística incidente na área. Também foi observada a ausência, nos documentos analisados, da chamada Consulta Prévia e da ficha técnica municipal, peças importantes para confirmar oficialmente os parâmetros urbanísticos válidos para o terreno.

Já no campo da dinâmica costeira — tema central em uma área ambientalmente frágil como Maracaípe — o parecer técnico-científico juntado aos autos apontou fragilidades metodológicas relevantes. Entre elas, estão dúvidas sobre a definição da faixa non aedificandi, isto é, a faixa que deve permanecer sem edificação para proteger a dinâmica natural da praia; insuficiências na determinação da linha de preamar máxima; ausência de análise mais robusta sobre erosão costeira, regime de ondas e correntes; e falta de delimitação cartográfica precisa de áreas de preservação permanente, como APPs de praia e de restinga.

SEGURANÇA TÉCNICA - Diante desse conjunto de apontamentos, a conclusão do Ministério Público foi objetiva: o EIA/RIMA, no estado atual, ainda não oferece base técnica segura para embasar uma decisão conclusiva sobre a viabilidade ambiental do empreendimento. Por isso, o MPPE requereu complementações, revisões e novos esclarecimentos antes do prosseguimento regular do licenciamento.

“A análise preventiva do EIA/RIMA permite identificar lacunas, exigir correções e assegurar que a tomada de decisão pelo poder público ocorra com base em informações técnicas consistentes. Em matéria ambiental, especialmente em uma área costeira sensível como Maracaípe, prevenir é sempre o caminho mais responsável, porque reparar depois, além de mais difícil, muitas vezes já não é suficiente para recompor integralmente o prejuízo causado ao meio ambiente e à coletividade”, destacam o promotor de Justiça de Ipojuca, Luiz Eduardo Braga Lacerda, e a coordenadora do CAO Meio Ambiente, Belize Câmara Correia.

Um erro ocorreu enquanto processava o modelo.
The following has evaluated to null or missing:
==> fieldName.getValue().getString(locale)  [in template "20097#20123#687741" at line 123, column 60]

----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign dataNoticia = fieldName.getVa...  [in template "20097#20123#687741" at line 123, column 37]
----
1<style> 
2	 
3	  .noticias-recentes{ 
4	    background-color: #e5e5e5; 
5      padding: 16px 5px; 
6			margin:0px 10px; 
7			border-radius:5px; 
8	  } 
9	 
10		.noticias-recentes .tag-noticias{ 
11		 color:#7d1f0d; 
12		 text-transform:uppercase; 
13		font-weight:900; 
14		} 	 
15	.noticias-recentes .tag-noticias hr{ 
16		 width:60%; 
17		 margin-top:-3px; 
18		 border:solid #FF2F2F 2px; 
19		} 	 
20		.noticias-recentes .logo{ 
21		  width: 100%; 
22		  border-radius: 8px; 
23			height: 100px; 
24      background-position: center; 
25      background-repeat: no-repeat; 
26      background-size: cover; 
27    } 
28		.noticias-recentes .noticia{ 
29		  position: relative; 
30			padding: 10px; 
31		} 
32	 
33	.noticias-recentes .noticia:hover{ 
34		  position: relative; 
35			background: #fff; 
36      border-radius: 8px; 
37      scale: 1.02; 
38	    padding: 15px; 
39		  cursor:pointer; 
40		  transition: all ease-in 0.3s; 
41		} 
42	.noticias-recentes .noticia .data-noticia{ 
43		color:#FF2F2F; 
44		font-size:20px; 
45		text-align:left !important; 
46	} 
47	 
48	.noticias-recentes .noticia .title-desc .title{ 
49		  display: -webkit-box; 
50      margin: 0 auto; 
51      line-height: 1.4; 
52      -webkit-line-clamp: 4; 
53      -webkit-box-orient: vertical; 
54      overflow: hidden; 
55			text-overflow: ellipsis; 
56		  color:#474747; 
57		  font-weight: bold !important; 
58		font-size:20px; 
59		} 
60	 
61	.noticias-recentes .description * { 
62    font-weight: 300 !important; 
63		background: transparent!important; 
64		font-size: initial!important; 
65		opacity:0.5; 
66		 display: -webkit-box; 
67      margin: 0 auto; 
68      line-height: 1.4; 
69      -webkit-line-clamp: 4; 
70      -webkit-box-orient: vertical; 
71      overflow: hidden; 
72			text-overflow: ellipsis; 
73		font-size:20px; 
74} 
75		.noticias-recentes .description p:first-child { 
76      display: -webkit-box; 
77      margin: 0 auto; 
78      line-height: 1.4; 
79      -webkit-line-clamp: 3; 
80      -webkit-box-orient: vertical; 
81      overflow: hidden; 
82			text-overflow: ellipsis; 
83			text-align: start !important; 
84			font-weight:900 !important; 
85		} 
86		 
87		.noticias-recentes .description *:not(:first-child){ 
88		  display: none; 
89		} 
90		 
91	</style> 
92 
93<#assign dlService=serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")> 
94    <#assign 
95        ddmFieldLocalService=serviceLocator.findService("com.liferay.dynamic.data.mapping.service.DDMFieldLocalService") /> 
96 
97    <div class="noticias-recentes container"> 
98        <#if entries?has_content> 
99					<div class="tag-noticias pt-3 pb-2 pl-2"> 
100					<h4 class="font-weight-bold pl-2"> Mais Notícias </h4> 
101					<hr> 
102					</div> 
103					 
104                <#list entries as curEntry> 
105                        <#if curEntry.getClassName()=="com.liferay.journal.model.JournalArticle"> 
106                            <#assign assetRenderer=curEntry.getAssetRenderer() /> 
107                            <#assign journalArticle=assetRenderer.getAssetObject() /> 
108                            <#assign ddmStructure=journalArticle.getDDMStructure() /> 
109                            <#assign ddmForm=ddmStructure.getDDMForm() /> 
110                            <#assign ddmFormValues=ddmFieldLocalService.getDDMFormValues(ddmForm, journalArticle.getId()) /> 
111                            <#assign ddmFormFieldValues=ddmFormValues.getDDMFormFieldValues() /> 
112                            <#assign imageURL="/documents/" + curEntry.getGroupId() + "/" + curEntry.getEntryId() + "/" /> 
113                            <#assign titulo = "" /> 
114                            <#assign desc = "" /> 
115														<#assign jsonObj = "" /> 
116														<#assign viewURL = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, curEntry) /> 
117														<#if assetLinkBehavior != "showFullContent" && assetRenderer.getURLViewInContext(renderRequest, renderResponse, viewURL)??> 
118																<#assign viewURL = assetRenderer.getURLViewInContext(renderRequest, renderResponse, viewURL) /> 
119														</#if> 
120													 
121                            <#list ddmFormFieldValues as fieldName>     
122                                <#if fieldName.getFieldReference()=='data'> 
123                                    <#assign dataNoticia = fieldName.getValue().getString(locale) />  
124																</#if> 
125																<#if fieldName.getFieldReference() == 'descricao'> 
126																	<#assign desc = fieldName.getValue().getString(locale) /> 
127																</#if> 
128                            </#list> 
129													<div class="noticia d-flex align-items-center flex-column mt-3 "> 
130														<a class="stretched-link" href="${viewURL}"></a> 
131														<p class="data-noticia w-100 d-block"> 
132															${dataNoticia?split("-")?reverse?join("/")} 
133														</p> 
134														<div class="title-desc">  
135															<h6 class="title">${curEntry.getTitle(locale)}</h6> 
136														  <div class="description mt-3"> ${desc}</div> 
137														</div> 
138													</div> 
139													<hr class="mt-2 mb-2"> 
140                        </#if> 
141                </#list> 
142            </div> 
143        </#if> 
144    </div>