CENTRO DE APOIO OPERACIONAL

MPPE recomenda uso de tecnologia na fiscalização e embargos remotos, além da suspensão de Cadastro Ambiental Rural, para combater desmatamento - 10/09/2025

Fotografia de um réptil em um galho de árvore
Os principais pontos do documento são sobre adotar procedimentos para lavrar autos de infração com base em dados de fiscalização remota usando plataformas de dados geográficos como o MapBiomas Alerta e o "TerraBrasilis" do INPE


10/09/2025 - Promotores de Justiça de Meio Ambiente da Capital e o Centro de Apoio Operacional às Promotorias de Defesa do Meio Ambiente (CAO Meio Ambiente) do Ministério Público de Pernambuco (MPPE) emitiram uma recomendação conjunta para a Agência Estadual de Meio Ambiente (CPRH) com o objetivo de intensificar o combate ao desmatamento no Estado. A recomendação orienta o órgão ambiental a utilizar tecnologias de fiscalização remota e a suspender o Cadastro Ambiental Rural (CAR) de imóveis onde forem identificados ilícitos ambientais.

O documento, datado de 9 de setembro de 2025, ressalta que o desmatamento contribui para a perda da biodiversidade, o estresse climático e o aumento das emissões de gases de efeito estufa, principal fonte de emissões do Brasil. Também destaca que a fiscalização remota já é uma prática estabelecida e validada pela jurisprudência para a verificação de ilícitos ambientais e de conformidade no CAR, com o uso de geoprocessamento e imagens de satélite.

Os principais pontos do documento são sobre adotar procedimentos para lavrar autos de infração com base em dados de fiscalização remota usando plataformas de dados geográficos como o MapBiomas Alerta e o "TerraBrasilis" do INPE, que já faz interface com o CAR. Também orienta mudar a situação do Cadastro Ambiental Rural de "ativo" para "suspenso" imediatamente após a constatação de desmatamento ilegal e a emissão do auto de infração, mesmo que lavrado por outros órgãos ambientais. O CAR suspenso só deve voltar à condição de "ativo" após a resolução do dano ambiental.

Outro ponto é sobre disciplinar o fluxo para que autos de infração, relatórios de fiscalização e outros documentos, incluindo arquivos vetoriais e coordenadas geográficas, sejam encaminhados ao Ministério Público Estadual. Por fim, a recomendação se refere à necessidade de criar um sistema eletrônico para inserir dados de autos de infração e relatórios de fiscalização, garantindo ao MPPE acesso integral, assim como articular cooperação com outras instituições para obter dados de proprietários de imóveis que não possuem o CAR para confirmar a autoria de supostas infrações ambientais.

A recomendação enfatiza que manter o CAR "ativo" para infratores permite que eles continuem a acessar subsídios governamentais e financiamentos, configurando um possível enriquecimento ilícito e fomentando a impunidade. 

A CPRH tem 20 dias, a partir do recebimento, para informar se acatou a recomendação e quais providências foram adotadas.

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>