CENTRO DE APOIO OPERACIONAL

CPRH acata recomendação do MPPE e regulamenta autuação remota de infrações ambientais - 25/11/2025

 

Em um ambiente de vegetação, mulher segura um tablet com as duas mãos e olha fixamente para a tela. Uso das imagens de satélite vai incrementar poder de fiscalização da CPRH

25/11/2025 - A Agência Estadual de Meio Ambiente (CPRH) acatou a recomendação do MPPE, subscrita pelos promotores do meio ambiente da capital e pelo Centro de Apoio de Defesa do Meio Ambiente, e regulamentou os procedimentos da Agência para a autuação remota de infrações ambientais detectadas por meio de tecnologias de monitoramento a distância (geoprocessamento e imagens de satélite).

Com a Instrução Normativa da CPRH nº003/2025, a Agência pode autuar e embargar remotamente os desmatamentos sem ter que ir ao local presencialmente — prática que, até o momento, somente era utilizada pelo IBAMA e pelos estados de Paraná e Sergipe, razão pela qual a iniciativa da CPRH representa um avanço significativo no uso de ferramentas modernas de fiscalização.

Para a coordenadora do Centro de Apoio Operacional das Promotorias de Defesa do Meio Ambiente, promotora Belize Câmara, “a nova instrução da CPRH é um passo determinante no combate ao desmatamento em PE, sendo fundamental lembrar que a maior contribuição do Brasil para a emissão de gases de efeito estufa no contexto de emergência climática atual reside justamente nos desmatamentos e queimadas. Além disso, a fiscalização remota é uma prática validada pelo CNJ e pela jurisprudência para a comprovação desses ilícitos, sendo fundamental lembrar que os embargos por desmatamentos ilegais implicam restrições à obtenção de empréstimos bancários por parte de proprietários, o que certamente gera um forte desestímulo à conduta.

Já o 12º promotor de Justiça de Defesa da Cidadania da Capital (Meio Ambiente), Sérgio Souto, destaca que “os avanços tecnológicos, que já se encontram disponíveis, devem ser utilizados em prol da defesa e proteção ao meio ambiente. É um ganho para todos”. No mesmo diapasão o 13º promotor de Justiça de Defesa da Cidadania da Capital (Meio Ambiente), Ivo Pereira de Lima, reforça que “o uso de tecnologia avançada poderá contribuir substancialmente para coibir o desmatamento, notadamente em face da grande extensão territorial do Estado de Pernambuco e da quantidade de fiscais disponíveis em cada região”.

A nova instrução da CPRH está disponível no site da instituição. Já a Recomendação do MPPE foi publicada no Diário Oficial do MPPE de 10 de setembro de 2025.

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>